摘要: 【bzoj2434】: [Noi2011]阿狸的打字机 x串在y串上的匹配次数就是y在自动机所有节点上能够通过fail走到x最后一个节点的个数 (就是y串任意一个前缀的后缀能匹配到x的个数)和【bzoj3172】: [Tjoi2013]单词差不多 把fail指针反向就是x的子树的和 用dfs序+BI 阅读全文
posted @ 2017-04-01 20:25 karl07 阅读(245) 评论(0) 推荐(0)
摘要: 【bzoj1030】: [JSOI2007]文本生成器 首先把匹配任意一个的个数的问题转化为总个数-没有一个匹配的个数 先构造AC自动机,然后枚举每一位的字母以及在自动机上的位置 f[i][j]为第i位在j的位置且没有匹配过任何一个串的个数 然后26^m-sum(f[m][j])就是答案 还有就是当 阅读全文
posted @ 2017-03-31 20:25 karl07 阅读(153) 评论(0) 推荐(0)
摘要: 【bzoj4800】: [Ceoi2015]Ice Hockey World Championship N<=40所以如果直接dfs背包会TLE 考虑Meet-in-the-middle 如果把N个物品分成前后A B两段分别背包 分别在A B中可行的方案的花费记录在a b中 答案就是a[i]+b[j 阅读全文
posted @ 2017-03-31 12:29 karl07 阅读(214) 评论(0) 推荐(0)
摘要: 【bzoj3172】: [Tjoi2013]单词 先用所有单词构造一个AC自动机 题目要求的是每个单词在这个AC自动机里匹配到的次数 每次insert一个单词的时候把路径上的cnt++ 那么点p->cnt就是以root到p这条路径为前缀的单词的个数 如果p->fail指向了点q,那么就会对q点产生p 阅读全文
posted @ 2017-03-29 21:15 karl07 阅读(380) 评论(0) 推荐(0)
摘要: 【bzoj3209】: 花神的数论题 首先二进制数中1的个数最多就是64个 设所有<=n的数里二进制中1的个数为i的有a[i]个 那么答案就是 然后快速幂 求a[i]可以用DP 设在二进制中从高到低考虑到第k位,第k位之前的1的个数是cnt,n总共有len位 若第k位==1 那么 a[cnt+j]+ 阅读全文
posted @ 2017-03-26 03:46 karl07 阅读(231) 评论(0) 推荐(0)
摘要: 【bzoj1951】: [Sdoi2010]古代猪文 因为999911659是个素数 欧拉定理得 然后指数上中国剩余定理 然后分别lucas定理就好了 注意G==P的时候的特判 1 /* http://www.cnblogs.com/karl07/ */ 2 #include <cstdlib> 3 阅读全文
posted @ 2017-03-24 22:47 karl07 阅读(185) 评论(0) 推荐(0)
摘要: 【bzoj1853】: [Scoi2010]幸运数字 预处理出所有幸运数字然后容斥原理 但是幸运数字是2logn个数的 直接搞会炸 所以把成倍数的处理掉 然后发现还是会T 所以数字要从大到小处理会快很多 我也不知道为什么 还有就是剪枝的时候要开double 不然爆longlong 1 /* http 阅读全文
posted @ 2017-03-22 19:26 karl07 阅读(172) 评论(0) 推荐(0)
摘要: 【bzoj2190】: [SDOI2008]仪仗队 在第i行当且仅当gcd(i,j)=1 可以被看到 欧拉函数求和 没了 1 /* http://www.cnblogs.com/karl07/ */ 2 #include <cstdlib> 3 #include <cstdio> 4 #includ 阅读全文
posted @ 2017-03-22 19:09 karl07 阅读(179) 评论(0) 推荐(0)
摘要: 【bzoj2751】[HAOI2012]容易题(easy) 先考虑k=0的情况 那么第一个元素可能为[1,n] 如果序列长度为m-1时的答案是ans[m-1] 那么合并得 然后同理答案就是 k很小 而且顺序可以随便交换 排序暴力减去就好了 1 /* http://www.cnblogs.com/ka 阅读全文
posted @ 2017-03-21 19:14 karl07 阅读(143) 评论(0) 推荐(0)
摘要: 【bzoj2186】: [Sdoi2008]沙拉公主的困惑 考虑当 gcd(a,b)=1 则 gcd(nb+a,b)=1 所以[1,N!]与M!互质的个数就是 筛出[1,M]所有的素数p[i] 以及逆元 p[i]-1 处理一下前缀积inv[x]= 然后答案就是N!*inv[x] 1 /* http: 阅读全文
posted @ 2017-03-19 23:27 karl07 阅读(166) 评论(0) 推荐(0)