Loading

上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 13 下一页
摘要: Watching Fireworks is Fun dp $dp[i][j]$ 表示在第 $i$ 个烟花,且此时位于第 $j$ 个位置的最大快乐值 对于第 $i$ 个烟花,此时处于第 $j$ 个位置,可以从第 $k$ 个位置走过来,因此有 $k$ 的范围: $$ max(1, j - (t_i - 阅读全文
posted @ 2022-07-14 22:17 dgsvygd 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 传送门 A. YES or YES? 统一一下大小写 #include <iostream> #include <cstdio> #include <algorithm> #include <vector> #include <string> #include <queue> #include <f 阅读全文
posted @ 2022-07-13 20:19 dgsvygd 阅读(41) 评论(0) 推荐(1) 编辑
摘要: 传送门 第一次赛中 AK div3,值得纪念! 赛后发现有很多题想的不是很周到,所以晚发了这么久 A - Round Down the Price 找到一个不大于当前数字的 10 的次幂 #include <iostream> #include <cstdio> #include <algorith 阅读全文
posted @ 2022-07-13 19:52 dgsvygd 阅读(41) 评论(0) 推荐(0) 编辑
摘要: Tree 树链剖分 + 线段树 除去区间修改的难点,其他都是树链剖分基础 线段树维护异或区间和,用且、或修改区间单点,如果单考虑一个值的话似乎很难修改,因此考虑将一个数字分割成 32 位,硬跑 32 次 #include <iostream> #include <cstdio> #include < 阅读全文
posted @ 2022-07-11 23:08 dgsvygd 阅读(32) 评论(0) 推荐(0) 编辑
摘要: Circumferences 并查集 找到点所在的两个圆,然后将所有的圆互相判断一下是否相交,如果相交则并查集连起来,注意同心圆的情况 最后判断所在的两个圆是否连通 #include <iostream> #include <cstdio> #include <algorithm> #include 阅读全文
posted @ 2022-07-11 16:25 dgsvygd 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 传送门 A - Growth Record 看题直接算,就出生之后 X 岁以下的身高增速为 D,给出 N 岁时身高为 T,求 M 岁时身高是多少 #include <iostream> #include <cstdio> #include <algorithm> #include <vector> 阅读全文
posted @ 2022-07-11 16:22 dgsvygd 阅读(23) 评论(0) 推荐(0) 编辑
摘要: Permutation Restoration 贪心 很类似于调度问题,考虑好贪心优先级即可 显然对于每个位置 $i$ 我们可以根据现有的 $i$ 和 $b_i$ 来推算出可行的 $a_i$ 的范围,是一段连续的区间,我们假设为 $[l_i, r_i]$ 题目说了答案必有解,因此从贪心的考虑来讲,只 阅读全文
posted @ 2022-07-10 01:25 dgsvygd 阅读(203) 评论(0) 推荐(0) 编辑
摘要: Schedule Management 二分答案 显然答案具备单调性,直接二分,$check()$ 的时候,优先让工人自己先干自己的活 如果有时间溢出,则能多干 $last / 2$ 的工作 如果不够时间,则记录还有多少活要干 如果 wa4 记得开 long long(悲 #include <ios 阅读全文
posted @ 2022-07-10 01:24 dgsvygd 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 传送门 A - Grass Field 每次清除一行一列,最多也就清除 2 次,判断一下就好了 #include <iostream> #include <cstdio> #include <algorithm> #include <vector> #include <string> #includ 阅读全文
posted @ 2022-07-10 01:20 dgsvygd 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 树上操作 树链剖分模板 - 子树区间加和 考虑到树链剖分的时候,一颗子树内的 dfn 序一定是连续的一段区间,因此只要找到子树内最大的 dfn 序即可,也就是树链剖分 dfs 的时候回到当前结点时,记录一下当前分配 dfn 序分配到了哪个值 然后直接线段树区间加和即可 #include <iostr 阅读全文
posted @ 2022-07-10 01:04 dgsvygd 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 松鼠的新家 树上差分模板题 - 点差分 #include <iostream> #include <cstdio> #include <algorithm> #include <vector> using namespace std; const int maxn = 3e5 + 10; int v 阅读全文
posted @ 2022-07-09 14:17 dgsvygd 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 运输计划 倍增 LCA + 二分 + 树上差分 显然二分答案是可行的,因为具有单调性,问题在于 check 函数如何写 考虑当前值 mid 是否可行:我们只需要考虑比 mid 大的所有运输计划,将这些计划经过的边进行标记,如果某个边被标记的次数等于所有大于 mid 的运输计划数量,则说明这些运输计划 阅读全文
posted @ 2022-07-09 14:13 dgsvygd 阅读(32) 评论(0) 推荐(0) 编辑
摘要: Query on a tree again! 树链剖分 + 二分 通过树链剖分查找,判断一下路径上,最后一个黑点出现在哪一条链上,然后在链上进行二分 dfn 查找第一个黑点所在位置 #include <iostream> #include <cstdio> #include <vector> #in 阅读全文
posted @ 2022-07-08 00:23 dgsvygd 阅读(35) 评论(0) 推荐(0) 编辑
摘要: Query on a tree II 倍增 LCA 或 树链剖分 找路径上第 k 个结点 先找到 LCA,然后再根据深度判断第几个结点 #include <iostream> #include <vector> #include <cstdio> #include <algorithm> using 阅读全文
posted @ 2022-07-07 21:59 dgsvygd 阅读(29) 评论(0) 推荐(0) 编辑
摘要: Aladdin and the Return Journey 树链剖分模板题 结点单点修改 #include <iostream> #include <cstdio> #include <algorithm> #include <vector> using namespace std; const 阅读全文
posted @ 2022-07-07 11:19 dgsvygd 阅读(36) 评论(0) 推荐(0) 编辑
摘要: Tree 树链剖分 树的路径边权最大值询问,其中还能使一整条路径上的值取反(正负数) 线段树维护最大值和最小值就能做到取反的时候交换,再加多一个懒标记维护一下 码量很大,但是感觉挺重复的,线段树太久没写各种崩,中途还跑去聚餐,结果回来更是崩 #include <iostream> #include 阅读全文
posted @ 2022-07-06 23:25 dgsvygd 阅读(32) 评论(0) 推荐(0) 编辑
摘要: Housewife Wind 树链剖分 利用树中每个点都只有一个父节点的性质,将边权化为点权,然后树链剖分 LCA,套一个线段树维护权值 注意在同一链的时候,LCA 的点权是不计算在内的 这题卡时间卡的很紧,如果 TLE,尝试改成 scanf printf #include <iostream> # 阅读全文
posted @ 2022-07-06 15:29 dgsvygd 阅读(42) 评论(0) 推荐(0) 编辑
摘要: Main Street 模拟 基本的思路就是,点到点的最短路径只能是两种方式: 直接走,不走通道 走通道 走通道的做法就考虑必经点,即起点对 4 个方向各发出一条射线,与会最近的通道分别产生 $4$ 个交点,走通道的最短路必然会经过这四个点的其中一个 同理,终点也能产生四个必经点 走通道的最短路,必 阅读全文
posted @ 2022-07-04 15:34 dgsvygd 阅读(109) 评论(0) 推荐(0) 编辑
摘要: Packing Potatoes 二分 + 循环 无限多的物品,模拟是不现实的,考虑从 $n$ 种物品下手 在第 $i$ 种物品中,我们可以计算,装满盒子之后需要连续放多少个物品,而且还能知道装完之后是在哪种物品停下来 因此我们考虑建立一条有向边,$i -> j$ 代表如果当前盒子第一个放入的是第 阅读全文
posted @ 2022-07-04 15:31 dgsvygd 阅读(86) 评论(0) 推荐(0) 编辑
摘要: Trophy 贪心 打游戏的时候都知道,解锁前置关卡,直到打到收益最高的关卡就一直刷副本 因此答案肯定是解锁完前置关卡就不断刷,找到最小值就行 巨大坑:初始值一定要很大很大(不会有人因此 wa 了 3 发吧) #include <iostream> #include <cstdio> #includ 阅读全文
posted @ 2022-07-04 15:30 dgsvygd 阅读(110) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 13 下一页