Loading

随笔分类 -  OI

摘要:现在只有口胡. 别急. 这些算法口胡起来很舒服啊. 但是沾点离线的一般都不太好写/ng [转一手 cmd 的 blog](https://www.luogu.com.cn/blog/command-block/yi-suo-chang-yong-di-shuo-ju-jie-gou-wei-hu-s 阅读全文
posted @ 2023-08-22 00:09 pjykk 阅读(152) 评论(0) 推荐(0)
摘要:感觉来集训的同学大部分 (包括我本人) 水平都不大行啊 (? ## 比赛记录 ### Day 1 100+15+0+10=125pts, rk 11. T1: 发现和具体排法没有关系后就是无脑贪心, 注意下细节大概就能拿满. (我为什么想了这么久?) T2: 听说是套路题, 但是我完全不会, 写了一 阅读全文
posted @ 2023-07-19 13:36 pjykk 阅读(76) 评论(0) 推荐(0)
摘要:爆改了之前文艺平衡树的板子。 [luoguP2710 数列](https://www.luogu.com.cn/problem/P2710) 大致题意: 维护数列,支持 插入、删除、区间翻转、区间覆盖、区间求和、区间最大子段和。 code: (头文件等略) ```cpp const int maxn 阅读全文
posted @ 2023-03-02 19:32 pjykk 阅读(91) 评论(0) 推荐(0)
摘要:(DS 记录) problem: [luoguP3437 [POI2006]TET-Tetris 3D](https://www.luogu.com.cn/problem/P3437) 题意:矩形覆盖矩形最大值。(保证每个位置的值单增,这样可以用标记永久化处理) 板子。内层线段树维护列,外层线段树维 阅读全文
posted @ 2023-02-28 19:56 pjykk 阅读(114) 评论(0) 推荐(0)
摘要:semi-AFO 选手的 DS 记录( 您将在这里见到最垃圾的扫描线写法. ## 1. 面积 扫描线本身还是很好理解的. 偷一张图 (图源 [OI-wiki](https://oi-wiki.org/geometry/scanning/)) ![](https://oi-wiki.org/geome 阅读全文
posted @ 2023-02-25 22:08 pjykk 阅读(97) 评论(0) 推荐(0)
摘要:我们假设你已经熟练掌握了树上的各项基础技术. 下面来做一下题吧! 1. [NOIP2007 提高组] 树网的核 简明题意: 给定一棵有 $n$ 个结点的带权无根树, 在其直径上找到一段长度不大于 $s$ 的链 (称为核, 可退化为一个点), 使得树上的其他结点到该路径距离的最大值 (称为偏心距) 最 阅读全文
posted @ 2023-01-28 18:02 pjykk 阅读(91) 评论(0) 推荐(0)
摘要:1. 割边和割点 首先我们 dfs 一遍构造出 dfs 树并排出 dfn 序. 显然这棵树没有横叉边. 考虑割边的形成条件. 显然割边只能是树边, 因为非树边会和对应的树上的路径组成环. 考虑边 $(u,v)$, 其中 $v$ 是 $u$ 的儿子. 因为没有横叉边, 我们只需要保证从 $v$ 及其子 阅读全文
posted @ 2023-01-28 17:59 pjykk 阅读(70) 评论(0) 推荐(0)
摘要:内容受作者水平所限难度不高. 需要进一步学习的推荐 这一篇. 1. 常见模型 先有模型, 而后有建图技巧. 二分图和网络流那一套建图不是这篇文章讨论的内容. 看上去全是最短路相关的建图( 本来想写 2-SAT 的, 但是那部分内容已经包含在 SCC 和 BCC 那一篇文章里了. 1. 差分约束系统 阅读全文
posted @ 2022-11-24 23:29 pjykk 阅读(1242) 评论(0) 推荐(0)
摘要:是真的乱搞. 模拟退火啥的还是太保守了( 当一个条件足够必要的时候, 它就是充分的. 随机一次概率小了, 就多随机几次. 1. luoguP8819 [CSP-S 2022] 星战 容易发现原问题就是要判断这个图是不是一棵内向基环树森林. 发现出度很难维护, 那就不要维护. 但是你发现入度是随手维护 阅读全文
posted @ 2022-11-24 00:11 pjykk 阅读(74) 评论(0) 推荐(0)
摘要:为了保证文章的整体简洁,代码就不放了。 upd: NOIP2022 上被教育了. (虽然问题在于我不会dp 1. SCC 1. luoguP2341 [USACO03FALL / HAOI2006] 受欢迎的牛 G 考虑一个 SCC 内的所有点互相可达,我们完全可以先缩点。 那么能从其他所有点到达的 阅读全文
posted @ 2022-11-23 00:30 pjykk 阅读(99) 评论(0) 推荐(0)
摘要:## 别急, 慢慢更( [OI-wiki 图论部分](https://oi-wiki.org/graph/) 有简单的东西,也有一些奇怪的算法。 总结: 学好 Kruskal 就对了. ## 0. 一点前置习题 ### 1. luoguP4047 [JSOI2010]部落划分 实际上就是 Krusk 阅读全文
posted @ 2022-11-21 23:32 pjykk 阅读(145) 评论(0) 推荐(0)
摘要:0. 一些前置习题 1. luoguP1608 路径统计 实际上只需要开一个 cnt 记录一下到当前点的最短路有几条就行了. 跑 dijkstra 的时候, 如果是严格大于就直接把答案覆盖上, 等于就将方案数相加. if(dis[p]==dis[u]+e[i].val)ans[p]+=ans[u]; 阅读全文
posted @ 2022-11-20 00:18 pjykk 阅读(75) 评论(0) 推荐(0)
摘要:参考资料: OI-wiki 0. 一些概念 首先让我们明确几个概念. 我们定义, 通过图中所有边恰好一次的通路称为欧拉通路, 若该路为回路则称为欧拉回路. 若一个图存在欧拉回路, 则称该图为欧拉图. 若不存在欧拉回路但存在欧拉通路, 该图成为半欧拉图. 无向图 (半) 欧拉图判定: 一个连通图是无向 阅读全文
posted @ 2022-11-18 19:03 pjykk 阅读(122) 评论(0) 推荐(0)
摘要:学习资料 大致精神是, 我们先对原来的树进行后序遍历重编号, 然后定义状态 $f(i,k)$ 为选取前 $i$ 个物品, 背包容量为 $k$ 的最大价值. 后序遍历的好处是, 每次新加的点都是子树的根, 并且子树内的顺序在值域上连续. 于是讨论是否选择当前的点 $i$, 状态转移方程即为: $$f( 阅读全文
posted @ 2022-10-23 20:22 pjykk 阅读(92) 评论(0) 推荐(0)
摘要:马上要 CSP 了, 急了急了. upd: 关于 CSP: 它死了. 对 luogu 题目难度的评价: 绿>蓝. 1. P3147 262144 P 奇怪的 dp 题. 考虑定义状态 $f(i,k)$ 表示, 从位置 $i$ 开始能合并出数 $k$ 的区间为 $[i,f(i,k))$. 容易发现 $ 阅读全文
posted @ 2022-10-23 01:07 pjykk 阅读(75) 评论(0) 推荐(0)
摘要:众所周知, 如果我们用正常的分块做单点加区间求和, 时间复杂度高达 $O(1)-O(n^{1/2})$ (修改-询问). 然后你发现这太慢了. 于是你考虑改一下分块的大小. 我们更改块的大小为 $n^{2/3}$, 整块的复杂度成功变成了 $O(n^{1/3})$! 但是散块的复杂度变成了 $O(n 阅读全文
posted @ 2022-08-13 20:23 pjykk 阅读(71) 评论(0) 推荐(0)
摘要:出处是 lyd 的蓝书。 有向图上的必经点、必经边问题比较复杂,我们只讨论给定起点和终点 $s,t$ 的情况。 因为 DAG 的优秀性质,考虑使用乘法原理。 首先我们在原图上做 dp 预处理出 $s$ 到其他点的走法的数量 $sn(u)$,再在反图上做 dp 预处理出图上的点到 $t$ 的走法的数量 阅读全文
posted @ 2022-08-03 19:52 pjykk 阅读(112) 评论(0) 推荐(1)
摘要:今日水博客( 众所周知我们使用链式前向星存图会有这样几句话: struct edge{int to,nxt;}e[maxm]; e[++cnt]=(edge){v,h[u],val}; h[u]=cnt; for(int i=h[u];i;i=e[i].nxt) { int p=e[i].to; / 阅读全文
posted @ 2022-08-03 19:27 pjykk 阅读(42) 评论(0) 推荐(0)
摘要:双连通分量的~~简单~~应用。 有向图的话就要上支配树了,可能之后会学(? 1. 无向图必经边 边双缩点。 显然一个边双内的结点间不可能有必经边,于是我们把所有的边双缩成一个点,用割边连起来,然后在形成的树上操作就行了。 代码懒得写了( 2. 无向图必经点 ~~圆方树~~点双缩点。其实就是一个东西。 阅读全文
posted @ 2022-08-03 19:27 pjykk 阅读(121) 评论(0) 推荐(0)
摘要:OI-wiki 真是个好东西。 我们在求强连通分量或双连通分量的时候,常常会用 Tarjan 算法来进行缩点。 但是我们也有不用 Tarjan 的连通分量算法。 1. Kosaraju 算法 如果我们要求的是有向图上的强连通分量,使用 Kosaraju 算法是一个不错的选择。 该算法的码量相比 Ta 阅读全文
posted @ 2022-08-03 19:27 pjykk 阅读(93) 评论(0) 推荐(0)