06 2022 档案
摘要:Minimum Or Spanning Tree(代码源每日一题) Minimum Or Spanning Tree - 题目 - Daimayuan Online Judge 贪心,最小生成树 由于生成树的代价是各边权值的按位或,因此按位数从大到小贪心 若当前位能全用 0 边构成生成树就全用 0
阅读全文
摘要:序列操作(代码源每日一题) 序列操作 - 题目 - Daimayuan Online Judge 思维 要观察到两种操作的性质: 单点修改的优先级是最高的,所以一个位置有且只有最后一次单点修改起作用 在不考虑单点修改的情况下,只有最大的 y 的操作才起作用 接下来思考在操作 2 中如何不考虑单点修改
阅读全文
摘要:选数(代码源每日一题) 选数 - 题目 - Daimayuan Online Judge 抽屉原理 求出前缀和 mod n 后的值,若前缀和的某一项 i 为 0,则 [1, n] 就是满足条件的区间 若前缀和没有为 0 的项,由于有 , n 个数,值域分布在 \([1,n-1]
阅读全文
摘要:no crossing(代码源每日一题) no crossing - 题目 - Daimayuan Online Judge 区间DP 从暴力思路入手,站在 now 号点,当前可行的区间是 [l, r], 还要走 k 步,因此状态数为 , 总转移复杂度为 , 总复杂度为 \(
阅读全文
摘要:图染色 根号分治 图染色 - 题目 - Daimayuan Online Judge 图染色问题一般可用,树染色可用 dp 等方法 设一个阈值 M 度数大于 M 的点可设为大点,<= M 的设为小点 查询 若为小点,直接暴力枚举邻居,最多枚举 M 个 若为大点,不能暴力枚举,可考虑在修改的时候就算出
阅读全文
摘要:等差数列加 根号分治 等差数列加 - 题目 - Daimayuan Online Judge 设一个阈值 给等差数列的位置上加 k 若公差 d >= M, 则暴力加,每次操作复杂度最高为 若公差 d < M, 则可以打标记记录下公差为 , 第一个
阅读全文
摘要:E - Ring MST 数论,最小生成树 根据 kruskal 的原理,将边排序取最小的、可以两端点未联通的前 条边即可,但本题的边数是 级别,不能排序 只有 种操作,每种操作的代价是相同的,第 种操作是连接 与 \((x+A_i
阅读全文
摘要:2 - sat 模板 P4782 【模板】2-SAT 问题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include <iostream> #include <algorithm> #include <cstring> #include <vector> #include
阅读全文
摘要:F - Deforestation 插入DP,前缀和优化DP 因为砍一颗树的代价只与相邻的树的高度有关,并且在第 棵与第 棵中 先砍第 棵,代价为 \(h[i-1]+h[i]+h[i+1]+h[i+1]+h[i+2]=h[i-1]+h[i+2]+h[i]+2*
阅读全文
摘要:E - Shiritori 对抗博弈,BFS,哈希 对于每个字符串,设前三位哈希值为 a,后三位哈希值为 b,则可用 b 来代表该字符串,连一条 a → b 表示若当前是 a 字符串,可以变成 b 反向建图,连 b → a 的边,则入度为 0 的边就是原图的终点,是必败态,赋 0,并将其放入队列 b
阅读全文
摘要:F - Vlad and Unfinished Business 树形dp 答案可看作是 x->y 路径长度 + 路径上的点向有标记的点上拐一圈回来的代价 先以 x 为根 dfs,求出将路径上的点 标记为 , 表示 子树中的标记
阅读全文
摘要:矩形面积并 扫描线,线段树 http://oj.daimayuan.top/course/15/problem/688 #include <iostream> #include <algorithm> #include <cstring> #include <vector> #include <cm
阅读全文
摘要:线段树 单点修改,区间查询 线段树2 - 题目 - Daimayuan Online Judge #include <iostream> #include <cstring> #include <algorithm> #include <vector> #include <cmath> using
阅读全文
摘要:D - Congruence Points 计算几何 给出两个点集 S,T,判断 S 点集的点是否可以通过平移、绕原点旋转变成 T 先求出两个点集的重心,将 S,T 中点的坐标都变成相对重心的坐标(也可以认为是平移到重心是原点的地方) 这时若 S 可旋转变成 T,则就可以 可枚举
阅读全文
摘要:D - Max GEQ Sum 单调栈 + st表 如果枚举每个区间的话,就算用 st 表 查询,总复杂度也是 所以要想办法减少要枚举的区间,用类似于贪心的思路,只枚举那些更容易使得 区间最大值 < 区间和 的区间 为了使区间最大值不变大,区间和不变小,可以想
阅读全文