摘要:
KLC 数点由 KLC 大神在模拟赛中发明。 其算法复杂度与答案值域大小挂钩。 其能解决的问题一般有着如下的特点:给定一个序列,每次询问一个区间有多少个子区间满足什么性质,数据随机生成。 其算法流程为: 通过某种方法预处理出所有满足性质的子区间 将得到的区间表示在二维平面上 将询问离线,转化为二维数 阅读全文
摘要:
扫描线是一种算法思想,其特征为将静态 \(k\) 维问题转化为动态 \(k - 1\) 维问题。动态 \(k - 1\) 维问题往往需要数据结构维护。 例题 【模板】扫描线 题意:求矩形面积并,其中每个举行的四边平行于坐标轴。 考虑扫描线,将静态 \(2\) 维问题转化为动态 \(1\) 维问题。 阅读全文
摘要:
强化基础算法,提升个人水平。 #65. 跳树 考虑建线段树,对每个节点维护 rt, l, num 分别代表最高跳到哪层,跳到最高后最低到哪层,以及往下跳的路径(左儿子右儿子)。 然后合并时注意细节。 代码: #include <bits/stdc++.h> #define int long long 阅读全文
摘要:
闲话 调试约一个下午后发现极大值设小了。 Cardboard Box 考虑开两个堆 \(q_1\) 和 \(a_2\),一个存入所有一颗星星的取法,另一个存入所有两颗星星的取法。 每次两颗两颗比较,然后如果某一次取了一颗星星,那么(设这颗星星对应关卡编号为 \(i\))把 \(b_i - a_i\) 阅读全文
摘要:
闲话 插,就硬插,插完就过了( P4781 【模板】拉格朗日插值 模板题,写拉格朗日插值即可。 代码: #include <bits/stdc++.h> #define int long long #define rep(i, l, r) for (int i = l; i <= r; i++) u 阅读全文
摘要:
闲话 数组开小挂分 Kruskal 跑 \(m = 9e6\) TLE 问题 D: Card Game 简单猜结论得到答案是 \(2 ^ {n - 1} - 1\),需要快速幂。 代码: #include <bits/stdc++.h> #define int long long using nam 阅读全文
摘要:
闲话 回滚莫队板题被卡到 28pts 了 歴史の研究 回滚莫队题。莫队笔记 考虑很好加(维护 cnt 并更新答案即可),但是不好删。 那么回滚莫队 代码: #include <bits/stdc++.h> #define int long long #define rep(i, l, r) for 阅读全文
摘要:
闲话 打 OI Bingo 然后大力卡时卡空间,贺了最优解之后成功 Bingo. rep (i, 0, (int)v.size() - 1) v.push_back(1);在 vector v 本来就有内容的情况下会持续循环。 rep (i, 1, n) rep (i, 1, n) cin >> a 阅读全文
摘要:
开坑,待补 阅读全文
摘要:
今日训练总结 回滚莫队 (https://www.luogu.com.cn/problem/P4137) 难点:代码中出现了许多小问题,调试过程耗时较长。 解决方法: 通过调试较大的数据并成功找到问题。 找到出错且数据较小的询问,逐步调试。 对于莫队这种在询问间转移答案的算法,找到一组出错询问及其之 阅读全文