摘要: 如何解DP题-1 增加一堆条件:使得每个答案可以被计数某个恒定的次数。 分类讨论:考虑每种情况,列出一个清单。 找充分必要条件:找到一个答案合法的充分必要条件,要考虑每种情况! 设计转移方程:根据上面的条件,设计dp式与转移方程,可以以集合为参数。 优化转移方程:把集合改为集合大小/代表元,或用其他 阅读全文
posted @ 2021-05-20 20:47 frank3215 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 就快NOI了,写一些算法类的东西也没有什么用了……就让我分享一些有关vim的有趣用法吧。 基础 set nu ts=4 sw=4 cin mouse=a 把vim配置得像一个IDE的编辑模式。 分屏 用:sp和:vsp即可分屏。如没有参数,则默认是对目前正在编辑的文件分屏。 使用 假如有一道题是a, 阅读全文
posted @ 2021-05-20 20:45 frank3215 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 参考资料 WC2019讲义 生成函数,多项式算法与图的计数.pdf OI-Wiki cp-algorithms https://zhuanlan.zhihu.com/p/52718645 等等…… 指数型生成函数 数列${a_i}$的指数型生成函数(EGF)是$A(x)=\sum_^\infty\f 阅读全文
posted @ 2021-05-20 20:43 frank3215 阅读(406) 评论(0) 推荐(0) 编辑
摘要: 冰火战士 有关卡常 看到$2\times 10^6$:卡常???那我写树状数组!! 树状数组怎么二分?见这篇CF上的文章。 有关如何二分 用$a_i$表示温度为$i$的冰战士的 因为实际上求的是 \[ \max_i\left\{\min\left\{\sum_{j\le i}a_j,\sum_{j\ 阅读全文
posted @ 2021-05-20 20:39 frank3215 阅读(84) 评论(0) 推荐(0) 编辑
摘要: P5353 树上后缀排序 传送门 后缀数组 因为觉得题解区内的一些后缀数组做法的解释并没有解释到点子上,遂写此题解。 思路 注意这题字符串是从当前节点向上,编号却是从根向下…… 我们称一个字符串的净大小为这个字符串的值(不考虑编号)的大小,实际大小为按照题目所给判断方式的大小。 倍增构造SA,考虑需 阅读全文
posted @ 2021-05-20 20:35 frank3215 阅读(131) 评论(0) 推荐(0) 编辑
摘要: P3690 【模板】Link Cut Tree (LCT,动态树) Accepted 精简的模板 #include<bits/stdc++.h> using namespace std; const int N=3e5+9; inline int in(){ int x; scanf("%d", & 阅读全文
posted @ 2021-05-20 20:34 frank3215 阅读(49) 评论(0) 推荐(0) 编辑
摘要: P4717 【模板】快速沃尔什变换 (FWT) 给定长度为 \(2^n\) 两个序列 \(A,B\),设 \[ C_i=\sum_{j\oplus k = i}A_j \times B_k \] 分别当 \(\oplus\) 是 or,and,xor 时求出 \(C\)。\(n\le 17\)。 参 阅读全文
posted @ 2021-05-20 20:33 frank3215 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 参考文献 练手题 CF547E Mike and Friends。 后缀自动机 概念与符号 自动机,转移 终点/endpos/Right集合 parent/link/fail len/极长后缀 正确性 考虑构造aabab的SAM,每一个加入的字符会: 建立一些节点; 在一些节点的Right集合中加入 阅读全文
posted @ 2021-05-20 20:32 frank3215 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 快速乘 typedef long long ll; ll mul(ll a, ll b, ll p) { ll ans = (ll)((long double)a*b/p+0.5)-c*p; return ans<0?ans+p:ans; } Miller-Rabin ll qpow(ll a, l 阅读全文
posted @ 2021-05-20 20:27 frank3215 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 传送门 官方题解 解答 思路 为处理有关子树的询问,考虑dfs序+区间数据结构,原题可以抽象成以下两个操作: $[l_x,r_x]$区间加颜色$c$。 $[l_x,r_x]$区间查询颜色数之和。 为了解决1,只能将每种颜色分开处理……对每个颜色开一个称为$D_1$的数据结构,存储这个颜色有哪些区间被 阅读全文
posted @ 2021-05-20 20:13 frank3215 阅读(60) 评论(0) 推荐(0) 编辑