URAL 1654 Cipher Message 解题报告】的更多相关文章

题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1654 题意:简单的理解就是,把一个序列中相邻的且是偶数个相同的字符删除,奇数个的话就只保留一个.但是要注意,删除的过程中,可能会导致本来不相邻的相同字符变得相邻了,这时候也要删除.如果直接暴力:每次查看串中是否有相同的相邻字母,如果有就删去,然后继续从前向后查找,这样肯定会超时(O(N^2)). 优化的方法,利用栈的特殊结构O(N),从左向右扫描,判断当前的字符和栈顶元素是否相同,如果相同栈顶…
Long Long Message Description The little cat is majoring in physics in the capital of Byterland. A piece of sad news comes to him these days: his mother is getting ill. Being worried about spending so much on railway tickets (Byterland is such a big…
传送门 解题思路 因为要完全匹配,所以前七位必须保证相同,那么就可以把前7位提出来做一遍\(kmp\)匹配,最后的答案一定在这些位置里.考虑最后一位,可以把最后一位单独取出来,要计算的是最后一位相同的个数,那么就可以做两次\(fft\)得到\(haming dis\).先把\(b\)翻转,然后做一次,得到的是全为\(1\)的个数,再把\(a,b\)取反做一次,得到的是全为\(0\)的个数,然后扫一遍\(kmp\)后的匹配位置,取个最小值. 代码 #include<iostream> #incl…
转载请注明出处,谢谢http://blog.csdn.net/ACM_cxlove?viewmode=contents    by---cxlove 题意 :给出两个串A , B,每个串是若干个byte,A串的每个byte的最后一个bit是可以修改的.问最少修改多少,使得B串是A的一个子串. 2013年NEERC的题.......感觉[buaa]sd0061教我做这题. NEERC是毛子题,但是这套题感觉除了题面很难读之外,并不是很难... 目前为止,J题貌似全队都没看题,E题还在WA中,其它题…
题目 神题. 记得当初DYF和HZA讲过一个FFT+KMP的题目,一直觉得很神,从来没去做. 没有真正理解FFT的卷积. 首先考虑暴力. 只考虑前7位 KMP 找出所有 B 串可以匹配 A 串的位置. 设 a(i) = A(i) & 1, b(i) = B(i) & 1 然后相当于求所有的 c(i) =  ∑k=0m-1 a(i+k) * b(k) 考虑卷积形式: c(i) =  ∑k=0m-1 a(k) * b(i - k) 将b串反过来 c(i) = ∑k=0m-1  a(k) * b…
题面传送门 题目大意:给你两个$01$串$a$和$b$,每$8$个字符为$1$组,每组的最后一个字符可以在$01$之间转换,求$b$成为$a$的一个子串所需的最少转换次数,以及此时是从哪开始匹配的. FFT怎么变成字符串算法了 每组的前$7$个字符是不能动的,所以把它压成一个数,用$kmp$求出$b$可能作为$a$子串的所有结束位置 求最少的转换次数呢,把$a,b$串每一组的最后一位取出来分别组成新串,再把$b$的新串反转求卷积即可 反转$b$串的目的是,让答案出现在同一个系数里,算是$FFT$…
Cipher Message Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Description Müller tried to catch Stierlitz red-handed many times, but always failed because Stierlitz could ever find some excuse. Once Stierlitz was looking…
2011 ACM-ICPC 成都赛区解题报告 首先对F题出了陈题表示万分抱歉,我们都没注意到在2009哈尔滨赛区曾出过一模一样的题.其他的话,这套题还是非常不错的,除C之外的9道题都有队伍AC,最终冠军7题,与我们的预期非常接近. Problem A: Alice and Bob 出题人:章雍哲 (特别感谢Evolution队对该题解法的贡献) 这道题正规的做法需要讨论各种情况: 1)       没有1的情形,很显然,只需讨论(sum+n)的奇偶性 2)       全1的情形,对1的数量模3…
P1978神奇的幻方 Accepted 描述 幻方是一种很神奇的 N ∗ N 矩阵:它由数字 1,2,3, … … , N ∗ N 构成,且每行.每列及两条对角线上的数字之和都相同. 当 N 为奇数时,我们可以通过以下方法构建一个幻方: 首先将 1 写在第一行的中间. 之后,按如下方式从小到大依次填写每个数 K(K = 2,3, … , N ∗ N) : 若 (K − 1) 在第一行但不在最后一列,则将 K 填在最后一行, (K − 1) 所在列的右一列: 若 (K − 1) 在最后一列但不在第…
过了这么久才来发解题报告,蒟蒻实在惭愧 /w\ Day1 T1 [思路] 模拟 [代码] #include<iostream> #include<cstring> #include<queue> #include<cmath> #define FOR(a,b,c) for(int a=(b);a<=(c);a++) using namespace std; ; int G[maxn][maxn]; int n,m; int main() { cin&g…