摘要: 能到达所有路的充要条件是能到达左右两端的路 用vector反向建边对每条路左右分别求个最长不上升子序列 预处理出每条路向左向右分别需要多建多少路才能到达最左端和最右端 然后跑个$\Theta(n)$的尺取法就可以了 本题最长不上升子序列用vector+zkw线段树比二分更加好想? 原来标程的 函数尺 阅读全文
posted @ 2018-09-10 16:19 A·H 阅读(209) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 此题的答案k具有可二分性 那么我们可以二分答案k,然后跑一个树形DP 令$dp[i]$表示到节点$i$时需要再多染色的点数 那么有$dp[i]=\max(\sum_{fa[j]=i} (dp[j]+1) k,0)$ 若$dp[1]=0$则答案k可行 阅读全文
posted @ 2018-09-10 16:18 A·H 阅读(192) 评论(0) 推荐(0) 编辑