ACM学习
WA自动鸡
这个作者很懒,什么都没留下…
展开
-
ACM总模板
1.字符串 字符串hash //自然溢出法 //统计前缀出现次数 #define base 131 #define ull unsigned long long unordered_map<ull,int> mp; string a; void hash(char a[]){ int len=strlen(a); ull t=0; for(int i=0;i<len;i++){ t=t*base+a[i]-'a'+1; mp[t]++; } } //统计后缀出现次数 #原创 2021-09-15 19:39:10 · 294 阅读 · 0 评论 -
点分治
问题 给定一棵树和一个整数 k ,求树上等于 k 的路径有多少条? 点分治解决形似如上的问题,像是求树上所有的路径中满足某种条件的路径数 思想 根据目前所学的来看,点分治像一种思想,思想如下 考虑一颗树,从树的根(显然应是重心)到所有结点的 ...原创 2021-05-12 11:11:15 · 101 阅读 · 0 评论 -
数论推论【扩展欧几里得】
结论: 已知n个整数(ai>0a_i>0ai>0),从中任选两个数a,b相加,每个数使用次数不限。令a+b=ca+b=ca+b=c,若有两个数互质,则有[x,inf)[x,inf)[x,inf),使得c可取该区间任一整数原创 2021-04-15 21:34:32 · 66 阅读 · 0 评论 -
nth_element【STL】
求区间第k小: nth_element(a,a+k,a+n) 求区间第k大: nth_element(a,a+n-k,a+n) 复杂度:O(n) k范围:[0,n-1] /* 求区间[a[0],a[4]]的第0小值,此出输出1 */ int a[5]={3,2,1,4,5}; signed main() { nth_element(a,a+0,a+5); cout<<a[0]; return 0; } 参考:Link ...原创 2021-04-11 13:44:45 · 56 阅读 · 0 评论 -
矩阵快速幂加速递推
参考:Link原创 2021-04-11 13:06:18 · 77 阅读 · 0 评论