随笔分类 -  xcpc

摘要:F-[APIO2014]回文串 一个板子题, 维护一下每个节点出现次数,倒着把次数往 fail 上推, 长度可以直接维护 #include<bits/stdc++.h> using namespace std; #define endl "\n" #define int long long type 阅读全文
posted @ 2024-03-21 21:00 zhujio 阅读(5) 评论(0) 推荐(0)
摘要:线段树维护区间等差数列 我们采用用两个懒标记分别维护等 差数列首项 k 和 公差 d 维护时有个细节是假如我有左右两个区间需要合并信息时 我们对于左边还是 k 和 d 但是对于右边信息此时 k 应该变成 k + len * d, 公差还是 d len表示的是右边区间长度 牛牛的等差数列 #inclu 阅读全文
posted @ 2024-03-10 13:15 zhujio 阅读(28) 评论(0) 推荐(0)
摘要:今天下午写这题 牛牛的等差数列 时瞪了一下午没找到为什么 wa 了, 留个记录提醒一下自己 后面发现好像是线段树 modify 函数写错了 一般 modify 函数我都是写成这样的 但是写这题 mid 卡在修改区间中间这种写法有点难处理于是我就写了这种写法 一直在 wa, 问题出在这里 这里应该写成 阅读全文
posted @ 2024-03-09 18:05 zhujio 阅读(9) 评论(0) 推荐(0)
摘要:启发式合并 启发式合并就是每次把小的集合丢到大的集合中 这样子小的 sz 至少是变成两倍的, 所以每个元素最多被遍历 log 次, 因此复杂度是 O(nlogn)的 [ABC329F] Colored Ball #include <bits/stdc++.h> using namespace std 阅读全文
posted @ 2024-02-27 16:20 zhujio 阅读(27) 评论(0) 推荐(0)
摘要:线段树维护的信息有当前行有多少方块, 一共有多少方块 拿线段树维护一个矩阵就行,转移更新就是矩阵乘 类似题有这个 牛客多校第二场-H - zhujio 两题都基本上就是转移矩阵求出来正常建线段树, pushup就是直接矩阵乘 #include <bits/stdc++.h> using namesp 阅读全文
posted @ 2024-02-19 21:43 zhujio 阅读(46) 评论(0) 推荐(0)
摘要:数据结构维护fail树 string AC自动机是离线型数据结构, 所以我们先离线下来所有操作, 先建出来 AC 自动机 再对 fail 树求 dfs 序用树状数组维护, 对 fail 树的子树区间加 为什么是对于子树加呢? 对于 fail 树的构建我们是由 fail [ i ] $\to$ i 那 阅读全文
posted @ 2024-02-16 23:32 zhujio 阅读(24) 评论(0) 推荐(0)
摘要:[ABC331F] Palindrome Query #include <bits/stdc++.h> using namespace std; #define endl "\n" #define int long long typedef long long ll; const int base 阅读全文
posted @ 2024-02-08 19:31 zhujio 阅读(76) 评论(0) 推荐(0)
摘要:$\large Border:若字符串同长度的前缀和后缀完全相同,即Prefix[i]=suffix[i],称此前(后)缀为字符串的一个Border$ 重要性质 $\large p 是 S 的周期 \Leftrightarrow |S|-p是S的Border$ $\large所以求周期等价于求Bor 阅读全文
posted @ 2024-01-29 21:14 zhujio 阅读(15) 评论(0) 推荐(0)
摘要:CDQ解决三维偏序 为了方便处理时共用一个大概模板 我们都指定 需要被统计的元素作为 归并时 后半部分 也就是说我们指定 需要被统计元素为归并排序(从小到大)中 较大者 P3810 【模板】三维偏序(陌上花开 首先按第一个属性 sort 可以解开第一种属性的约束关系 再去归并排序第二个属性, 树状数 阅读全文
posted @ 2024-01-19 22:32 zhujio 阅读(11) 评论(0) 推荐(0)
摘要:Minimum spanning tree for each edge 求出一颗最小生成树, 然后由于我们必须包括第 i 条边 假设这条边在最小生成树上就是最小生成树的权值和 反之, 我们需要加入这条边到最小生成树上, 我们假设这条边连接 u, v 两条边, 那么我们贪心的去拿最小生成树上最长边断开 阅读全文
posted @ 2024-01-16 22:27 zhujio 阅读(26) 评论(0) 推荐(0)
摘要:P4570 [BJWC2011] 元素 有两种属性 要求其中一种选出来线性无关(不能异或为0)前提下,另外一种属性加起来最大, 把第二种属性从大到小排个序, 能加就加。 感性理解一下,就是我们对于线性基每个位置我们都尽可能让第二种属性大的去占住,这样就可以保证第二种属性加起来最大 #include 阅读全文
posted @ 2024-01-16 13:50 zhujio 阅读(11) 评论(0) 推荐(0)
摘要:这类型题目感觉有种性质: L 和 R 是同步变化的,变化时必须使得 L = R, 然后去考虑他的两种式子单调性进行二分 New Year Concert Friends and Subsequences Array Partition 阅读全文
posted @ 2024-01-10 23:31 zhujio 阅读(13) 评论(0) 推荐(0)
摘要:字典树 Beautiful Subarrays 一眼转换为前缀和形式, 然后字典树计数即可 #include <bits/stdc++.h> using namespace std; #define endl "\n" typedef long long ll; const int N = 1e6 阅读全文
posted @ 2024-01-09 11:33 zhujio 阅读(30) 评论(0) 推荐(0)
摘要:P3396 哈希冲突 [ABC219G] Propagation I-We Love Strings Time to Raid Cowavans Array Queries Train Maintenance 阅读全文
posted @ 2023-10-13 21:14 zhujio 阅读(15) 评论(0) 推荐(0)
摘要:[ABC223F] Parenthesis Checking 维护区间和以及前缀最小值, 对于一个区间括号序列合法判断方法 : 视 ' ( ' 为 1 , ' ) ' 为 -1 那么一段区间括号序列合法就是:1.该段区间和为 02.对于这段中每个位置的前缀和 u 都要满足 u >= 0 #inclu 阅读全文
posted @ 2023-10-12 22:44 zhujio 阅读(62) 评论(0) 推荐(0)
摘要:占坑 H-Problem H. xor_2021 CCPC 新疆省赛 P9236 [蓝桥杯 2023 省 A] 异或和之和 Sum of XOR Functions I-The Yakumo Family_2023牛客暑期多校训练营5 (nowcoder.com) 1009 序列 (hdu.edu. 阅读全文
posted @ 2023-09-28 21:42 zhujio 阅读(27) 评论(0) 推荐(0)
摘要:[ABC218E] Destruction 题意翻译 给一个无向图,让你从中选出几个边,要求选出的边权总和最大并且剩下的图要是一个连通图,输出最大的边权。 贪心的想剩下来的图一定是一个树结构,那么要满足去掉的边权和大,就可以想到最小生成树,用总边权减去最小生成树就是答案 [ABC218F] Bloc 阅读全文
posted @ 2023-09-13 16:58 zhujio 阅读(39) 评论(0) 推荐(0)
摘要:[ABC217E] Sorting Queries 维护一个空序列 A ,有 Q 次查询: 在 A 的最后插入一个元素一个元素 x 输出 A 的第一个元素并删除这个元素 将这个序列排序 用 deque 和 multiset 维护,复杂度应该是$O(\space log(\space n \space 阅读全文
posted @ 2023-09-11 17:58 zhujio 阅读(18) 评论(0) 推荐(0)