上一页 1 ··· 24 25 26 27 28 29 30 31 32 ··· 109 下一页

2020年2月11日

组合数学——cf893E

摘要: /* 不定方程 x1+...+xy=c 的正整数解有C(y+c-1,y-1)个 质因子分解后每种因子都独立算贡献,再相乘 最后因为可以随意加偶数个-1,所以再乘2^y-1 */ #include<bits/stdc++.h> using namespace std; #define ll long 阅读全文

posted @ 2020-02-11 21:51 zsben 阅读(287) 评论(0) 推荐(0) 编辑

前缀和+贪心+线段树——cf893D

摘要: /* 贪心策略: 如果检查的那天不用加,那就不加 反之加上尽可能多的钱 如何确定这个值? 处理出前缀和,第i天可以加的钱=d-[i+1,n]天里前缀和的最大值 加上这个值后,要再一次更新前缀和数组,用线段树维护前缀和数组即可 */ #include<bits/stdc++.h> using name 阅读全文

posted @ 2020-02-11 20:43 zsben 阅读(145) 评论(0) 推荐(0) 编辑

期望线性性+线段树双tag标记——cf895E

摘要: /* 从区间[l1,r1]取出一个数,这个数的期望值为 e1=(sum[r1]-sum[l1-1])/(r1-l1+1) 同理从区间[l2,r2]里取出一个数,这个数期望为 e2=(sum[r2]-sum[l2-1])/(r2-l2+1) 根据期望线性性,[l1,r1]里每个数被选中的概率是1/le 阅读全文

posted @ 2020-02-11 17:30 zsben 阅读(143) 评论(0) 推荐(0) 编辑

状压dp+数论——cf895C好题!

摘要: 把模数写成了1e9+9,气死我了 /* 1-70里只有19个质数,首先考虑状压dp 第i个质数出现奇数次,那么第i位为1,反之为0 每个数在质因子分解后都可以得到一个对应的mask dp[i][s]表示当前选的数是i,且其状态为s时的方案数 那么选择偶数个i对s的状态无影响,有C(cnti,0)+C 阅读全文

posted @ 2020-02-11 16:08 zsben 阅读(179) 评论(0) 推荐(0) 编辑

组合数计数+卡常优化+dp——cf895D

摘要: 大致思路是数位dp里当前位limit的那一套思想,从前往后递推计算,卡常数比较恶心 /* i:1->n 枚举第i位[a,z] 第i位<s[i]:那么后面就是个全排列,维护一个当前已经用掉的字符桶use,算出贡献直接加到答案里 算贡献:(n-i)!/(cnta-usea)!...(cntz-usez) 阅读全文

posted @ 2020-02-11 15:58 zsben 阅读(237) 评论(0) 推荐(0) 编辑

2020年2月10日

结论题+英语阅读理解——1266E

摘要: /* 给定数组a[],表示每种资源数目标量,一开始都是0 每次增,删,改一个三元组(s,t,u):如果资源s数量t,那么资源u+1,可链式增加 问每次修改后达到目标资源的最少用时 结论:直接开数组cnt[i]累计每种资源通过三元组增加的值,多出a[i]的部分去掉就是贡献 */ #include<bi 阅读全文

posted @ 2020-02-10 23:04 zsben 阅读(155) 评论(0) 推荐(0) 编辑

二维状态压缩——cf903F

摘要: 题解看这个https://blog.csdn.net/u013534123/article/details/78926568 状压的debug真的很烦 #include<bits/stdc++.h> using namespace std; int mask[5][5],n,a[5],dp[1010 阅读全文

posted @ 2020-02-10 21:20 zsben 阅读(175) 评论(0) 推荐(0) 编辑

分类讨论——cf903E

摘要: 模拟大讨论就完事了! #include<bits/stdc++.h> using namespace std; #define N 5005 int n,K,cnt[26],mx,tmp[26]; char s[N][N],t1[N],t2[N]; int judge(char *s,char *t 阅读全文

posted @ 2020-02-10 16:24 zsben 阅读(144) 评论(0) 推荐(0) 编辑

2020年2月8日

暴力枚举+数学——1267J

摘要: 冲就完事了 /* 把每种颜色的数量统计出来,并求出最小的数量Min 从Min+1开始降序枚举s,暴力判就行了 */ #include<bits/stdc++.h> using namespace std; #define N 2000006 int n,a[N],tot; map<int,int>m 阅读全文

posted @ 2020-02-08 23:09 zsben 阅读(163) 评论(0) 推荐(0) 编辑

组合数学+神坑——cf1267K

摘要: /* 首先求出multiset,设其大小是size,那么除数集合是[2,size+1] 对于multiset里面的某个余数x,其可能的除数集合就是[x+1,size+1] 将余数从大到小统计贡献 本题有一个坑:最后个余数的位置里不能填0,因为余数是0表示被除尽,那么商必不可能是0,所以其不可能是最后 阅读全文

posted @ 2020-02-08 22:02 zsben 阅读(217) 评论(0) 推荐(0) 编辑

上一页 1 ··· 24 25 26 27 28 29 30 31 32 ··· 109 下一页

导航