上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 70 下一页
摘要: HDU - 5370 f[ i ] 表示顶点数为 i 的二叉树的种数, 其实就是卡特兰数。 dp[ i ][ j ] 表示 i 个顶点分给 j 个二叉树的方案数, 这个是个 n ^ 3 的dp。 然后根据提供的信息建出二叉树, 我们考虑如何计算, 对于在 u 的左儿子添加了 x 个点的二叉树, 我们 阅读全文
posted @ 2019-07-16 20:20 NotNight 阅读(95) 评论(0) 推荐(0) 编辑
摘要: HDU - 5378 dp[ i ][ j ]表示 i 这棵子树填满, 有 j 个满足条件的方案数。 转移的时候组合数乘一乘。 阅读全文
posted @ 2019-07-16 15:37 NotNight 阅读(92) 评论(0) 推荐(0) 编辑
摘要: HDU - 5372 我们考虑总的线段减去违法的线段, 因为是按长度从小到大加入数轴的, 所以违法线段就是Rj > Ri的个数加上 Lj < Li 的个数, 用树状数组维护就完事了。 阅读全文
posted @ 2019-07-16 14:43 NotNight 阅读(97) 评论(0) 推荐(0) 编辑
摘要: HDU - 5371 求出每个点的最大回文长度。 然后转换成线段互相覆盖的最大长度。 然后离线之后用线段树 或者 set维护一下就好了。 阅读全文
posted @ 2019-07-16 13:05 NotNight 阅读(89) 评论(0) 推荐(0) 编辑
摘要: HDU - 5380 感觉又是个脑洞题。 如果没有卖的情况感觉写过很多次了。 这题的关键在于你买糖的消耗只在加入队列的时候计算, 用不完的糖在最后退掉, 卖糖的盈利也包含在最后退糖中了, 我们只要把所有比当前sell值小的全部边成当前的sell值就行了, 相当于卖掉了。 感觉相当巧妙。 阅读全文
posted @ 2019-07-16 10:11 NotNight 阅读(88) 评论(0) 推荐(0) 编辑
摘要: Crossword Expert 算每个游戏完成的概率加起来就是答案了, 然后组合数前缀暴力转移就完事了。 阅读全文
posted @ 2019-07-15 14:34 NotNight 阅读(213) 评论(0) 推荐(0) 编辑
摘要: HDU - 5390 看到的第一感觉就是树链剖分 + 线段树套字典树, 感觉复杂度不太对。 其实这种路径其实很特殊, 一个点改变只会影响它儿子到根的路径, 并且这种求最优值问题可以叠加。 所以我们修改的时候对对应dfs序打标记, 询问的时候在线段树上从上往下对每个对应区间求个最优值。 这样还会被卡M 阅读全文
posted @ 2019-07-14 10:26 NotNight 阅读(289) 评论(0) 推荐(0) 编辑
摘要: HDU - 5385 先把1加入点集进行扩展, 然后两头分别从2和n开始往里加元素, 使得随着时间dis[ i ] 递增即可。 阅读全文
posted @ 2019-07-13 20:24 NotNight 阅读(142) 评论(0) 推荐(0) 编辑
摘要: HDU - 5381 首先我们可以观察出从一个点开始的连续gcd最多只有log个, 因为gcd每次最少除2, 然后我们暴力莫队转移就好啦。 阅读全文
posted @ 2019-07-13 18:47 NotNight 阅读(149) 评论(0) 推荐(0) 编辑
摘要: Mike and Friends 求出后缀数组, 对于每个询问二分出左右端点, 离线之后用树状数组求就好了。 或者不建st表, 用并查集求出左右端点, 这样空间和常数都更优。 阅读全文
posted @ 2019-07-13 15:00 NotNight 阅读(160) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 70 下一页