Loading

摘要: 2590-树的统计 无语。。开读入优化结果读入炸了。。。 看起来是时候换成快读了... 本题也是一个树链剖分模版,维护树上的单点修改和区间最值,区间和的查询。 注意有负值,在初始化比较数的时候要设成-inf。 树链剖分实际上就是一遍dfs跑出所有点的深度,父节点,子树size,重链子节点这些基本信息 阅读全文
posted @ 2021-04-01 21:20 14long 阅读(53) 评论(0) 推荐(0)
摘要: 3177-树上染色 dp状态方程比较难想。 不如先写三维的dp dp[i][j][k]表示以j为根节点,已经遍历到第i个子节点,有k个节点染成黑色的时候该子树对结果作出的贡献。 \[ dp[now][fath][k]=max(dp[last][fath][k-p]+dp[all][son][p]+v 阅读全文
posted @ 2021-04-01 16:32 14long 阅读(58) 评论(0) 推荐(0)
摘要: 4516-JSOI潜入行动 极其毒瘤的树dp。。 空间卡的死死的,导致LL精度问题。 思路也很难想,实现起来还有很多意想不到的坑点。。 树形dp枚举边界一旦写错复杂度会假... 另需要开一个临时数组存储当前节点根据已经遍历的子节点更新之后的dp值,DP的时候前面的状态不能保留,要开一个临时数组g更新 阅读全文
posted @ 2021-04-01 13:25 14long 阅读(63) 评论(0) 推荐(0)
摘要: CF840D-主席树 给定一个无修改的区间,对于m次区间询问,给出出现次数严格大于(r-l+1)/k的最小数。 主席树(权值线段树)的结构刚好可以比较容易地处理这个问题。 我们首先对数值建立权值线段树(由于数值可能比较大需要先离散化处理)维护离散后的数值范围的出现次数,然后以在原区间的下标为根节点逐 阅读全文
posted @ 2021-03-26 10:38 14long 阅读(61) 评论(0) 推荐(0)
摘要: cf906D-exgcd 题面: \[ 给定一个数列w_1,w_2,...,w_n和模数p,每次询问一个区间[l,r],求w_l^{w_{l+1}^{w_{l+2}^{{...}^{w_r}}}} mod p \] \[ w_1,w_2,...,w_n \] \[ w_l^{w_{l+1}^{w_{ 阅读全文
posted @ 2021-03-25 18:00 14long 阅读(45) 评论(0) 推荐(0)
摘要: Luogu3224-永无乡 是个正常的线段树合并题,好像还有平衡树的解法(splay/fhqtreap)但我太菜了不会写。。 对重要度建立权值线段树,初始的时候相当于是对每一个节点建立一棵权值线段树,然后处理前m个合并的操作,合并操作可以使用并查集来维护。 **注意我们merge的时候要使得并查集f 阅读全文
posted @ 2021-03-25 17:59 14long 阅读(80) 评论(0) 推荐(0)
摘要: 1306-fibonacci 求gcd(F(m),F(n)) 有性质 \[ gcd(F(m),F(n))=F(gcd(m,n)) \] 结合性质 \[ F(m+n)=F(m-1)*F(n)+F(m)*F(n+1) \] \[ gcd(F(m+1),F(m))=1 \] 可以证明得知(具体见题解区)+ 阅读全文
posted @ 2021-03-19 22:12 14long 阅读(20) 评论(0) 推荐(0)
摘要: 2054-AHOI洗牌 考虑 \[ a_{i+1}=2a_{i}(a_{i}<=n/2),a_{i+1}=2a_{i}-(n+1)(a_{i}>n/2) \] 转化合并成 \[ a_{i+1}=2a_{i}(mod(n+1))-->a_{m}=l=2^ma_{0}(mod(n+1)),求a_{0} 阅读全文
posted @ 2021-03-19 20:56 14long 阅读(46) 评论(0) 推荐(0)