摘要: 线段树,暴力。 先处理出每个点直接能感染到的最左边的和最右边的。 之后每次扩展,看向左能到达的那些点中,最左以及最右能到哪些点,更新。 看向右能到达的那些点中,最左以及最右能到哪些点,更新。 最左最右能到哪些点,可以用线段树计算区间最小值最大值。 如果某次无法更新,那么结束。 阅读全文
posted @ 2017-05-13 20:45 Fighting_Heart 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 字典树,$dp$。 记录$dp[i]$为以$i$为结尾获得的最大价值。枚举结尾一段是哪个单词,更新最大值。可以将字典中单词倒着建一棵字典树。 这题数据有点不严谨。 下面这组数据答案应该是负的。 3 a 0.1 aa 0.1 aaa 0.1 1 aaa 下面这组数据没通过的代码在$OJ$上也可以$AC 阅读全文
posted @ 2017-05-13 17:33 Fighting_Heart 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 二分,最小生成树。 二分一下$k$,然后每次算最小生成树验证即可,事实证明,$cmp$函数,参数用引用还是能提高效率的,不引用一直$TLE$,时限有点卡常。 然后错误的代码好像$AC$了啊,$L$和$R$直接赋值成$mid$,有几个点一直$WA$,加一减一反而能过。 阅读全文
posted @ 2017-05-13 13:18 Fighting_Heart 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 差分约束系统,$spfa$。 首先判断无解,若某个约束的$t$大于区间长度,则一定无解。 否则一定有解,可以得到一系列的不等式: 最终区间和大于等于目前的区间和:$S[R]-S[L-1]≥val$, 每一个位置的值小于等于$1$:$S[R]-S[R-1]≤1$, 每一个约束条件:$S[R]-S[L- 阅读全文
posted @ 2017-05-13 10:19 Fighting_Heart 阅读(246) 评论(0) 推荐(0) 编辑