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

2020年2月16日

lca树上路径+思维——cf1304E

摘要: /* 由于可以在一条边上反复横跳,所以只要考虑奇偶性和k够不够大的问题 a->b只有两种策略可以走: 直接走lca或者经过边(a,b),第二种只要让x->a,y->b或(x->b,y->a),然后再+1就是最短路径长度 */ #include<bits/stdc++.h> #include<vect 阅读全文

posted @ 2020-02-16 15:17 zsben 阅读(120) 评论(0) 推荐(0) 编辑

2020年2月15日

【模板】几何模板

摘要: #define mp make_pair #define fi first #define se second #define pb push_back typedef double db; const db eps=1e-6; const db pi=acos(-1); int sign(db k 阅读全文

posted @ 2020-02-15 13:35 zsben 阅读(188) 评论(0) 推荐(0) 编辑

暴力dp+状态设计思维——cf1303E

摘要: 感觉这一题的状态设计很有讲究 一开始的思路是枚举s的前半部分,去贪心的匹配t串,然后再看剩余部分是否可以匹配t的后半部分 但这种思路显然是错的(样例都过不了),原因是可能t后半部分的某个特征串只在s中(对应的一个特征序列)出现了一次, 但是这个s中的特征序列由于被t前半部分贪心的匹配,被打破了,所以 阅读全文

posted @ 2020-02-15 12:27 zsben 阅读(168) 评论(0) 推荐(0) 编辑

2020年2月14日

模拟——cf1301D

摘要: #include<bits/stdc++.h> using namespace std; #define ll long long int n,m,k,tot; vector<char>v[10005];//先把连续动作放在v里 struct Step{ string s; int loop; St 阅读全文

posted @ 2020-02-14 23:14 zsben 阅读(181) 评论(0) 推荐(0) 编辑

FFT+容斥+生成函数——hdu4609

摘要: /* 生成函数+FFT/NTT+容斥计数 求(i,j,k)组合,使得a[i],a[j],a[k]可以组成三角形 先给a排个序,然后用cnt数组统计, 假设以每条边a[k]作为最大边(不是数值最大,是排序后位置最靠右),剩下两条边就要满足a[i]+a[j]>a[k] 那么满足这个条件的对数就可以通过F 阅读全文

posted @ 2020-02-14 22:16 zsben 阅读(261) 评论(0) 推荐(0) 编辑

NTT快速数论变换入门

摘要: 前置技能:原根的一些定理 https://www.cnblogs.com/Sakits/p/8416918.htm https://blog.csdn.net/ACdreamers/article/details/39026505l 阅读全文

posted @ 2020-02-14 18:55 zsben 阅读(116) 评论(0) 推荐(0) 编辑

2020年2月13日

FFT入门及其应用

摘要: 系列博客 https://www.cnblogs.com/2016gdgzoi471/p/9476883.html FFT原理详解,包含大数乘法的代码 https://www.cnblogs.com/RabbitHu/p/FFT.html 多项式乘法:就是套一套板子: #include<iostre 阅读全文

posted @ 2020-02-13 17:26 zsben 阅读(324) 评论(0) 推荐(0) 编辑

二进制拆分+贪心——cf1303D

摘要: /* 先把n二进制拆分,用map保存a[i]出现次数 然后从低位到高位去凑n 对于n某位是1的位数i 考虑mp里是否有1<<i 如果没有,考虑mp里比i低位的数能否凑出i, 如果还是没有,就从高位去拆,只有这种情况下,才会对答案有贡献 */ #include<bits/stdc++.h> using 阅读全文

posted @ 2020-02-13 01:16 zsben 阅读(252) 评论(0) 推荐(0) 编辑

2020年2月12日

强连通缩点+拓扑图上dp——cf894E

摘要: /* 强连通缩点后得到一个拓扑图 把这个拓扑图取反,在图上进行dp,最后dp[s]就是答案 */ #include<bits/stdc++.h> using namespace std; #define N 2000006 #define ll long long struct Edge{ ll t 阅读全文

posted @ 2020-02-12 19:06 zsben 阅读(167) 评论(0) 推荐(0) 编辑

完全二叉树+暴力预处理+归并排序——cf894D

摘要: /* 结点i的左儿子是2i,右儿子是2i+1 那么显然这是一棵完全二叉树。 由于没有很好直接查询的办法,所以先考虑预处理一下这棵树 根据完全二叉树的性质,sum{size[i]}<=nlogn,所以直接用vector存下结点的所有孩子,自底向上对到子树距离归并排序 这样预处理完后,对于每个询问(A, 阅读全文

posted @ 2020-02-12 15:51 zsben 阅读(178) 评论(0) 推荐(0) 编辑

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

导航