06 2022 档案

摘要:Minimum Or Spanning Tree(代码源每日一题) Minimum Or Spanning Tree - 题目 - Daimayuan Online Judge 贪心,最小生成树 由于生成树的代价是各边权值的按位或,因此按位数从大到小贪心 若当前位能全用 0 边构成生成树就全用 0 阅读全文
posted @ 2022-06-13 15:02 hzy0227 阅读(20) 评论(0) 推荐(0) 编辑
摘要:序列操作(代码源每日一题) 序列操作 - 题目 - Daimayuan Online Judge 思维 要观察到两种操作的性质: 单点修改的优先级是最高的,所以一个位置有且只有最后一次单点修改起作用 在不考虑单点修改的情况下,只有最大的 y 的操作才起作用 接下来思考在操作 2 中如何不考虑单点修改 阅读全文
posted @ 2022-06-13 14:56 hzy0227 阅读(38) 评论(0) 推荐(0) 编辑
摘要:选数(代码源每日一题) 选数 - 题目 - Daimayuan Online Judge 抽屉原理 求出前缀和 mod n 后的值,若前缀和的某一项 i 为 0,则 [1, n] 就是满足条件的区间 若前缀和没有为 0 的项,由于有 s1sn, n 个数,值域分布在 \([1,n-1] 阅读全文
posted @ 2022-06-13 14:50 hzy0227 阅读(54) 评论(0) 推荐(0) 编辑
摘要:no crossing(代码源每日一题) no crossing - 题目 - Daimayuan Online Judge 区间DP 从暴力思路入手,站在 now 号点,当前可行的区间是 [l, r], 还要走 k 步,因此状态数为 n4, 总转移复杂度为 m, 总复杂度为 \( 阅读全文
posted @ 2022-06-12 17:23 hzy0227 阅读(65) 评论(0) 推荐(0) 编辑
摘要:数数(离线树状数组处理可持久化问题) 题意 给定 n(1<=n<=105) 长度的数组 ai(0<=ai<=109), 进行 m 次询问,格式为 l,r,v,每次询问 l<=i<=r ,有多少 ai<=v 数数 - 题目 - Daimayua 阅读全文
posted @ 2022-06-12 17:07 hzy0227 阅读(64) 评论(0) 推荐(0) 编辑
摘要:图染色 根号分治 图染色 - 题目 - Daimayuan Online Judge 图染色问题一般可用,树染色可用 dp 等方法 设一个阈值 M 度数大于 M 的点可设为大点,<= M 的设为小点 查询 若为小点,直接暴力枚举邻居,最多枚举 M 个 若为大点,不能暴力枚举,可考虑在修改的时候就算出 阅读全文
posted @ 2022-06-11 11:52 hzy0227 阅读(62) 评论(0) 推荐(0) 编辑
摘要:等差数列加 根号分治 等差数列加 - 题目 - Daimayuan Online Judge 设一个阈值 M 给等差数列的位置上加 k 若公差 d >= M, 则暴力加,每次操作复杂度最高为 O(nM) 若公差 d < M, 则可以打标记记录下公差为 d, 第一个 阅读全文
posted @ 2022-06-11 11:43 hzy0227 阅读(78) 评论(0) 推荐(0) 编辑
摘要:E - Ring MST 数论,最小生成树 根据 kruskal 的原理,将边排序取最小的、可以两端点未联通的前 n1 条边即可,但本题的边数是 nm 级别,不能排序 只有 m 种操作,每种操作的代价是相同的,第 i 种操作是连接 x 与 \((x+A_i 阅读全文
posted @ 2022-06-10 17:01 hzy0227 阅读(71) 评论(0) 推荐(0) 编辑
摘要:2 - sat 模板 P4782 【模板】2-SAT 问题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include <iostream> #include <algorithm> #include <cstring> #include <vector> #include 阅读全文
posted @ 2022-06-10 15:40 hzy0227 阅读(21) 评论(0) 推荐(0) 编辑
摘要:D - National Railway 矩阵DP,拆绝对值 设向下为 x 正方向,向右为 y 正方向 设两个点为 (x1,y1),(x2,y2), 代价为 Ax1y1+Ax2y2+|x1x2|+|y1y2| 想办法拆掉绝对 阅读全文
posted @ 2022-06-09 20:10 hzy0227 阅读(31) 评论(0) 推荐(0) 编辑
摘要:F - Deforestation 插入DP,前缀和优化DP 因为砍一颗树的代价只与相邻的树的高度有关,并且在第 i 棵与第 i+1 棵中 先砍第 i 棵,代价为 \(h[i-1]+h[i]+h[i+1]+h[i+1]+h[i+2]=h[i-1]+h[i+2]+h[i]+2* 阅读全文
posted @ 2022-06-08 18:41 hzy0227 阅读(59) 评论(0) 推荐(0) 编辑
摘要:E - Shiritori 对抗博弈,BFS,哈希 对于每个字符串,设前三位哈希值为 a,后三位哈希值为 b,则可用 b 来代表该字符串,连一条 a → b 表示若当前是 a 字符串,可以变成 b 反向建图,连 b → a 的边,则入度为 0 的边就是原图的终点,是必败态,赋 0,并将其放入队列 b 阅读全文
posted @ 2022-06-08 18:28 hzy0227 阅读(40) 评论(0) 推荐(0) 编辑
摘要:F - Vlad and Unfinished Business 树形dp 答案可看作是 x->y 路径长度 + 路径上的点向有标记的点上拐一圈回来的代价 先以 x 为根 dfs,求出将路径上的点 u 标记为 path[u]=1, son[u] 表示 u 子树中的标记 阅读全文
posted @ 2022-06-07 20:41 hzy0227 阅读(37) 评论(0) 推荐(0) 编辑
摘要:矩形面积并 扫描线,线段树 http://oj.daimayuan.top/course/15/problem/688 #include <iostream> #include <algorithm> #include <cstring> #include <vector> #include <cm 阅读全文
posted @ 2022-06-07 15:15 hzy0227 阅读(21) 评论(0) 推荐(0) 编辑
摘要:E - Digit Products 数位dp 因为只能由 1~9 相乘而来,所以 mul=2a3b5c7d, d<=c<=b<=a<=log2k, 所以最多 log4k 种乘积,总复杂度为 O(log4klogn) #include <iost 阅读全文
posted @ 2022-06-07 13:01 hzy0227 阅读(41) 评论(0) 推荐(0) 编辑
摘要:线段树 单点修改,区间查询 线段树2 - 题目 - Daimayuan Online Judge #include <iostream> #include <cstring> #include <algorithm> #include <vector> #include <cmath> using 阅读全文
posted @ 2022-06-04 17:37 hzy0227 阅读(85) 评论(0) 推荐(0) 编辑
摘要:D - Congruence Points 计算几何 给出两个点集 S,T,判断 S 点集的点是否可以通过平移、绕原点旋转变成 T 先求出两个点集的重心,将 S,T 中点的坐标都变成相对重心的坐标(也可以认为是平移到重心是原点的地方) 这时若 S 可旋转变成 T,则就可以 可枚举 S[i] 阅读全文
posted @ 2022-06-02 18:07 hzy0227 阅读(43) 评论(0) 推荐(0) 编辑
摘要:D - Max GEQ Sum 单调栈 + st表 如果枚举每个区间的话,就算用 st 表 O(1) 查询,总复杂度也是 O(n2) 所以要想办法减少要枚举的区间,用类似于贪心的思路,只枚举那些更容易使得 区间最大值 < 区间和 的区间 为了使区间最大值不变大,区间和不变小,可以想 阅读全文
posted @ 2022-06-01 12:34 hzy0227 阅读(125) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示