edu94div2专题

CF Edu94Div2(1400)C Binary String Reconstruction

题面 题目大意 有一个01串w,还知道一个定值x 通过这个串可以生成一个新的01串s,长度与w相同,方法如下: (假设n是串的长度) if (i-x>=1 && w[i-x]) s[i]=1;else if (i+x<=n && w[i+x]) s[i]=1;else s[i]=0; 现在知道生成的串s,求原串w,如果无解输出-1 题解 还是一道比较好想的题 观察发现,如果s[i

CF Edu94Div2(1400)B RPG Protagonist

题面 题目大意 现在知道p,f,cnts,cntw,s,w的值(从数据中输入) 并且有四个未知数s1,s2,w1,w2 在满足一下4个条件的情况下 求s1+s2+w1+w2的最大值 s1*s+w1*w<=ps2*s+w2*w<=fs1+s2<=cntsw1+w2<=cntw 题解 假设s<w 可以枚举s1,然后根据贪心算出w1,s2,w2的值,如下: w1=min(cntw,(

CF Edu94Div2(1400)A String Similarity

题面 题目大意 给出字符串s,长度为2*n-1 定义两个01串(a和b)相似为:存在一个位置i,使得a[i]=b[i] 求一个01串w,使得w和s[1…n],s[2…n+1],s[n…2*n-1]这n个串相似 数据保证有解 题解 看到网上有神仙构造法,这里讲一下我的解法 考虑到两个01串不相似,当且仅当一个串是另一个串的取反,那么对于从s中截取的n个串,它们取反后的串是不能选的,剩