摘要: 这场比赛当初是67(?)反正就是Cu滚粗了……先给个题目的传送门:http://wenku.baidu.com/link?url=mUxdsYomenU-e9SFVPacVtXysemiQA4KnP1EldVuYaB8ECiaLQN4VIAEc19MmHQWyopKLxhzWjWdIE_QrxDWi... 阅读全文
posted @ 2016-01-14 17:11 wangyurzee 阅读(298) 评论(1) 推荐(0) 编辑
摘要: 首先,块的大小确定的话,可以发现方案最多只有1种然后就可以O(nsqrt(n))搞,不过会TLE接着我们又发现,一个节点可以作一个块的根,当且仅当该节点的size能被块的大小整除然后就可以O(nlogn)搞了详见代码#include #include #include #include #inclu... 阅读全文
posted @ 2016-01-14 11:38 wangyurzee 阅读(745) 评论(0) 推荐(0) 编辑
摘要: 要求k个与原序列中的数不同,就是要求(n-k)个相同,令K=n-k然后cnt[i]表示序列a中i的倍数的个数f[i]表示gcd为i的倍数的方案数f[i]=C(cnt[i],K)*(m/i-1)^(cnt[i]-K)*(m/i)^(n-cnt[i])那么ans[i]=f[i]-sigma(ans[j]... 阅读全文
posted @ 2016-01-14 11:38 wangyurzee 阅读(163) 评论(0) 推荐(0) 编辑
摘要: hash大法好 #include #include #include #include #include #include #define N 55#define M 105using namespace std;inline int read(){ int ret=0;char ch=getch... 阅读全文
posted @ 2016-01-14 11:36 wangyurzee 阅读(432) 评论(0) 推荐(0) 编辑
摘要: 模板题之前还写了点铺垫题bzoj3223 教你如何reversebzoj1507 教你如何维护序列bzoj1269 教你如何维护序列&reverse然后再做这个题就好多啦#include #include #include #include #include #include #define N 5... 阅读全文
posted @ 2016-01-14 11:35 wangyurzee 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 数位dp先从1到162枚举各位数之和s[i][j][k][l]表示i位数,第一位小于等于j,当前各位数字和为k,当前取模余数为l的方案数然后脑补一下转移就行了详见代码#include #include #include #include #include #include #define ll lo... 阅读全文
posted @ 2016-01-14 11:35 wangyurzee 阅读(468) 评论(0) 推荐(0) 编辑