03 2017 档案
摘要:【bzoj1030】: [JSOI2007]文本生成器 首先把匹配任意一个的个数的问题转化为总个数-没有一个匹配的个数 先构造AC自动机,然后枚举每一位的字母以及在自动机上的位置 f[i][j]为第i位在j的位置且没有匹配过任何一个串的个数 然后26^m-sum(f[m][j])就是答案 还有就是当
阅读全文
摘要:【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
阅读全文
摘要:【bzoj3172】: [Tjoi2013]单词 先用所有单词构造一个AC自动机 题目要求的是每个单词在这个AC自动机里匹配到的次数 每次insert一个单词的时候把路径上的cnt++ 那么点p->cnt就是以root到p这条路径为前缀的单词的个数 如果p->fail指向了点q,那么就会对q点产生p
阅读全文
摘要:【bzoj3209】: 花神的数论题 首先二进制数中1的个数最多就是64个 设所有<=n的数里二进制中1的个数为i的有a[i]个 那么答案就是 然后快速幂 求a[i]可以用DP 设在二进制中从高到低考虑到第k位,第k位之前的1的个数是cnt,n总共有len位 若第k位==1 那么 a[cnt+j]+
阅读全文
摘要:【bzoj1951】: [Sdoi2010]古代猪文 因为999911659是个素数 欧拉定理得 然后指数上中国剩余定理 然后分别lucas定理就好了 注意G==P的时候的特判 1 /* http://www.cnblogs.com/karl07/ */ 2 #include <cstdlib> 3
阅读全文
摘要:【bzoj1853】: [Scoi2010]幸运数字 预处理出所有幸运数字然后容斥原理 但是幸运数字是2logn个数的 直接搞会炸 所以把成倍数的处理掉 然后发现还是会T 所以数字要从大到小处理会快很多 我也不知道为什么 还有就是剪枝的时候要开double 不然爆longlong 1 /* http
阅读全文
摘要:【bzoj2190】: [SDOI2008]仪仗队 在第i行当且仅当gcd(i,j)=1 可以被看到 欧拉函数求和 没了 1 /* http://www.cnblogs.com/karl07/ */ 2 #include <cstdlib> 3 #include <cstdio> 4 #includ
阅读全文
摘要:【bzoj2751】[HAOI2012]容易题(easy) 先考虑k=0的情况 那么第一个元素可能为[1,n] 如果序列长度为m-1时的答案是ans[m-1] 那么合并得 然后同理答案就是 k很小 而且顺序可以随便交换 排序暴力减去就好了 1 /* http://www.cnblogs.com/ka
阅读全文
摘要:【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:
阅读全文
摘要:【bzoj1965】: [Ahoi2005]SHUFFLE 洗牌 观察发现第x张牌 当x<=n/2 x=2x 当x>n/2 x=2x-n-1 好像就是 x=2x mod (n+1) 就好了 1 /* http://www.cnblogs.com/karl07/ */ 2 #include <cstd
阅读全文
摘要:【bzoj3813】: 奇数国 题意:给定一个序列,每个元素可以分解为最小的60个素数的形式。(x=p1^k1*p2^k2*......p60^k60)(p1=2,p2=3,…,p60=281) 支持单点修改,查询一段区间的积的欧拉函数 mod 19961993(是一个质数)。 线段树维护区间积x,
阅读全文
摘要:【bzoj2818】: Gcd 考虑素数p<=n gcd(xp,yp)=p 当 gcd(x,y)=1 xp,yp<=n满足条件 p对答案的贡献: 预处理前缀和就好了 1 /* http://www.cnblogs.com/karl07/ */ 2 #include <cstdlib> 3 #incl
阅读全文
摘要:【bzoj3122】: [Sdoi2013]随机数生成器 当a>=2 化简得 然后 BSGS 求解 其他的特判 : 当 x=t n=1 当 a=1 当 a=0 判断b==t 1 /* http://www.cnblogs.com/karl07/ */ 2 #include <cstdlib> 3 #
阅读全文
摘要:【bzoj2242】: [SDOI2011]计算器 1.快速幂 2.扩展欧几里得(费马小定理) 3.BSGS 1 /* http://www.cnblogs.com/karl07/ */ 2 #include <cstdlib> 3 #include <cstdio> 4 #include <cst
阅读全文

浙公网安备 33010602011771号