01 2022 档案

摘要:\(\text{Solution}\) 问题的转化,建成圆方树后,变为询问 \(S\) 在圆方树上对应的连通子图中的圆点个数减去 \(|S|\) 而根据 \(\text{SDOI2015 寻宝游戏}\) 里的一个重要结论 包含 \(S\) 的极小连通子图边权和的两倍等于将 \(S\) 里的点按 \( 阅读全文
posted @ 2022-01-25 22:22 leiyuanze 阅读(55) 评论(0) 推荐(0)
摘要:\(\text{Problem}\) 给定一张简单无向连通图,要求支持两种操作: \(1.\) 修改一个点的点权。 \(2.\) 询问两点之间所有简单路径上点权的最小值。 \(\text{Solution}\) 不难想到建圆方树处理 那么两点之间的答案为圆方树上圆点和方点所连着的圆点的最小权值 于是 阅读全文
posted @ 2022-01-24 22:31 leiyuanze 阅读(35) 评论(0) 推荐(0)
摘要:\(\text{Problem}\) 给定一张简单无向图,问有多少对三元组 \((s,c,f)\)(\(s,c,f\) 互不相同)使得存在一条简单路径从 \(s\) 出发,经过 \(c\) 到达 \(f\)。 \(\text{Solution}\) 很显然先建出圆方树,然后考虑 \((s,c,f)\ 阅读全文
posted @ 2022-01-24 20:13 leiyuanze 阅读(48) 评论(0) 推荐(0)
摘要:\(\text{Problem}\) 给定一张无向图,\(q\) 次询问,删去一个点或一条相邻两点间的边,问两点是否连通 询问独立 \(\text{Solution}\) 明显的用圆方树把图变成树 然后问一棵树中删去一个点或一条边两点连不连通 只要讨论点双上的点与边,\(LCA\) 与割去点的位置关 阅读全文
posted @ 2022-01-24 10:01 leiyuanze 阅读(62) 评论(0) 推荐(0)
摘要:最小割基本模型 \(\text{Part 1}\) \(\text{Problem}\) 有 \(n\) 个物品和两个集合 \(A,B\),每个物品属于其中一个集合 将一个物品放到 \(A\) 代价为 \(a_i\),放到 \(B\) 为 \(b_i\) 还有一些限制 \(u,v,w\) 表示 \( 阅读全文
posted @ 2022-01-22 19:48 leiyuanze 阅读(108) 评论(0) 推荐(0)
摘要:简要题解加心得 不得不说这是我打得比较痛苦且改得比较痛苦的一套题了 $\text{T1 1085. 【GDOI2008】彩球游戏}$ 整整改了三个半小时 直接崩溃了 明明本地可以跑过去,偏偏 $GMOJ$ 评测机很强势 考场没有想双向 $BFS$,只单向搜了 而且还用了 $STL$ 给予的“巨快” 阅读全文
posted @ 2022-01-21 22:14 leiyuanze 阅读(81) 评论(0) 推荐(0)
摘要:\(\text{Solution}\) 这还是 [Lydsy2017省队十连测] 的题 不得不说 \(FFT\) 在字符串匹配中的妙啊! 前面做了道一维的题,现在这是二维的 从题目入手,不考虑可不可达 如果舰队从天而降,考虑其可以落到以那些点为左上角的点 先将地图压成一维,一行接着一行,礁石处为 \ 阅读全文
posted @ 2022-01-19 21:38 leiyuanze 阅读(58) 评论(0) 推荐(0)
摘要:\(\text{Solution}\) 首先这个题目描述得不清不楚 反正做法是过 \(A\) 城引一条直线,算出直线两侧点数的 \(min\) 找到最优直线,即 \(min\) 最小的 那么重点在判断一个点在直线的哪边 这是二维计算几何的基本操作 好好体会了一番向量积 其几何意义是两向量共定点构成的 阅读全文
posted @ 2022-01-19 19:56 leiyuanze 阅读(36) 评论(0) 推荐(0)
摘要:\(\text{Solution}\) 自己的网络流技术太拉了 连这样的题都做不出来 对于一个怪物,剑术和法术两样东西有一样就可以了 不难想到二分图中最小点覆盖,一条边只有两个端点之一被选就被覆盖了 最小点覆盖等于最大匹配数 \(\text{Code}\) #include <cstdio> #in 阅读全文
posted @ 2022-01-19 19:39 leiyuanze 阅读(36) 评论(0) 推荐(0)
摘要:\(\text{Problem}\) A君和B君在玩一种叫做新红黑树的游戏,即在一棵由红枝和黑枝构成的树上轮流砍树枝,每次砍一枝,A君每次只能砍红枝,B君每次只能砍黑枝,当其中某人已经没有树枝砍的时候,由另外一人砍,直到砍完全部树枝。树枝是带权的,每个人的总分是他砍的树枝的权值之和,那些由于其他树枝 阅读全文
posted @ 2022-01-19 14:40 leiyuanze 阅读(59) 评论(0) 推荐(0)
摘要:\(\text{Problem}\) 给定一个整数序列 \(a[1..N]\),定义 \(sum[i][j]=a[i]+a[i+1]+...+a[j]\),将所有的 \(sum[i][j]\) 从小到大排序(其中 \(i,j\) 满足 \(1<=i<=j<=N\) ),得到一个长为 \(N*(N+1 阅读全文
posted @ 2022-01-19 14:34 leiyuanze 阅读(39) 评论(0) 推荐(0)
摘要:\(\text{Problem}\) 大概就是带通配符的字符串匹配问题,输出所有比配位置 \(1\le n \le 3\times 10^5\) \(\text{Solution}\) 这是 \(FFT\) 在字符串匹配中的应用 默认下标以 \(0\) 开始,记通配符数值为 \(0\) \(A\) 阅读全文
posted @ 2022-01-19 08:00 leiyuanze 阅读(43) 评论(0) 推荐(0)
摘要:\(\text{Problem}\) 经典的区间询问异或和等于 \(k\) 的问题 \(1 \le n \le 10^5\) \(\text{Solution}\) 考虑前缀异或和,那么统计变成 \(i, j \in[l-1,r](0\le i\le j\le n),s[i]\oplus s[j] 阅读全文
posted @ 2022-01-18 21:18 leiyuanze 阅读(51) 评论(0) 推荐(0)
摘要:\(\text{Problem}\) 很久以前,在世界的某处有一个形状为凸多边形的小岛,岛上的居民们决定建一个祭坛,居民们任务祭坛的位置离岛的顶点处越远越好。 你的任务是求凸多边形内一点,使其与各顶点的距离中最短的距离最远,点在边上也可以。 这样的点可能有多个,你只需输出这些点与各顶点的最短距离。 阅读全文
posted @ 2022-01-18 19:59 leiyuanze 阅读(36) 评论(0) 推荐(0)
摘要:\(\text{Problem}\) 我们有一个树,大小为 \(n\)。 考虑树上的一条路径,如果一个边的两个点都在这路径上,我们称这个边属于这个路径,如果一个边有且只有一个点在这路径上,我们称这个边与这个路径相邻。 现在每个边要么是黑色的要么是白色的,一开始所有边都是白色的。 我们有 \(3\) 阅读全文
posted @ 2022-01-18 07:54 leiyuanze 阅读(35) 评论(0) 推荐(0)
摘要:\(\text{Solution}\) 非常经典的求区间最大字段和 不难想到线段树,考虑处理区间答案的合并 维护前缀后缀最大和与区间答案,合并考虑跨中点贡献即可 代码打得非常恶心。。。 \(\text{Code}\) #include <cstdio> #define RE register #de 阅读全文
posted @ 2022-01-17 14:26 leiyuanze 阅读(55) 评论(0) 推荐(0)
摘要:\(\text{Solution}\) 通过观察发现答案路径为一条链和一些简单环组成 环可选可不选,可用过线性基决定(异或最大值) 链的选择不影响答案(考虑多条链必然产生环,涉及的环的异或值是同样的) 那么我们就只要任取一条链并借助返祖边找到简单环,线性基弄出答案即可 \(\text{Code}\) 阅读全文
posted @ 2022-01-15 21:42 leiyuanze 阅读(33) 评论(0) 推荐(0)
摘要:\(\text{Solution}\) 很容易想到映射处理 以 \(a\) 为基准,主要是因为 \(a\) 不修改 然后就是要解决这么一个问题,带单点修改的二维数点 考虑 \(CDQ\) 分治 当前只考虑分治中心左边区间的修改操作对右边查询的贡献 树状数组即可维护 (第一道 \(CDQ\) 将动态问 阅读全文
posted @ 2022-01-15 20:35 leiyuanze 阅读(33) 评论(0) 推荐(0)
摘要:\(\text{Solution}\) 当 \(h=1\) 时显然是斯坦纳树板子,最方案必然是树形的 \(h > 1\) 时,考虑在每一层新建一个状态表示上一层宝藏全部挖完到这层某个点的答案 同理转移 \(\text{Code}\) #include <cstdio> #include <iostr 阅读全文
posted @ 2022-01-14 21:56 leiyuanze 阅读(29) 评论(0) 推荐(0)
摘要:\(\text{Solution}\) 模板题,二分图带权匹配 第一问费用流即可 第二问考虑枚举最优方案的一条边,删掉,再跑费用流,不能跑出之前的结果说明此边为必经边 \(\text{Code}\) #include <cstdio> #include <queue> #define RE regi 阅读全文
posted @ 2022-01-14 14:39 leiyuanze 阅读(35) 评论(0) 推荐(0)
摘要:\(\text{Problem}\) 大概就是给出 \(n\) 个数和 \(m\),要从中选最多的数使得两两异或值大于等于 \(m\) 输出方案 \(\text{Solution}\) 一开始的想法很复杂、、、 其实用到一个结论就做好了 对于一个升序数列,它们两两间的异或最小值就是相邻数的异或最小值 阅读全文
posted @ 2022-01-14 07:40 leiyuanze 阅读(83) 评论(0) 推荐(0)
摘要:\(\text{Problem}\) 给出向量 \(\boldsymbol a = (x1,y1), \boldsymbol b = (x2,y2)\) 求 \(|\lambda_1\boldsymbol a + \lambda_2\boldsymbol b|\) 的最小值 其中 \(\lambda 阅读全文
posted @ 2022-01-13 21:09 leiyuanze 阅读(40) 评论(0) 推荐(0)
摘要:\(\text{Solution}\) 很显然的暴力就是把路径上的数抽出来弄个线性基求答案 再优化一下就是用倍增的方式把数抽出来 倍增时涉及两个线性基合并,然后就是 \(O(3600q\log n)\) 了 竟没想到它可以过 \(\text{Code}\) #include <cstdio> #in 阅读全文
posted @ 2022-01-03 11:59 leiyuanze 阅读(57) 评论(0) 推荐(0)