摘要: 容斥原理: 一般化定义: 设全集 \(U\) 中有的元素有 \(n\) 种属性,第 \(i\) 种属性为 \(P_i\) ,拥有 \(P_i\) 属性的元素构成集合 \(S_i\)。 \[\left |\bigcup_{i=0}^{n} S_i \right | =\sum_{m=1}^{n}(-1 阅读全文
posted @ 2025-09-05 11:25 shanganze 阅读(69) 评论(0) 推荐(3)
摘要: 学习自 在线决策单调性地皮还能单老哥分治做? - 洛谷专栏 决策单调性最为常用的为分治和二分队列,前者要求离线,后者必须快速处理两个位置的转移,都有一定的局限性,其他算法大部分码量较长,很难应用。 但我们还有一种好写且能维护复杂转移的写法, 简易版 LARSCH 算法,一种能够维护在线转移的分治做法 阅读全文
posted @ 2025-09-14 08:31 shanganze 阅读(50) 评论(3) 推荐(2)
摘要: qoj # 9711 K-rectangle 简要题意: 平面上有 \(n\) 个点,保证 \(x\) 单调递增,\(y>0\)。 你需要放置一些矩形来覆盖所有点,点在矩形边界也为覆盖。 矩形需要满足底边为 \(x\) 轴,一个矩形的成本为 \(\Delta y*(\Delta x+k)\) 。 一 阅读全文
posted @ 2025-08-21 08:04 shanganze 阅读(7) 评论(0) 推荐(0)
摘要: 很好的 \(DP\) 的 \(trick\) ,值得积累一下。 赛时想到了转化,死于dp计数,悲。 下文中 \(m\) 表示取值范围。 直接刻画 \(Q\) 数组不太好考虑,我们从 \(a\) 数组来考虑,我们不妨先假设 \(a_i\) 互不相同,发现得到的 \(Q\) 数组的差分数组与 \(a\) 阅读全文
posted @ 2025-07-25 20:43 shanganze 阅读(45) 评论(0) 推荐(2)
摘要: 提供一种和题解截然不同的思路,本写法的时间复杂度与 \(k\) 的值域无关,时间复杂度为 \(O(n\log n)\) 。 一种简单的暴力思路是直接将所有的距离为 \(k\) 的点对进行连边,然后直接在新建出来的图上跑一边 \(bfs\) 即可。但显然这样的做法会被一个菊花图卡掉。 那我们考虑如何优 阅读全文
posted @ 2025-07-13 21:42 shanganze 阅读(108) 评论(0) 推荐(0)
摘要: Day1 Day2 bai 给你一个长度为 \(n\) 的序列 \(a\) 和 \(m\) 次询问,每次询问给定三个整数 \(l,r,k\),你需要求出下面问题的答案 有一个初始为空的栈,把序列中下标在 \(l\) 到 \(r\) 之间的元素依次加入栈中,每加入一个元素之前把栈顶前 \(k\) 个元 阅读全文
posted @ 2025-06-23 10:00 shanganze 阅读(16) 评论(0) 推荐(0)
摘要: 行列式 我们定义矩阵 \(A\) 为 \(n\) 阶方阵,则 \(A\) 的行列式值 \[det(A)=\sum_{P}^{}(-1)^{\lambda (P)}a_{ip_i} \]其中 ,\(P\) 为一个 \(1-n\) 的排列, \(\lambda(P)\) 表示排列 \(P\) 的逆序对数 阅读全文
posted @ 2025-05-28 15:01 shanganze 阅读(37) 评论(0) 推荐(0)
摘要: CDQ 先从简单的二维数点入手,每个点有 \(a_i,b_i\) 两个权值,要求查询 $ i,j $ 满足\(a_i<a_j,b_i<b_j\) 的数对个数。 我们考虑先对第一维 \(a\) 排序,顺序遍历,那我们此时只需要知道前 \(i-1\) 个数中有多少个满足 \(b_k<b_i\) 即可,那 阅读全文
posted @ 2024-12-31 08:33 shanganze 阅读(47) 评论(0) 推荐(0)
摘要: 数据结构优化DP 单调队列 对于一些dp转移方程,\(dp_i=\max\{dp_j+k\},l_i\le j\leq r_i\) 且\(l_i,r_i\)保证单调不降。 我们可以考虑使用单调栈或单调队列来维护dp转移,相当于维护区间最值,把时间复杂度由 \(O(n^2)\) 降低到 \(O(n)\ 阅读全文
posted @ 2024-12-31 08:29 shanganze 阅读(86) 评论(1) 推荐(0)