上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 26 下一页
摘要: 贴模板 注意:\(\text{id}\) 表示第二关键字排序后(其实无需排序,利用上轮的 \(\text{sa}\) 值即可)相应的第一关键字的位置 计数排序为了稳定性最后确定位置时要倒着开始 复制的 \(\text{ork}\) 要开两倍 \(\text{Code}\) #include <cst 阅读全文
posted @ 2021-08-13 19:44 leiyuanze 阅读(34) 评论(0) 推荐(0)
摘要: \(\text{Problem}\) \(\text{Solution}\) 纪念我考场正解被二分暴力暴踩。。。 首先二分的话,显然可以二分出答案,然后数矩阵和大于等于本矩阵的是否有 \(k\) 个 加一些优化就可以 \(AC\)?!! 不管它,正解就是让矩阵行列大小从小到大扩展,矩阵和小一些的肯定 阅读全文
posted @ 2021-08-12 15:10 leiyuanze 阅读(43) 评论(0) 推荐(0)
摘要: \(\text{Problem}\) \(\text{Solution}\) 最优解一定是一个回文子串的最优构造加上剩下的逐个填入 考虑用回文树建出所有的回文串,然后 \(dp\) 求回文子串最优的构造方案 维护一个 \(\text{half}\) 意义同 \(\text{fail}\),但要保证长 阅读全文
posted @ 2021-08-11 21:57 leiyuanze 阅读(45) 评论(0) 推荐(0)
摘要: \(\text{Code}\) #include<cstdio> #include<cstring> #include<iostream> #define LL long long #define re register using namespace std; const int N = 3e5 阅读全文
posted @ 2021-08-11 19:03 leiyuanze 阅读(39) 评论(0) 推荐(0)
摘要: \(\text{Problem}\) \(\text{Solution}\) 考虑 \(60\) 分 设 \(f_{i,j,k}\) 表示前 \(i\) 个数,模 \(j\) 同余 \(k\) 的个数 由于空间太大,离线后把询问 \(l,r\) 拆开,挂到相应的位置上 然后按位置顺着扫一遍即可 考虑 阅读全文
posted @ 2021-08-11 11:55 leiyuanze 阅读(42) 评论(0) 推荐(0)
摘要: \(\text{Problem}\) 一年一度的高考结束了,我校要拍集体照。本届毕业生共分 \(n\) 个班,每个班的人数为 \(A_i\)。这次拍集体照的要求非常奇怪:所有学生站一排,且相邻两个学生不能同班。现在,安排这次集体照的老师找到了你,想问问你一共有多少种方案。方案数可能很大,最终结果对 阅读全文
posted @ 2021-08-11 11:30 leiyuanze 阅读(51) 评论(0) 推荐(0)
摘要: \(\text{Solution}\) \(dp\) 翻折就只需预处理回文中心 \(Manacher\) 预处理即可 \(Code\) #include<cstdio> #include<iostream> #define LL long long using namespace std; cons 阅读全文
posted @ 2021-08-11 11:15 leiyuanze 阅读(69) 评论(0) 推荐(0)
摘要: \(\text{Solution}\) \(30\) 分暴搜合法路径 另 \(30\) 分状压 设 \(f_{i,j,k}\) 表示当前到第 \(i\) 个点,走过的点状态为 \(j\),走过的路径长度为 \(k\) 的方案数 \(100\) 分仍然回到暴搜 考虑折半搜索,把路径拼起来,先搜一次,哈 阅读全文
posted @ 2021-08-11 07:52 leiyuanze 阅读(28) 评论(0) 推荐(0)
摘要: \(\text{Problem}\) 有向不联通图,求每个子图至多选出一条最大权值和的路径,求前 \(k+1\) 个 \(\text{Solution}\) 显然将每个子图缩点后 \(dp\),排序 \(dp\) 值即可 很多细节要处理 \(\text{Code}\) #include<cstdio 阅读全文
posted @ 2021-08-10 21:56 leiyuanze 阅读(36) 评论(0) 推荐(0)
摘要: \(Tarjan\) 模板 #include<cstdio> #include<queue> #include<iostream> #define re register using namespace std; const int N = 1e4 + 5; int n, m, a[N], h1[N 阅读全文
posted @ 2021-08-10 21:51 leiyuanze 阅读(29) 评论(0) 推荐(0)
摘要: \(\text{Problem}\) 求 \[ \sum_{i=1}^n \sum_{j=1}^m \sigma_1(\gcd(i,j)) \] 当且仅当 \(\sigma(\gcd(i,j)) \le a\) 时有贡献 多组询问,答案对 \(2^{31}\) 取模 \(1 \le n,m \le 阅读全文
posted @ 2021-07-22 15:35 leiyuanze 阅读(44) 评论(0) 推荐(0)
摘要: $\text 非常巧妙的二分答案 因为只有一个询问,且答案满足单调性,所以二分答案 \(mid\) 原序列中大于等于 \(mid\) 的数的位置赋为 \(1\),否则赋为 \(0\) 然后走一遍排序操作,用线段树赋值完成排序 最后检查 \(q\) 位置上的情况,\(0\) 就不行,\(1\) 就可以 阅读全文
posted @ 2021-07-21 21:40 leiyuanze 阅读(28) 评论(0) 推荐(0)
摘要: $\text 支持区间加区间翻转区间最大值 $\text \(\text{FHQ-Treap}\) 两个标记加与翻转 然后维护区间最大值 $\text #include <cstdio> #include <algorithm> #include <ctime> #define re registe 阅读全文
posted @ 2021-07-21 20:10 leiyuanze 阅读(54) 评论(0) 推荐(0)
摘要: $\text 设 \(f_{x,i}\) 表示以 \(x\) 为根的子树 \(i\) 天后的最大收益 那么 \(f_{x,i} = \max(f_{x,i-1},w_x [d[x] \ge i] + \sum f_{v,i})\) 这样的转移时 \(O(nk)\) 的,只能拿到 \(34pts\) 阅读全文
posted @ 2021-07-21 19:15 leiyuanze 阅读(96) 评论(0) 推荐(0)
摘要: \(Solution\) 非常板的一道题,支持区间翻转 本人采用 \(\text{FQH-Treap}\) 实现,按排名分裂 题目显然可以转化为找区间最小值的位置,只要每次把当前最小值扔出 \(\text{Treap}\) 为处理最小值相同的情况,就离散化处理 然后维护子树最小值就对了 $\text 阅读全文
posted @ 2021-07-20 21:45 leiyuanze 阅读(63) 评论(0) 推荐(0)
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 26 下一页