摘要:
嘟嘟嘟 这题怎么想都想不出来,最后还是敲了暴力,喜提40分…… 正解竟然也是暴力…… 用$s_0$构造SAM,然后把$s$扔上去暴力dfs:记录一个修改次数tot,如果当前不匹配,就tot + 1并且往下跳…… 反正就是过了…… 记得多组数据,清空数组。 #include<cstdio> #incl 阅读全文
摘要:
"嘟嘟嘟" 这题刚开始想复杂了,想什么dp去了,其实没那么难。 考虑断掉一条边,记分离出来的两棵子树为A和B,那么合并后的树的直径可能有三种情况: 1.A的直径。 2.B的直径 3.A的半径+边权+B的半径。 半径是啥?记从点$i$出发到树上任意一点的最长距离为$f[i]$,则树的半径就是$min 阅读全文
摘要:
"嘟嘟嘟" 这题其实还是比较好想的,就是有一个小坑点。 首先钩子多的排在前面,然后就是dp了。 dp方程就是$dp[i][j]$表示到了第$i$建物品,还剩$j$个挂钩的最大喜悦值。转移就很显然了:$dp[i][j] = max \{dp[i 1][j + 1 a[i]] + b[i] \}$。 然 阅读全文