上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 73 下一页
该文被密码保护。 阅读全文
posted @ 2018-10-22 12:14 Zinn 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4987 其实就是在树上找有 k 个点的连通块(路径上的点都选是最优的),之间的边都走了两遍,只有一条路径(a[1] -> a[k])走了一遍; 于是 f[x][j][0/1/2] 表示以 x 为 阅读全文
posted @ 2018-10-20 13:11 Zinn 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 题目:https://www.lydsy.com/JudgeOnline/problem.php?id=5072 由于对于一个子树,固定有 j 个黑点,连通块大小是一个连续的范围; 所以记 f[i][j] 表示以 i 为根的子树中选 j 个黑点,连通块最大的点数,g[i][j] 表示最小的点数; 然 阅读全文
posted @ 2018-10-19 21:23 Zinn 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2151 先都放进堆里取最大的,但选了一个就不能选它两边的,所以可能不是最优,要有“反悔”的措施; 可以取出一个后把它两边的位置 l,r 在链表中删除,然后再加入一个元素 a[x] = a[l] 阅读全文
posted @ 2018-10-19 19:19 Zinn 阅读(174) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-10-19 18:05 Zinn 阅读(1) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-10-19 08:14 Zinn 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1098 首先,没有连边的人一定得在一个连通块里; 先把所有人连成一个链表,然后从第一个人开始,把和它有连边的人都打上标记,没有标记的就加入栈里,并在链表中删除; 只要栈里还有值,就重复这个操作, 阅读全文
posted @ 2018-10-18 15:12 Zinn 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2083 先把所有子序列都存下来,总长度应该有限制,所以用 vector 存; 要做到 O(n),就得遍历原序列的同时匹配所有子序列; 注意到,遍历原序列,一个位置上只有一个值(当然啦); 所以考 阅读全文
posted @ 2018-10-18 11:23 Zinn 阅读(118) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-10-18 09:50 Zinn 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4260 用 Trie 树可以找出前缀异或的最大值和后缀异或的最大值,拼起来即可; 注意要先加入一个0,表示区间左端点在 0 或右端点在 n+1; 竟然1A了!感动。 ——然后发现3个月前做过!! 阅读全文
posted @ 2018-10-17 15:21 Zinn 阅读(139) 评论(0) 推荐(0) 编辑
上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 73 下一页