摘要: upd 2019.12.10 latex和markdown化 "题意" 解析: 先考虑暴力:将每个区间求出来,放进一个堆里,取出前k个就是答案。 期望得分:20,原因:TLE code(对,我真写了): 阅读全文
posted @ 2019-12-10 11:43 nofind 阅读(162) 评论(0) 推荐(0)
摘要: "题意" 类似 "超级钢琴" ,找最优解用可持久化trie。 code: 阅读全文
posted @ 2019-12-10 11:38 nofind 阅读(79) 评论(0) 推荐(0)
摘要: "题意" 先分块,预处理$f_{i,j}$表示从第$i$块的开头到第$j$个数的答案,之后就是分块的套路了。 注意$l,r$加的时候会爆int。 code: 阅读全文
posted @ 2019-12-10 10:51 nofind 阅读(101) 评论(0) 推荐(0)
摘要: "题意" 显然有这个DP: 设$f_x$表示封住$x$的子树的最小代价。 显然有: $f_x=\min(\sum\limits_{y\in son_x}f_y,a_x)$ 现在考虑用动态DP: 设$g_x$表示$x$除去的重儿子的$f_x$。 有: $f_x=\min(g_x+f_{heavyson 阅读全文
posted @ 2019-12-09 21:17 nofind 阅读(139) 评论(0) 推荐(0)
摘要: "题意" 我理解的动态DP: 发现DP可以写成矩阵的形式,因此用数据结构维护矩阵乘积。 对于这道题,显然有DP: $f_{x,0/1}$表示$x$的子树中,x选/不选的最大点独立集。 $f_{x,0}=\sum\limits_{y\in son_x}\max(f_{y,0},f_{y,1}),f_{ 阅读全文
posted @ 2019-12-06 14:21 nofind 阅读(125) 评论(0) 推荐(0)
摘要: "题意" 显然树剖套李超树。 考虑怎么算函数值: 设$(x,y)$的$lca$为$z$,我们插一条斜率为$k$,截距为$b$的线段。 $(x,z)$上的点$u$: $f(u)=k (dis[x] dis[u])+b= k dis[u]+(k dis[x]+b)$ 所以对这条路径插入斜率为$ k$,截 阅读全文
posted @ 2019-12-05 20:58 nofind 阅读(119) 评论(0) 推荐(0)
摘要: "题意" 李超树裸题,注意一开始截距是$S P$。 code: 阅读全文
posted @ 2019-12-05 07:12 nofind 阅读(119) 评论(0) 推荐(0)
摘要: "题意" 李超树板子题。 对每个区间维护该区间中点$mid$的最优线段。 插入一个线段: 求出这个线段的斜率和截距,注意特判无斜率的情况,得到$y=kx+b$。 之后开始在线段树上插入,假设当前节点$p$区间为$[l,r]$包含在插入区间内,那么比较插入的线段$id$与当前维护的线段$pos$,分类 阅读全文
posted @ 2019-12-04 21:02 nofind 阅读(206) 评论(0) 推荐(0)
摘要: "题意" 大力猜结论。 首先将所有$a_i$变为$a_i i$,之后求不严格递增的$b_i$,显然答案不变,最后$b_i$加上$i$即可。 考虑两种特殊情况: 1.$a[]$是递增的:所有$b_i=a_i$。 2.$a[]$是递减的:显然取$a[]$的中位数$x$,所有$b_i=x$。 现在考虑$a 阅读全文
posted @ 2019-12-04 19:51 nofind 阅读(113) 评论(0) 推荐(0)
摘要: "题意" 暴力自然是模拟,考虑优化下模拟的过程。 我们对每个点开个左偏树,初始为在该点的骑士,之后dfs过程当中从儿子向父亲合并,同时弹出小于当前点的骑士,增加当前点的答。对于每个骑士的答案,我们记录他的起始点和终点即可。 code: 阅读全文
posted @ 2019-12-04 18:47 nofind 阅读(105) 评论(0) 推荐(0)