摘要: 题目链接: "【Codeforces1187F】Expected Square Beauty" 题目描述: 有一个长度为 $ n $ 的数列,第 $ i $ 个数的取值范围为 $ [l_i, r_i] $ ,定义一个数列的价值为这个数列极长连续相同段的个数,求一个数列价值的平方期望,对 $ 10^9 阅读全文
posted @ 2019-07-04 16:15 daniel14311531 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 题目链接 "【Codeforces 908H】 New year and Boolean Bridges" 做法 发现 $ f(u, v)~OR~f(v, u) $ 满足当且仅当 $ f(u, v)~AND~f(v, u) $ 和 $ f(u, v)~XOR~f(v, u) $ 满足,故 $ f(u 阅读全文
posted @ 2019-06-18 10:51 daniel14311531 阅读(345) 评论(0) 推荐(2) 编辑
摘要: 题目链接 "【CodePlus 2018 4 月赛】组合数问题 2" 做法 发现 $ f_k(h) = C(k, h) $ 是单峰函数,意味着可以像 "【NOI2010】超级钢琴" 一样用优先队列维护当前每个 $ k $ 最大值。 发现组合数很大,优先级不容易确定。考虑取组合数的对数,再用对数( $ 阅读全文
posted @ 2019-05-23 15:06 daniel14311531 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 题目链接 "【SDOI2019】世界地图" 做法 因为 $ n $ 很小,所以问题可以从 $ n $ 入手。 发现询问不会删除第一列和最后一列,那么最后的结果为合并地图 $ [1, l_i 1] $ 和 $ [r_i + 1, m] $ 的 $ MST $ 得到的 $ MST $ 大小。所以预处理只 阅读全文
posted @ 2019-05-23 13:33 daniel14311531 阅读(458) 评论(0) 推荐(0) 编辑
摘要: 题目链接 "【APIO2018】新家" 做法 对于这种区间修改、单点询问的题目,可以将询问离线再扫描线。 考虑对于一个答案 $ ans_i $ 合法,当且仅当 $ (l_i + ans_i, INF) $ 中每种店上一次出现的位置不小于 $ l_i + ans_i $ 。对于每种店都开一个 mult 阅读全文
posted @ 2019-05-22 11:15 daniel14311531 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 题目链接 "【ZJOI2012】小蓝的好友" 做法 至少包含一个点的矩阵数等于总矩阵数减去不包含任意一个点的矩阵数。 考虑将点按照纵坐标排序,进行类似扫描线的操作。每一列有用的点是最靠近当前行的点,记录它们的纵坐标。如果这一层存在一段长度为 $ s $ 不包含点,则它对答案的贡献为 $ \frac{ 阅读全文
posted @ 2019-04-21 18:30 daniel14311531 阅读(219) 评论(0) 推荐(1) 编辑
摘要: 题目链接 "「清华集训 2017」榕树之心" 做法 考虑只询问 $ 1 $ 号节点怎么做。假如我们选择一个子树然后再选择另一个子树,那么这次操作就抵消了。 对于每一个节点,将它每一个子树的大小计为 $ a_i $ ,然后每次选择 $ a_x, a_y ( a_x 0, a_y 0 ) $ ,使 $ 阅读全文
posted @ 2019-04-21 13:35 daniel14311531 阅读(310) 评论(0) 推荐(1) 编辑
摘要: 题目链接 "【Codeforces 1109F】 Sasha and Algorithm of Silence's Sounds" 做法 当区间 $ [l, r] $ 中不存在环且点数与边数之差为 $ 1 $ 时是一棵树。当 $ r $ 增加时, $ l $ 也会增加,所以只要维护两个端点。 对于环 阅读全文
posted @ 2019-04-18 12:30 daniel14311531 阅读(257) 评论(0) 推荐(1) 编辑
摘要: 题目链接 "【BZOJ3160】万径人踪灭" 做法 不包含连续下标的回文子序列 = 所有回文子序列 连续下标的回文子序列。 对于连续下标的回文子序列,可以用 $ Manacher $ 算法快速计算。 对于所有回文子序列,考虑枚举对称中心 $ r $ , 若有 $ k $ 组 $ (x, y) $ 满 阅读全文
posted @ 2019-04-13 13:36 daniel14311531 阅读(190) 评论(0) 推荐(1) 编辑
摘要: "「HNOI2015」接水果" 题意: 给你一个树上路径集合$ S $ ,每条路径有个权值。每次询问一条路径 $ (x, y) $ ,问它在 $ S $ 中包含的路径中权值第 $ k $ 小的是多少。 做法: 首先考虑如何判断判断一条路径是否被另一条路径包含。 当一条路径 $ (x, y) (dep 阅读全文
posted @ 2019-03-30 11:25 daniel14311531 阅读(227) 评论(1) 推荐(2) 编辑