备战2013
zck921031
这个作者很懒,什么都没留下…
展开
-
SCU 4320: File Recover
题意是问给定字符串中出现超过一次的不同子串有多少个。 显然可以用后缀自动机来搞。知道自动机中后缀转移的性质,不难实现沿fail指针统计不同子串个数。 #include #pragma GCC optimize ("O2") #include #include #include #include #include using namespace std; typedef long long原创 2013-10-13 22:05:58 · 801 阅读 · 0 评论 -
叉姐的Noip模拟题
一个平凡的事实是,与或非等位运算,每个位是独立的。 所以只要分析其中某一位就行了。 只看某一位,实际就是一个取余的统计,再看对2的余数既可,不多说。原创 2013-10-13 22:12:24 · 1244 阅读 · 0 评论 -
SCU 4311: Sum of LCM
考虑整除关系上的一对容斥,又叫莫比乌斯反演。 首先要会求gcd(i,j)=k [1 对每个k,有平凡等式gcd(i,j)*lcm(i,j)=i*j。故lcm(i,j)=i*j/k 所以我们用莫比乌斯反演算出gcd(i,j)=k 的sum(i*j)既可。又根据独立性可以分离成sum(i)*sum(j),随手搞就行了。O(nlgn)不卡时间原创 2013-10-13 22:18:31 · 1003 阅读 · 1 评论 -
SCU 4315: Sequence
异或运算每位独立。 分析某一位,很容易发现从左边开始,每次加入一个0,总的1不变,0多一个;反之亦然。 这样扫一遍,就处理一个位。处理31位既可(signed int)原创 2013-10-13 22:21:44 · 854 阅读 · 0 评论 -
叹
校网上csdn非常卡,我又不会再csdn中用mathjax,还经常点发布的时候卡死。 为了备战今年的regional,最终还是觉得在此记下一些思路。文章写的挫,见谅。原创 2013-10-13 22:02:18 · 654 阅读 · 0 评论