上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 22 下一页
摘要: 这是一种奇妙的算法用来解决两个问题: 精确覆盖问题:给定一个矩阵,每行是一个二进制数,选出尽量少的行,使得每一列恰好有一个 $1$ 重复覆盖问题:给定一个矩阵,每行是一个二进制数,选出尽量少的行,使得每列至少有一个 $1$。 模板一般需要有两个:① 数据结构(十字链表)② dfs 框架 其中 ① 对 阅读全文
posted @ 2020-10-18 13:54 DMoRanSky 阅读(222) 评论(0) 推荐(1) 编辑
摘要: 模板题 原理 类似树链剖分对重儿子/长儿子剖分,Link Cut Tree 也做的是类似的链剖分。 每个节点选出 \(0 / 1\) 个儿子作为实儿子,剩下是虚儿子。对应的边是实边/虚边,虚实时可以进行灵活变换的。 实链:实边连起来的极大链,也可以理解为所有实边构成的若干联通块。 Splay 维护每 阅读全文
posted @ 2020-10-18 01:47 DMoRanSky 阅读(165) 评论(0) 推荐(1) 编辑
摘要: 我是真的不稳定的垃圾选手。 对于一张图来说,两个人能满足题面关系等价于这张图不是链,很好证明,如果有度数 \(> 2\) 的点,让一个人跑到一个度数 \(= 1\) 的地方就可以了。 如果离线就可以什么启发式合并 + 并查集做到一个 \(\log\)。就是合并两个点 \(x, y\),动态维护每个联 阅读全文
posted @ 2020-10-14 22:38 DMoRanSky 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 网上感觉没有什么很详细 + 证明的讲解啊) 前置:Kruskal 求最小生成树。 这个算法可以将一棵树 / 无向连通图重构成一颗有性质的新树。 算法可以解决一些树上瓶颈边权之类的问题,可以把需要持久化的并查集给代替掉。 设 \(f_i\) 为 \(i\) 所在联通块的根。 算法流程和 Kruskal 阅读全文
posted @ 2020-10-13 22:50 DMoRanSky 阅读(561) 评论(2) 推荐(0) 编辑
摘要: 考场想了 5.5 h,第一部分分死活打不出来,做到崩盘,现在重做,感觉自己就是一个sb,放学在地铁上一眼就会了。哎。 可以把一个要求看作一个长度为 \(m\) 的区间:\([l, l + m - 1]\),可以要求这段条件的充要条件是找到一种循环移位,每个墙恰好可以被那个工人挖。然后问题是用最少的区 阅读全文
posted @ 2020-10-12 20:33 DMoRanSky 阅读(190) 评论(0) 推荐(1) 编辑
摘要: 2020.10.11 初赛了,没怎么做题,之前在网上两次初赛模拟赛 95pts / 94pts,还白嫖了一本书,感觉挺好。 去考场,中途不舒服去了厕所,回来发现有点来不及,阅读程序最后两题不会瞎蒙。 出考场发现自己蒙对,但是栈底看错,\(n < 1000\) 被坑,\(O(n!)\) 至今也不知道为 阅读全文
posted @ 2020-10-11 22:06 DMoRanSky 阅读(423) 评论(0) 推荐(0) 编辑
摘要: 习题 方差 拆式子,维护支持求区间平方和和区间和的线段树,记一个加法懒标记。 #include <iostream> #include <cstdio> using namespace std; const int N = 100005; int n, m; double a[N], tag[N < 阅读全文
posted @ 2020-10-02 10:37 DMoRanSky 阅读(321) 评论(0) 推荐(1) 编辑
摘要: 题目链接 这题是 Codeforces Goodbye 2014 的最后一题 CF500G,只是去掉了 \(u \not= x, v \not = v\) 的条件。 官方题解感觉有很多东西说的迷迷瞪瞪,等到自己写的时候就狂 WA 不止。。 前置知识:Exgcd、LCA,没了) Subtask #1 阅读全文
posted @ 2020-09-26 13:26 DMoRanSky 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 离线算法。 算法核心思想是优化暴力。 一般形式是若干区间询问。 若能用较少的时间(\(O(1) - O(\log n)\))从 \([l, r]\) 的答案推演至 \([l, r + 1], [l - 1, r]\) 的答案,那么这个问题就可以用莫队优化。 普通莫队 设扩展一次的时间为 \(O(a) 阅读全文
posted @ 2020-09-25 21:32 DMoRanSky 阅读(200) 评论(0) 推荐(0) 编辑
摘要: CF1067D 真的是好题啊,让我对凸包的理解增加了非常非常多... DP 推完式子可以发现,当我们可以升级某一个游戏,我们之后每一轮肯定会升级 \(b_i \times p_i\) 最大的那个游戏,这样是最优的。 设 \(B = \max(b_i \times p_i)\),可以列 DP: 设 \ 阅读全文
posted @ 2020-09-14 23:24 DMoRanSky 阅读(218) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 22 下一页