上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 26 下一页
摘要: \(\text{Problem}\) 大概就是带通配符的字符串匹配问题,输出所有比配位置 \(1\le n \le 3\times 10^5\) \(\text{Solution}\) 这是 \(FFT\) 在字符串匹配中的应用 默认下标以 \(0\) 开始,记通配符数值为 \(0\) \(A\) 阅读全文
posted @ 2022-01-19 08:00 leiyuanze 阅读(30) 评论(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 阅读(32) 评论(0) 推荐(0) 编辑
摘要: \(\text{Problem}\) 很久以前,在世界的某处有一个形状为凸多边形的小岛,岛上的居民们决定建一个祭坛,居民们任务祭坛的位置离岛的顶点处越远越好。 你的任务是求凸多边形内一点,使其与各顶点的距离中最短的距离最远,点在边上也可以。 这样的点可能有多个,你只需输出这些点与各顶点的最短距离。 阅读全文
posted @ 2022-01-18 19:59 leiyuanze 阅读(26) 评论(0) 推荐(0) 编辑
摘要: \(\text{Problem}\) 我们有一个树,大小为 \(n\)。 考虑树上的一条路径,如果一个边的两个点都在这路径上,我们称这个边属于这个路径,如果一个边有且只有一个点在这路径上,我们称这个边与这个路径相邻。 现在每个边要么是黑色的要么是白色的,一开始所有边都是白色的。 我们有 \(3\) 阅读全文
posted @ 2022-01-18 07:54 leiyuanze 阅读(31) 评论(0) 推荐(0) 编辑
摘要: \(\text{Solution}\) 非常经典的求区间最大字段和 不难想到线段树,考虑处理区间答案的合并 维护前缀后缀最大和与区间答案,合并考虑跨中点贡献即可 代码打得非常恶心。。。 \(\text{Code}\) #include <cstdio> #define RE register #de 阅读全文
posted @ 2022-01-17 14:26 leiyuanze 阅读(45) 评论(0) 推荐(0) 编辑
摘要: \(\text{Solution}\) 通过观察发现答案路径为一条链和一些简单环组成 环可选可不选,可用过线性基决定(异或最大值) 链的选择不影响答案(考虑多条链必然产生环,涉及的环的异或值是同样的) 那么我们就只要任取一条链并借助返祖边找到简单环,线性基弄出答案即可 \(\text{Code}\) 阅读全文
posted @ 2022-01-15 21:42 leiyuanze 阅读(26) 评论(0) 推荐(0) 编辑
摘要: \(\text{Solution}\) 很容易想到映射处理 以 \(a\) 为基准,主要是因为 \(a\) 不修改 然后就是要解决这么一个问题,带单点修改的二维数点 考虑 \(CDQ\) 分治 当前只考虑分治中心左边区间的修改操作对右边查询的贡献 树状数组即可维护 (第一道 \(CDQ\) 将动态问 阅读全文
posted @ 2022-01-15 20:35 leiyuanze 阅读(26) 评论(0) 推荐(0) 编辑
摘要: \(\text{Solution}\) 当 \(h=1\) 时显然是斯坦纳树板子,最方案必然是树形的 \(h > 1\) 时,考虑在每一层新建一个状态表示上一层宝藏全部挖完到这层某个点的答案 同理转移 \(\text{Code}\) #include <cstdio> #include <iostr 阅读全文
posted @ 2022-01-14 21:56 leiyuanze 阅读(21) 评论(0) 推荐(0) 编辑
摘要: \(\text{Solution}\) 模板题,二分图带权匹配 第一问费用流即可 第二问考虑枚举最优方案的一条边,删掉,再跑费用流,不能跑出之前的结果说明此边为必经边 \(\text{Code}\) #include <cstdio> #include <queue> #define RE regi 阅读全文
posted @ 2022-01-14 14:39 leiyuanze 阅读(28) 评论(0) 推荐(0) 编辑
摘要: \(\text{Problem}\) 大概就是给出 \(n\) 个数和 \(m\),要从中选最多的数使得两两异或值大于等于 \(m\) 输出方案 \(\text{Solution}\) 一开始的想法很复杂、、、 其实用到一个结论就做好了 对于一个升序数列,它们两两间的异或最小值就是相邻数的异或最小值 阅读全文
posted @ 2022-01-14 07:40 leiyuanze 阅读(67) 评论(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 阅读(33) 评论(0) 推荐(0) 编辑
摘要: \(\text{Solution}\) 很显然的暴力就是把路径上的数抽出来弄个线性基求答案 再优化一下就是用倍增的方式把数抽出来 倍增时涉及两个线性基合并,然后就是 \(O(3600q\log n)\) 了 竟没想到它可以过 \(\text{Code}\) #include <cstdio> #in 阅读全文
posted @ 2022-01-03 11:59 leiyuanze 阅读(36) 评论(0) 推荐(0) 编辑
摘要: \(\text{Solution}\) 第一道有向图 \(SG\) 函数的博弈论 有根树,设 \(f[x]\) 表示以 \(x\) 为根子树的 \(SG\) 值 对于分裂的图的 \(SG\) 值为每个小联通图 \(SG\) 的异或值 考虑每次操作后形成的图的 \(SG\) 值,这些为原图的可达状态 阅读全文
posted @ 2021-12-31 08:07 leiyuanze 阅读(137) 评论(0) 推荐(0) 编辑
摘要: \(\text{Solution}\) 很容易想到二分,然后 \(DFS\) 走所有能走的边,看是否大于等于 \(z\) 这样就是 \(O(nm \log m)\) 改进措施,思维不够,暴力来凑 先改变下 \(check\) 把 \(\le mid\) 的边加进图中,并查集维护连通性和 \(size 阅读全文
posted @ 2021-12-17 13:35 leiyuanze 阅读(28) 评论(0) 推荐(0) 编辑
摘要: \(\text{Code}\) 经过简单的转换后高斯消元即可 好久没打过高斯消元了,最近的还是 \(\text{two years ago......}\) #include <cstdio> #include <iostream> #define RE register using namespa 阅读全文
posted @ 2021-12-15 13:28 leiyuanze 阅读(24) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 26 下一页