Processing math: 3%
摘要: 图论 SCC void tarjan(int u) { static int top = 0; low[u] = dfn[u] = ++tim; stk[++top] = u; in[u] = 1; for (int i = G1.head[u]; i != -1; i = G1.nxt[i]) { 阅读全文
posted @ 2021-04-07 08:02 关怀他人 阅读(211) 评论(0) 推荐(0)
摘要: CF 666E Solution 首先对Ti建出广义SAM,预处理出S的前缀S[1...r]S在SAM里能匹配上的最长后缀的长度以及它匹配到的位置,每次查询的时候从S[1...r]匹配到的位置开始,在parent树上倍增,找到len最小的节点,使得$len_u \geq r-l 阅读全文
posted @ 2021-02-08 13:53 关怀他人 阅读(182) 评论(0) 推荐(0)
摘要: 多项式 预备知识 多项式的表示方法 系数表示法 将n次多项式A(x)的系数a_0,a_1,⋯,a_n看作n+1维向量\vec =(a_0,a_1,⋯,a_n)其系数表示就是向量 \vec点值表示法 点值表示法 选取n+1个不同的数x_0,x_1,⋯,x_n对多项式进行 阅读全文
posted @ 2021-01-23 21:21 关怀他人 阅读(199) 评论(0) 推荐(0)
摘要: ARC 096D Solution 首先不难发现p_i构成了一个树形结构,可以转化为每个点的代价是子树里所有点的m_i之和,价值是子树的节点个数,1号点可以选任意个,其他点最多选d个,求最大价值。 先考虑一个贪心,记w_i为代价,v_i为价值,先把所有点按\frac从小到 阅读全文
posted @ 2020-12-29 14:35 关怀他人 阅读(170) 评论(0) 推荐(0)
摘要: AGC 023E Solution 首先考虑如何计算排列p的个数,设cnt[i]表示a_j\geq i的个数,那么满足条件的排列p的总数tot就是tot=\prod cnt[i]−(n−i),这是因为考虑从n开始填数,对于每个数字i,它一共有cnt[i]个位置可以 阅读全文
posted @ 2020-12-21 09:13 关怀他人 阅读(177) 评论(0) 推荐(0)
点击右上角即可分享
微信分享提示