摘要: \(tarjan\) 染色的倒序是图的拓扑序。 缩点的时间复杂度: \(O(n+m)\)。 当差分约束的时间复杂度不优时,考虑进行缩点后拓扑排序。[SCOI2011] 糖果 一个点可能属于多个极大点双,但只可能属于一个极大边双。 如果一个图的所有边都是割边,那么这个图是树。 在计算割点时,一个父节点 阅读全文
posted @ 2025-07-25 16:00 Optimist_Skm 阅读(5) 评论(0) 推荐(0)
摘要: 线段树维护区间第 \(k\) 大,对一个桶建一个线段树(权值线段树),每次查找进行线段树上二分,查找桶中的第 \(k\) 大。 \(trick\):考虑对区间询问按 \(r\) 排序,然后依次从左往右扫数组,那么此时区间询问就变为全局询问,只用树状数组维护即可。P1972 [SDOI2009] HH 阅读全文
posted @ 2025-07-21 10:45 Optimist_Skm 阅读(7) 评论(0) 推荐(0)
摘要: 求欧拉回路: void dfs(int x) { for(int &i = hd[x]; i < e[x].size(); ) dfs(e[x][i++]); stc[++top] = x; } 用 \(Floyd\) 求 有向图 的最小环: 将 \(f_{i,i}\) 设置成 \(+\infty\ 阅读全文
posted @ 2025-07-18 19:42 Optimist_Skm 阅读(4) 评论(0) 推荐(0)
摘要: \(shuffle(\ begin,\ end,\ 随机数函数\ )\) (打乱数组) \(nth\_element()\) (第 \(k\) 小元素) \(fill\) (填充数组) \(bitset\): \(bitset()\) 初始化每一位都是 \(false\)。 \(bitset(val 阅读全文
posted @ 2025-07-17 10:05 Optimist_Skm 阅读(6) 评论(0) 推荐(0)
摘要: \(t1\) 当 \(i \& n == i\) 时,\(C_n^i\) 是奇数。 \(t2\) 从大往小填。 \(t3\) 正难则反,根号分治,对于一个长度为 \(n\) 的数组中,不同数字的出现次数的种类数最多只有 \(\sqrt{n}\) 种。 \(t4\) 当 \(dfn_{v'} \in 阅读全文
posted @ 2025-07-16 19:37 Optimist_Skm 阅读(4) 评论(0) 推荐(0)
摘要: 整理一些“低级失误”,唉,希望不要再多了呀。 OI 看清楚比赛结束时间。\(\times 1\) 写对拍一定要仔细,对拍出错了不要忘了检查对拍的正确性 \(\times 1\) 复杂度一定要仔细算,一定要仔细算,一定要仔细算! 实在没思路就去上个厕所。 main函数的返回值一定要是 \(0\)。 \ 阅读全文
posted @ 2024-10-16 20:16 Optimist_Skm 阅读(30) 评论(0) 推荐(0)
摘要: \(T1\) 做法一:组合数 考虑将全排列减去不合法排列即可 做法二:双指针 用前缀和维护 \(T2\) 做法一:dp 记 \(dp_{i,j}\) 表示以 \((i,j)\) 结尾的正方形的最长边长,从 \(dp_{i-1,j-1}\) 转移过来即可。 做法二:二分 枚举左上角,二分边长,用二维前 阅读全文
posted @ 2024-10-01 14:59 Optimist_Skm 阅读(16) 评论(0) 推荐(0)
摘要: 学到了很多东西,之后会更新的。。。。。 阅读全文
posted @ 2024-08-05 19:39 Optimist_Skm 阅读(32) 评论(0) 推荐(0)
摘要: 省流:坠机了,但没完全坠。 \(T1\) 水,直接枚举比较即可,赛时 \(15min\) \(AC\),实际 \(5 min\),\(10min\) 再打缺省源,最终得分 \(100pts\)。 \(T2\) 模拟每一个括号,维护一个深度,当深度大于 \(L\) 或 小于 \(0\) 时,累计答案即 阅读全文
posted @ 2024-08-05 16:52 Optimist_Skm 阅读(20) 评论(0) 推荐(0)
摘要: 比赛概况:坠机了; \(T1\) ——写了线段树维护区间最大值再向两边扩散,可惜被卡掉了。 正解:维护每个每个点向左和向右能扩展到的最远下标,在加以判断即可。 \(T2\) ——脑抽了把能够 \(O(1)\) 解决的事写了一个循环 (活该被卡),思路和正解一摸一样,可惜了。 正解:对于每一个数,贪心 阅读全文
posted @ 2024-08-02 16:21 Optimist_Skm 阅读(22) 评论(0) 推荐(0)