摘要: HDU - 5370 f[ i ] 表示顶点数为 i 的二叉树的种数, 其实就是卡特兰数。 dp[ i ][ j ] 表示 i 个顶点分给 j 个二叉树的方案数, 这个是个 n ^ 3 的dp。 然后根据提供的信息建出二叉树, 我们考虑如何计算, 对于在 u 的左儿子添加了 x 个点的二叉树, 我们 阅读全文
posted @ 2019-07-16 20:20 NotNight 阅读(96) 评论(0) 推荐(0) 编辑
摘要: HDU - 5378 dp[ i ][ j ]表示 i 这棵子树填满, 有 j 个满足条件的方案数。 转移的时候组合数乘一乘。 阅读全文
posted @ 2019-07-16 15:37 NotNight 阅读(94) 评论(0) 推荐(0) 编辑
摘要: HDU - 5372 我们考虑总的线段减去违法的线段, 因为是按长度从小到大加入数轴的, 所以违法线段就是Rj > Ri的个数加上 Lj < Li 的个数, 用树状数组维护就完事了。 阅读全文
posted @ 2019-07-16 14:43 NotNight 阅读(98) 评论(0) 推荐(0) 编辑
摘要: HDU - 5371 求出每个点的最大回文长度。 然后转换成线段互相覆盖的最大长度。 然后离线之后用线段树 或者 set维护一下就好了。 阅读全文
posted @ 2019-07-16 13:05 NotNight 阅读(90) 评论(0) 推荐(0) 编辑
摘要: HDU - 5380 感觉又是个脑洞题。 如果没有卖的情况感觉写过很多次了。 这题的关键在于你买糖的消耗只在加入队列的时候计算, 用不完的糖在最后退掉, 卖糖的盈利也包含在最后退糖中了, 我们只要把所有比当前sell值小的全部边成当前的sell值就行了, 相当于卖掉了。 感觉相当巧妙。 阅读全文
posted @ 2019-07-16 10:11 NotNight 阅读(89) 评论(0) 推荐(0) 编辑