摘要:
#include <bits/stdc++.h> using namespace std; using _T=double; // 全局数据类型,可修改为 long long 等 const _T eps=1e-8; const long double PI=3.141592653589793238 阅读全文
摘要:
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 的项,由于有 \(s_1-s_n\), n 个数,值域分布在 \([1,n-1] 阅读全文
摘要:
no crossing(代码源每日一题) no crossing - 题目 - Daimayuan Online Judge 区间DP 从暴力思路入手,站在 now 号点,当前可行的区间是 [l, r], 还要走 k 步,因此状态数为 \(n^4\), 总转移复杂度为 \(m\), 总复杂度为 \( 阅读全文
摘要:
数数(离线树状数组处理可持久化问题) 题意 给定 \(n(1<=n<=10^5)\) 长度的数组 \(a_i(0<=a_i<=10^9)\), 进行 \(m\) 次询问,格式为 \(l,r,v\),每次询问 \(l<=i<=r\) ,有多少 \(a_i<=v\) 数数 - 题目 - Daimayua 阅读全文
摘要:
图染色 根号分治 图染色 - 题目 - Daimayuan Online Judge 图染色问题一般可用,树染色可用 dp 等方法 设一个阈值 M 度数大于 M 的点可设为大点,<= M 的设为小点 查询 若为小点,直接暴力枚举邻居,最多枚举 M 个 若为大点,不能暴力枚举,可考虑在修改的时候就算出 阅读全文
摘要:
等差数列加 根号分治 等差数列加 - 题目 - Daimayuan Online Judge 设一个阈值 \(M\) 给等差数列的位置上加 k 若公差 d >= M, 则暴力加,每次操作复杂度最高为 \(O(\frac nM)\) 若公差 d < M, 则可以打标记记录下公差为 \(d\), 第一个 阅读全文
摘要:
E - Ring MST 数论,最小生成树 根据 kruskal 的原理,将边排序取最小的、可以两端点未联通的前 \(n-1\) 条边即可,但本题的边数是 \(n*m\) 级别,不能排序 只有 \(m\) 种操作,每种操作的代价是相同的,第 \(i\) 种操作是连接 \(x\) 与 \((x+A_i 阅读全文
摘要:
2 - sat 模板 P4782 【模板】2-SAT 问题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include <iostream> #include <algorithm> #include <cstring> #include <vector> #include 阅读全文