08 2017 档案

摘要:一般遇到多串问题,就用不同的符号把他们接起来,当成一个串来处理。 如A串是"aaaba",B串是“abaa"。 把height数组按照不小于K分组,假设K = 2。从前向后扫描,对于每一组中的每个B,考虑前面A对其的贡献。 可以用栈来维护A的值。当要入栈的height值大于栈顶的值,统计得到的子串的 阅读全文
posted @ 2017-08-11 21:28 卷珠帘 阅读(183) 评论(0) 推荐(0) 编辑
摘要:http://poj.org/problem?id=3693 整体思路就是枚举长度L,看长度为L的字符串在s中连续出现了几次。 既然长度为L的串是重复出现的,那么s[0]…s[L]…s[2*L]…中相邻的两个一定出现在重复的L串中。(并不一定在首尾位置,也可能出现在中间)。 那么我们求i*L和(i+ 阅读全文
posted @ 2017-08-11 19:13 卷珠帘 阅读(270) 评论(0) 推荐(0) 编辑
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=4691 留个板子。 阅读全文
posted @ 2017-08-10 16:24 卷珠帘 阅读(271) 评论(0) 推荐(0) 编辑
摘要:好长时间没有遇到这种问题了,以前虽然知道scanf比cin快,但是没想到快这么多,见图。 50万的数据。 scanf输入: cin输入: 网上说用std::ios::sync_with_stdio(false);可以优化。优化完的速度: 还和纯scanf差好多。 阅读全文
posted @ 2017-08-09 19:31 卷珠帘 阅读(1966) 评论(0) 推荐(0) 编辑
摘要:单求原根个数phi[phi[n]]. 求具体原根,一步一步来。 阅读全文
posted @ 2017-08-04 17:30 卷珠帘 阅读(183) 评论(0) 推荐(0) 编辑
摘要:欧拉函数,线性素数筛,分解质因数。 阅读全文
posted @ 2017-08-04 16:03 卷珠帘 阅读(163) 评论(0) 推荐(0) 编辑
摘要:1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 typedef long long ll; 8 const int maxn = 1e6+5; 9 bool flag[maxn]; //标记数组 10 ll phi[maxn]; //欧拉函数值 11 int... 阅读全文
posted @ 2017-08-04 16:00 卷珠帘 阅读(147) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示