Loading

上一页 1 ··· 4 5 6 7 8 9 10 11 12 13 下一页
摘要: 传送门 这场打的有一种我又行了的感觉 A - When? 向下取整 + 取余 #include <iostream> #include <cstdio> #include <algorithm> #include <vector> #include <string> #include <queue> 阅读全文
posted @ 2022-07-04 15:02 dgsvygd 阅读(50) 评论(0) 推荐(0) 编辑
摘要: Aragorn's Story 树链剖分模板 维护两个点之间路径的值,剖分之后用线段树 区间修改 单点查询 注意初始化(不会有人没初始化边,然后 MLE 了半个小时吧) (为什么是 MLE 而不是 RE!!小编也不太清楚,小编也很想知道,[狗头]) #include <iostream> #incl 阅读全文
posted @ 2022-07-03 16:47 dgsvygd 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 【模板】最近公共祖先(LCA) 倍增 lca 模板 真心觉得二进制太奇妙了 #include <iostream> #include <cstdio> #include <algorithm> #include <vector> using namespace std; #define endl ' 阅读全文
posted @ 2022-07-03 14:46 dgsvygd 阅读(41) 评论(0) 推荐(0) 编辑
摘要: Jumping Takahashi 2 dijkstra 或 Floyd 或 二分 dijkstra 枚举从每个点出发到所有点的最大代价的最小值 同理,Floyd 跑完之后再找这个最小值 二分答案,通过 bfs 判断是否有个点能跑遍历所有的点 #include <iostream> #include 阅读全文
posted @ 2022-07-02 15:35 dgsvygd 阅读(44) 评论(0) 推荐(0) 编辑
摘要: Teleporter Setting bfs 先构建一个 0 号虚拟点,最后再遍历这个点是其他的点 答案有两种来源: 本身从 1 直接到达 n(可经过 0 号虚拟点) 经过 0 号虚拟点和当前假设的点 i 之间的代价为 0 的特殊边 对于第一种情况,只用计算最短路即可 对于第二种情况,则为 min( 阅读全文
posted @ 2022-07-02 15:32 dgsvygd 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 传送门 vp 了一场之前的 ABC,不知道是水平下降还是真的难,就很多要想很久,寄了 A - A to Z String 2 向下取整考虑一下是在哪个组就好 #include <iostream> using namespace std; int main() { int n, x; cin >> 阅读全文
posted @ 2022-07-02 15:30 dgsvygd 阅读(59) 评论(0) 推荐(0) 编辑
摘要: Fixed Point Guessing 二分 考虑利用奇偶性 如果在一个区间 $[l,r]$ 内,若有一组数交换后,有一个数字在该区间,则说明另一个数也在该区间里 因此考虑对询问后给出的被交换数字 $x$ 进行检查,如果 $l \leq x \leq r$,则说明有两个数在这个区间内,cnt += 阅读全文
posted @ 2022-07-01 23:58 dgsvygd 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 传送门 考试周也快结束了,想打一场 cf 找一找手感,结果惨不忍睹,大寄 刚好这场前 4 题都是思维题,直接卡死 A - XOR Mixup 这样构造出来的数组异或和一定为 0,说明每一个数都是答案 #include <iostream> #include <cstdio> #include <al 阅读全文
posted @ 2022-07-01 23:55 dgsvygd 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 分配问题 二分图 + 费用流 建图: 源点与人相连,容量为 $1$,费用为 $0$ 汇点与工作相连,容量为 $1$, 费用为 $0$ 人与工作一一相连,容量为 $1$,费用为对应的效率 最小费用最大流模板 最大费用最大流的时候,只需要把费用更改为负数即可 #include <iostream> #i 阅读全文
posted @ 2022-06-22 22:34 dgsvygd 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 飞行员配对方案问题 之前做的,没想到忘了发 二分图匹配最大流问题 模板 #include <iostream> #include <cstdio> #include <algorithm> #include <queue> using namespace std; const int maxn = 阅读全文
posted @ 2022-06-21 16:08 dgsvygd 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 圆桌问题 最大流 建图完就很简单 考虑将单位和餐桌视为点 限制每个餐桌上的代表所属的单位不同:只要将单位和餐桌之间的流容量设置为 $1$ 源点对单位有容量为 $r_i$ 的边,餐桌对汇点有容量为 $c_i$ 的边 最大流如果为 $\sum_{i=1}^{m}r_i$ 则说明每个人都能上桌 答案的输出 阅读全文
posted @ 2022-06-21 16:03 dgsvygd 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 负载平衡问题 费用流 主要是建图,其他都是模板 每个仓库视为一个点,设置一个源点,对仓库有一条边,容量就为仓库原有的库存量,费用为 0 然后相邻的仓库之间有一条容量为无穷大,费用为 1 的边 每个仓库对汇点有一个边,容量为平均值,费用为 0 #include <iostream> #include 阅读全文
posted @ 2022-06-20 21:25 dgsvygd 阅读(37) 评论(0) 推荐(1) 编辑
摘要: 软件补丁问题 状态压缩 + 最短路 对于当前 bug 的状态,可以作为一个点,表示的方式用状态压缩的方式,接着边就是通过一个补丁,转换到另外一个 bug 状态 直接最短路,dijkstra 或 bfs 或 SPFA 都可 #include <iostream> #include <cstdio> # 阅读全文
posted @ 2022-06-20 15:52 dgsvygd 阅读(24) 评论(0) 推荐(1) 编辑
摘要: ±1 Operation 2 离线 + 尺取 或者 直接二分 二分更简单 二分一下当前询问的数 $X$ 的位置 $index$,左边(小于等于当前数)的每一个数字的贡献都为 $X - A_i$,右边(大于当前数)的每一个数字的贡献都为 $A_i - X$,因此考虑求和的时候用前缀和优化一下就好 #i 阅读全文
posted @ 2022-06-13 09:21 dgsvygd 阅读(39) 评论(0) 推荐(0) 编辑
摘要: Lucky Numbers 思维题 不难看出,如果我们固定了数组 $A$ 的一个值,那么数组 $A$ 的其他值都可以通过数组 $S$ 算出来,所以我们可以通过一个位置的值来表示一整个数组 $A$,这样的话就可以枚举所有位置上的最佳值,判断他是属于哪个数组的,然后这个数组的值 + 1,最后选取最大值即 阅读全文
posted @ 2022-06-13 09:19 dgsvygd 阅读(43) 评论(0) 推荐(1) 编辑
摘要: 传送门 A - You should output ARC, though this is ABC. 直接输出 #include <iostream> #include <cstdio> #include <algorithm> #include <vector> #include <string> 阅读全文
posted @ 2022-06-13 09:15 dgsvygd 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 孤岛营救问题 bfs + 状态压缩 对钥匙的状态进行压缩,然后 bfs 剪枝搜索 #include <iostream> #include <cstdio> #include <queue> using namespace std; int dp[20][20][1 << 16 | 1]; int 阅读全文
posted @ 2022-06-11 18:10 dgsvygd 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 小红的子序列 今日无事,勾栏.. 今天心血来潮打了一下牛客,发现了一道有趣的题 dp 大概就是把 颜色 和 奇偶 分成两个状态:当前位置是否是奇数,当前颜色是否是红色,类似于状态压缩一样压一下,然后 dp 不断维护最大值就好 状态转移就是从将当前状态 取反 转移过来就好 #include <iost 阅读全文
posted @ 2022-06-11 00:06 dgsvygd 阅读(186) 评论(2) 推荐(2) 编辑
摘要: 【模板】最小费用最大流 EK 改 SPFA #include <iostream> #include <queue> #include <algorithm> using namespace std; typedef long long ll; const int maxn = 1e5 + 10; 阅读全文
posted @ 2022-06-10 23:53 dgsvygd 阅读(27) 评论(0) 推荐(0) 编辑
摘要: Rectangle GCD 线段树 + gcd 性质 辗转相减法:如果 $a$ 和 $b$ 互质,则 $a + b$ 和 $|a - b|$ 也与 $a$ 和 $b$ 互质 由此我们可以得到 $gcd(a, b) = gcd(a, |a - b|)$ 考虑,在第 $i$ 行中,从 $a$ 列到 $b 阅读全文
posted @ 2022-06-08 18:23 dgsvygd 阅读(104) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 13 下一页