Solution - P9035 「KDOI-04」Pont des souvenirs
Posted on
Edited on
P9035 「KDOI-04」Pont des souvenirs
题意
给定正整数 n,k,求有多少个长度为 n 的正整数序列 a 满足:
- 0<a1≤a2≤a3≤⋯≤an≤k;
- ∀ i=j,ai+aj≤k+1。
Solution - CF160D Edges in MST
Posted on
Edited on
退役后没事干写的。
首先,有个比较好想的暴力做法:先随便找一个最小生成树,然后树剖+线段树维护,每次对于横插边,看看链上边权的最大值是否和当前边权相等,如果相等是 2 否则是 3 ,同时更新这一段链使用横插边替换的最小值。做完横插边以后,对于树边,只需看看该点最小值是否为此边权即可,是即 2 ,不是即 3 。两个 log ,但是 n≤105 ,所以被我搞过去了(还挺快)。
小翔题库
Posted on
Edited on
CSP2022 & NOIP2022 游记
Posted on
Edited on
Solution - P4516 [JSOI2018] 潜入行动
Posted on
Edited on
大体思路就是设 f(x,i,j,h) 表示以 x 为根的子树中放 i 个,其中 j 表示 x 节点上放不放, h 表示 x 节点有没有被子节点干掉的方案总数。
然后就可以跑个分组背包,发现转移是 O(k2) 的。
然后有个很牛逼的道理就是均摊复杂度是 O(n⋅k) 的(待研究)。
Note - 基础数据结构的一些简单操作
Posted on
Edited on
一些数据结构的常数
Posted on
Edited on
- 能离线就离线,离线完能用树状数组就用树状数组,不能的话来个01Trie或者线段树应该也是很快的捏(毕竟这两个可以高复杂度暴打低复杂度)。值得一提的是,动态加点权值线段树和01Trie在有些时候是完全没有区别的(比如说这道题),这个时候显然使用递归的线段树就慢了。
Solution - P6155 修改
Posted on
Edited on
Solution - P7963 [NOIP2021] 棋局
Posted on
Edited on