Codeforces 1213E Two Small Strings】的更多相关文章

cf题面 中文题意 给个n,再给两个长度为2的字符串,要求构造一个长度为\(3n\)的字符串,a.b.c三个字母各n个,且构造出的字符串子串中不能出现给定的两个字符串.如果不存在这样的字符串,就输出NO 解题思路 首先生成a.b.c的6个全排列,然后,每种全排列以两种方式扩大n倍--举个例子,n为3时,对于acb,可以扩展成这两种:acbacbacb.aaacccbbb.然后依次检查这12种字符串是否有满足要求的,有就输出,没有就代表没有了(可以考虑字符串排列的内部以及扩展后字符串之间的边界)…
题目链接:Codeforces 385B Bear and Strings 记录下每一个bear的起始位置和终止位置,然后扫一遍记录下来的结构体数组,过程中用一个变量记录上一个扫过的位置,用来去重. #include <iostream> #include <cstdio> #include <cstring> using namespace std; const int MAX_N = 5000 + 100; char str[MAX_N]; struct Node…
题目链接:Codeforces 482C Game with Strings 题目大意:给定N个字符串,如今从中选定一个字符串为答案串,你不知道答案串是哪个.可是能够通过询问来确定, 每次询问一个位置上字符为多少. 如今你询问的每一个位置的概率是同样的,(问过的位置不会再问).求询问次数的期 望. 解题思路:由于字符串长度不会大于20.所以用二进制表示询问了哪些位置.C[s]即为询问s的位置能够确定多少个字 符串. 这步不能通过枚举s,然后推断处理,复杂度为o(2^20 * 20 * 50),太…
time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard output Today on a lecture about strings Gerald learned a new definition of string equivalency. Two strings a and b of equal length are called equivalen…
Alyona and Strings 题目链接: http://acm.hust.edu.cn/vjudge/contest/121333#problem/D Description After returned from forest, Alyona started reading a book. She noticed strings s and t, lengths of which are n and m respectively. As usual, reading bored Aly…
A. Vitaly and Strings time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Vitaly is a diligent student who never missed a lesson in his five years of studying in the university. He always does…
正反两遍扩展KMP,维护公共长度为L时.出如今最左边和最右边的位置. . .. 然后枚举推断... E. Martian Strings time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output During the study of the Martians Petya clearly understood that the Mart…
F - Isomorphic Strings 思路:字符串hash 对于每一个字母单独hash 对于一段区间,求出每个字母的hash值,然后排序,如果能匹配上,就说明在这段区间存在字母间的一一映射 代码: #include<bits/stdc++.h> using namespace std; #define fi first #define se second #define pi acos(-1.0) #define LL long long //#define mp make_pair…
You are given n strings ti. Each string has cost ci. Let's define the function of string , where ps, i is the number of occurrences of s in ti, |s| is the length of the string s. Find the maximal value of function f(s) over all strings. Note that the…
http://codeforces.com/contest/923/problem/D 题意: A-->BC , B-->AC , C-->AB , AAA-->empty 问指定串S是否能变成目标串T 发现1:B与C等价 B-->AC-->AAB-->AAAC-->C C-->AB-->AAC-->AAAB-->B 发现2:B前面的A可以消去 AB-->AAC-->AAAB-->A 新的变换: A-->BB…
Discription Levko loves strings of length n, consisting of lowercase English letters, very much. He has one such string s. For each string t of length n, Levko defines its beauty relative to s as the number of pairs of indexes i, j (1 ≤ i ≤ j ≤ n), s…
题目链接:http://codeforces.com/problemset/problem/385/B 题目意思:给定一条只有小写英文组成的序列,需要找出至少包含一个“bear”的单词的子序列个数.注意,子序列的下标编号是连续的,也就是sisi + 1... sj ,不是这种sisk... sj .(k!=i+1) 我的做法是每找到一个“bear”就计算出它的组合数,累加所有找到的“bear ”组合数即为答案.假设序列长度为len,先用string中的substr()来找出单词“bear”中“b…
题目链接: C. Simple Strings time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output zscoder loves simple strings! A string t is called simple if every pair of adjacent characters are distinct. For exa…
题意:若一个字符串集合里的每一个字符串都至少有一个字符满足在i位上,仅仅有它有,那么这个就是合法的,给出全部串的每一个字符修改的花费,求变成合法的最小代价. 做法:dp[i][j].前i个串的状态为j时的最小花费.j:状压表示已经合法的是哪些串. 能够知道.若j前有i个1,那么訪问它就是多余的,所以去掉i,枚举j就可以. 对于一个串的i位.若考虑它为这个串的唯一标识.那么无非是改变它为唯一字符,或者改变其它串在i位跟它同样的字符,又由于改变其它串的字符.能够贪心成顺便也都把它们变成合法的,所以若…
题目链接: http://codeforces.com/gym/101161/attachments 题意: $T$组数据 每组数据包含$L,R,K$ 计算$\sum_{k|n}^{}F(n)$ 定义$F(n)$为斐波那契数列第$n$项 数据范围: $1\leq T\leq 10000$ $1\leq L\leq 10^{18}$ $1\leq R\leq 10^{18}$ 分析: 博客来源:https://blog.csdn.net/qq_41552508/article/details/97…
题目大概说给两个字符串s和t,然后要求一个包含k个字符串的序列,而这个序列是两个字符串的公共子序列,问这个序列包含的字符串的总长最多是多少. 如果用DP解,考虑到问题的规模,自然这么表示状态: dp[i][j][k]表示s[0...i]与t[0...j]包含k个字符串的公共子序列的最大总长 想怎么转移时,我发现这样表示状态不好转移,还得加一维: dp[i][j][k][0]表示s[0...i]与t[0...j]包含k个字符串的公共子序列的最大总长,且s[i]和t[j]不属于序列第k个字符串 dp…
#include <cstdio> #include <iostream> #include <ctime> #include <vector> #include <cmath> #include <map> #include <stack> #include <queue> #include <algorithm> #include <cstring> using namespace…
题目链接:点击打开链接 题意: 给定长度为n的字符串s,常数k 显然s的子串一共同拥有 n(n-1)/2 个 要求找到一个长度为n的字符串t,使得t相应位置的k个子串字典序>s #include<stdio.h> #include<iostream> #include<string.h> #include<algorithm> #include<vector> #include<set> using namespace std;…
意甲冠军: n一定长度m串  隐藏的字符串相等的概率  然后,你猜怎么着玩家隐藏的字符串  的询问字符串的一个位置  再不断的知道一些位置后  游戏者就能够确定藏起来的串是什么  问  游戏者的期望步数 思路: 能够说是一道概率题  也能够说是期望题  总之感觉题目不错- 首先假设我们枚举藏起来的串是哪个(复杂度n)  然后利用状压去dp维护猜某些位的状态的概率  以及对于那个状态剩下哪些串是无法辨别的(复杂度m*2^m)  那么复杂度为 O(nm2^m) 这样就会TLE 接着思考  事实上问题…
题意:给n个串ti,ps,i是s在ti中出现的次数,要求找到s,使得\(\sum_{i=1}^nc_i*p_{s,i}*|s|\)最大 题解:sam裸题,每次插入时相当于在fail链上到1的位置加ci,最后统一乘该节点状态的长度,我居然写了个lct维护!= =还wa了....后来发现打个标记topo一下即可 //#pragma GCC optimize(2) //#pragma GCC optimize(3) //#pragma GCC optimize(4) //#pragma GCC opt…
题面戳我 Solution 我们按照每个字母出现的位置进行\(hash\),比如我们记录\(a\)的位置:我们就可以把位置表示为\(0101000111\)这种形式,然后进行字符串\(hash\) 每次查询时,我们就把两个子串的每个字母的\(hash\)值,取出来,判断能否一一对应即可 为啥我的常数那么大,2700ms Code //It is coded by ning_mew on 7.23 #include<bits/stdc++.h> #define LL long long usin…
题意:一个矩阵上面有0~9的数字,可以从任意一个格子出发,每次根据格子上的数字会前进到另一个格子(或原地不动),现在给出q个数位串,问是否有走法可以取出这个串(走到格子上的时候可以不取). 思路:发现每个点的出度至多为1,那么可以预处理出走到这个格子后取某个数字最近的格子是哪个(f[i][j][0-9]),然后用队列存下开头,在做一遍贪心就可以了 #include<cstdio> #include<cmath> #include<cstring> #include<…
感觉自己好咸鱼呀……B题写了这么久,虽然可以算作1A(忽略一次少include一个头文件的CE)…… 思想很简单,每次选定一个字符串作为目标字符串,然后把其他所有字符串都当做测试字符串,计算出总共需要的步数,再在这些计算出的步数中找到最小的那个就是答案. #include<cstdio> #include<iostream> #include<cstring> using namespace std; ][]; int n; bool is_equal(char sta…
题意:给定两个相同长度的字符串,让你找出一个字符串,字典序在两都之间. 析:这个题当时WA了好多次,后来才发现是这么水,我们只要把 s 串加上,然后和算数一样,该进位进位,然后再和 t 比较就行. 代码如下: #include <iostream> #include <cstdio> #include <algorithm> #include <vector> #include <set> #include <cstring> #in…
[链接] 我是链接,点我呀:) [题意] 题意 [题解] 注意只能改变a不能改变b 然后只要让a[i],b[i],a[n-i-1],b[n-i-1]这4个字符能凑成两对.全都一样就可以了 分类讨论下就好 [代码] #include <bits/stdc++.h> #define ll long long using namespace std; const int N = 300; int n; string s1,s2; map<char,int> dic,dic1; int m…
有的DP题,某一部分的状态只有两种,选或不选. 开数组记录,代价太大,转移不方便. 状态压缩意为,用 “0/1“ 表示 “选/不选“ . 把状态表示为二进制整数. There are 10 kinds of people in the world, who knows binary and who doesn't. 用位运算判断条件并转移状态. hdu 6149 Valley Numer II 题目传送门 用f[i][j]表示选到前i个点,状态为j的答案. 枚举其他两个高点. 转移之前判断之前是…
Equivalent Strings Problem's Link: http://codeforces.com/contest/559/problem/B Mean: 给定两个等长串s1,s2,判断是否等价. 等价的含义为: 若长度为奇数,则必须是相同串. 若长度是偶数,则将两串都均分成长度为原串一半的两个子串l1,r1和l2,r2,其中l1和l2等价且r1和r2等价,或者l1和r2等价且l2和r1等价. analyse: 直接按照题意模拟写个递归分治就行.比赛的时候总觉得这样暴力写会TLE,…
D. Equivalent Strings Time Limit: 2 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/559/problem/B Description Today on a lecture about strings Gerald learned a new definition of string equivalency. Two strings a and b of equal length are…
题目传送门 /* 题意:一个字符串分割成k段,每段开头字母不相同 水题:记录每个字母出现的次数,每一次分割把首字母的次数降为0,最后一段直接全部输出 */ #include <cstdio> #include <iostream> #include <cstring> #include <string> #include <algorithm> using namespace std; ; const int INF = 0x3f3f3f3f;…
B. Equivalent Strings Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/559/problem/B Description Today on a lecture about strings Gerald learned a new definition of string equivalency. Two strings a and b of equal length are…