随笔分类 -  字典树

摘要:HDU - 5845 dp[ i ] 表示分完前 i 段, 最多能分几段。 我们能得到一个n2的dp, 然后用字典树优化掉。 我用了一个multiset去维护删除, 但实际上因为dp值有单调性, 所有维护sz就够了。 换成c++卡内存卡过去的。 阅读全文
posted @ 2019-08-25 21:05 NotNight 阅读(175) 评论(0) 推荐(0) 编辑
摘要:HDU - 5390 看到的第一感觉就是树链剖分 + 线段树套字典树, 感觉复杂度不太对。 其实这种路径其实很特殊, 一个点改变只会影响它儿子到根的路径, 并且这种求最优值问题可以叠加。 所以我们修改的时候对对应dfs序打标记, 询问的时候在线段树上从上往下对每个对应区间求个最优值。 这样还会被卡M 阅读全文
posted @ 2019-07-14 10:26 NotNight 阅读(299) 评论(0) 推荐(0) 编辑
摘要:Friends 首先确定第 m 大的是谁, 建出字典树之后二分去check, 找到第 m 大之后, 在跑一次字典树去统计总和。 为什么这个要取模啊, 卡了我半天。 阅读全文
posted @ 2019-06-19 14:38 NotNight 阅读(271) 评论(1) 推荐(1) 编辑
摘要:想出来感觉挺容易, 码得好麻烦啊。。。 把每个点分为轻点和重点, 给轻点的信息直接修改, 重点建个字典树去维护。 阅读全文
posted @ 2019-06-15 15:20 NotNight 阅读(147) 评论(0) 推荐(0) 编辑
摘要:#include #include #include #include #define LL long long #define fi first #define se second #define mk make_pair #define PLL pair #define PLI pair #define PII pair #define SZ(x) ((int)x.size()) #defi... 阅读全文
posted @ 2019-03-19 16:10 NotNight 阅读(191) 评论(0) 推荐(0) 编辑
摘要:思路:字典树+dp, dp[ i ] 表示 前缀到 i 能不能被理解, 如果dp[ i ] 是能被理解的那么, 把i + 1, i + 2 .... 在字典树上走,走到一个单词就转移。 ,这样可行的原因是因为模板串长度不超过10,所以字典树的深度不会超过10, 所以进行一次dp的复杂度为 10 * 阅读全文
posted @ 2018-05-25 17:12 NotNight 阅读(103) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示