- Accepted 通过
- ALL-Kliied 虐全场
- ALL_Failed 全场失败,一道不会
- Online Judge 在线评测系统
- Away from oi 退役
一个动态更新的洛谷综合题单(https://github.com/SFOI-Team/luogu-problem-list)
洛谷试炼场的题目确实很具有代表性,但是近几年以来,又有许多经典题目出现在 OI 界中,这个大题单就是作为洛谷试炼场的扩展和补充。
Copyleft
本项目采用 知识共享署名-相同方式共享 4.0 国际许可协议 以及附加的 The Star And Thank Author License 进行许可。
换言之,您可以自由的共享并演绎该项目,但是必须给出必要的署名,并以相同方式共享本项目,并为本项目的 Github 仓库 点赞(Star)。
新版本食用指南
本次版本更新变更较大,建议您仔细阅读下面的内容!
在刚刚更新的 2.0 版本中,我们改变了原来按知识难度排列知识点的目录结构,改为按照专题大类组织目录结构。
为了方便按知识难度刷题的用户,这里给出一些建议:
- 对于初学者,建议先完成 Part 1,2 两部分内容,为接下来的学习打好基础。
- 对于要参加 NOIP 提高组的选手,建议在前面的基础上优先完成 Part 3.1-3.4, 4.1-4.4, 6.1-6.5, 7.1-7.7, 8.1-8.7 的内容(具体内容见下),在此基础上继续完成其他内容。
- 每个专题下的题目先给出模板,剩下的题目均按照难度递增顺序排序,部分难度较高的综合性题目建议达到一定能力后再尝试解决。
更新日志
2.0 2019/5/8:
- 重构了目录,从按知识难度排列知识点的目录结构,改为按照专题大类组织目录结构。
- 新增专题:计算几何,矩阵树定理。
- 添加题目:整理添加了 2019 年的省选题目。
1.4 2019/4/28:
- 根据题目难度对部分题目顺序进行调整。
- 补充部分专题介绍。
- 添加题目:补充了一些DP题目和数据结构题目。
1.3 2019/4/22:
- 新增专题:奇怪的题目(一些非常规的题目)。
- 添加题目:补充了一些多项式模板。
1.2 2019/3/30:
- 新增专题:CDQ 分治,字符串哈希,后缀自动机,2-SAT,虚树,模拟退火,0/1 分数规划。
- 添加题目:数据结构各专题添加了大量题目。其他各专题也添加了一定题目。
(感谢 xht37 的贡献!)
Part 0 试机题
三道试机题目。
Part 1 入门阶段
本部分内容针对入门 OIer ,主要是语言基础内容。
Part 1.1 从零开始
语言基础题。
Part 1.2 数组基础
数组可以用于存储大量的信息。
Part 1.3 字符串基础
字符串是特殊的数组,但它也有很多自身的特点。
Part 1.4 函数,递归及递推
这是初学者最难理解的部分,建议画出递归图来理解递归的过程。
Part 2 基础算法
这一部分的内容包含了 OI 中的基础算法,供各位巩固基础。
当然,这里面也有一些难度比较高的题目。
Part 2.1 模拟
模拟,顾名思义就是题目要求你做什么你就做什么,这样的题目很考验选手的代码组织能力。
这里不仅仅有非常基础的模拟,也有一些非常复杂的题目。
- P1003 铺地毯
- P1067 多项式输出
- P1328 生活大爆炸版石头剪刀布
- P1563 玩具谜题
- P1042 乒乓球
- P1179 数字统计
- P2615 神奇的幻方
- P2482 [SDOI2010]猪国杀
- P3693 琪露诺的冰雪小屋
Part 2.2 排序算法
通过排序,我们可以将数据有序化,这让我们对数据的处理方便了很多。
Part 2.3 二分答案
对一个满足单调性质的问题,我们可以采用二分答案的方法来解决。
Part 2.4 分治
分治,即分而治之,将大问题分解为小问题,分别求解,最后合并结果。
Part 2.5 贪心
贪心,指的是决策时都采取当前最优解的算法。有的时候,这样做确实可以获得最优解。
Part 2.6 高精度
在 C++ 中,long long 都无法表示我们需要的整数时怎么办?那就用高精度吧!
Part 3 搜索
搜索其实就是高级的枚举,很多题目都可以用搜索完成。就算不能,搜索也是骗分神器。
Part 3.1 深度优先搜索
深度优先搜索(DFS),即按照深度优先的顺序搜索的算法。
深度优先搜索一般使用栈来实现。
Part 3.2 广度优先搜索
广度优先搜索(BFS),即优先扩展浅层节点,逐渐深入的搜索算法。
广度优先搜索一般使用队列来实现。
Part 3.3 记忆化搜索
通过将已经遍历的状态记录下来,从而减少重复的搜索量,这就是记忆化搜索。
动态规划的时候,记忆化搜索也是一种高效简洁的实现方式。
Part 3.4 搜索的剪枝
对于一些不必要搜索的部分,我们可以避免访问这些状态,从而提高搜索效率。
Part 3.5 双向搜索
在搜索时,如果能从初态和终态出发,同时进行搜索,就可以减小搜索树的规模,提高时间效率。
- P3067 [USACO12OPEN]Balanced Cow Subsets
- P4799 [CEOI2015 Day2]世界冰球锦标赛
- P5195 [USACO05DEC]Knights of Ni 骑士
Part 3.6 A*
在 BFS 中,如果能设计一个合理的估价函数,就可以更快扩展到最优解。这就是 A*算法。
Part 3.7 IDA*
像 BFS 那样,每次只扩展一层节点,却采用 DFS 方式来遍历搜索树,这就是迭代加深搜索。
再加上一个估价函数来减小搜索量,就是 IDA*了。
Part 4 动态规划
动态规划是一种重要的思维方法,通过利用已有的子问题信息高效求出当前问题的最优解。
Part 4.1 线性动态规划
线性动态规划,即具有线性阶段划分的动态规划。
Part 4.2 背包动态规划
背包动态规划是线性动态规划中特殊的一类,NOIP中考到的次数也不少。
- P1048 采药
- P1060 开心的金明
- P1855 榨取kkksc03
- P5020 货币系统
- P1064 金明的预算方案
- P2946 [USACO09MAR]牛飞盘队Cow Frisbee Team
- P1156 垃圾陷阱
- P5322 [BJOI2019]排兵布阵
- P5289 [十二省联考2019]皮配
Part 4.3 区间动态规划
区间动态规划一般以区间作为动态规划的阶段。
- P1880 [NOI1995]石子合并
- P3146 [USACO16OPEN]248
- P1063 能量项链
- P1005 矩阵取数游戏
- P4302 [SCOI2003]字符串折叠
- P2466 [SDOI2008]Sue的小球
Part 4.4 树形动态规划
树形动态规划,即在树上进行的动态规划。
因为树的递归性质,树形动态规划一般都是递归求解的。
Part 4.5 状态压缩动态规划
将一个状态压缩为一个整数(通常为二进制数),就可以在更为方便地进行状态转移的同时,达到节约空间的目的。
- P2704 [NOI2001]炮兵阵地
- P1879 [USACO06NOV]玉米田Corn Fields
- P1896 [SCOI2005]互不侵犯
- P2051 [AHOI2009]中国象棋
- P4925 [1007]Scarlet的字符串不可能这么可爱
- P3648 [APIO2014]序列分割
- P2157 [SDOI2009]学校食堂
- P2167 [SDOI2009]Bill的挑战
- P2396 yyy loves Maths VII
- P4363 [九省联考2018]一双木棋chess
- P5005 中国象棋 - 摆上马
- P2150 [NOI2015]寿司晚宴
Part 4.6 倍增优化动态规划
利用倍增的方式,我们可以将状态转移的效率大大提高。
Part 4.7 数据结构优化动态规划
利用数据结构来维护已有信息,也可以达到优化状态转移的目的。
Part 4.8 单调队列优化动态规划
如果决策具有单调性,就可以考虑运用单调队列来优化动态规划的效率。
- P1776 宝物筛选_NOI导刊2010提高(02)
- P3089 [USACO13NOV]POGO的牛Pogo-Cow
- P3572 [POI2014]PTA-Little Bird
- P3522 [POI2011]TEM-Temperature
- P4544 [USACO10NOV]购买饲料Buying Feed
- P2569 [SCOI2010]股票交易
- P4852 yyf hates choukapai
Part 4.9 斜率优化动态规划
通过用单调队列维护一个凸壳,来达到优化转移的目的。
- P2305 [NOI2014]购票
- P2900 [USACO08MAR]土地征用Land Acquisition
- P3195 [HNOI2008]玩具装箱TOY
- P3628 [APIO2010]特别行动队
- P4027 [NOI2007]货币兑换
- P4360 [CEOI2004]锯木厂选址
Part 4.10 四边形不等式优化动态规划
利用四边形不等式,我们就可以提高一些区间动态规划的效率。
Part 4.11 数位统计类动态规划
统计一个区间中满足条件的数有多少,就是数位统计类动态规划。
- P2602 [ZJOI2010]数字计数
- P3281 [SCOI2013]数数
- P2518 [HAOI2010]计数
- P2657 [SCOI2009]windy数
- P3286 [SCOI2014]方伯伯的商场之旅
- P2606 [ZJOI2010]排列计数
Part 4.12 轮廓线动态规划
轮廓线动态规划(即常说的插头 DP)是一种特殊的状压动态规划,通过以轮廓线为状态来实现状态转移。
Part 5 字符串
Part 5.1 字符串哈希
Part 5.2 KMP
KMP 算法可以用来解决模式串匹配问题。
- P3375 【模板】KMP字符串匹配
- P4391 [BOI2009]Radio Transmission 无线传输
- P3435 [POI2006]OKR-Periods of Words
- P2375 [NOI2014]动物园
- P3426 [POI2005]SZA-Template
- P3193 [HNOI2008]GT考试
- P3435 [POI2006]OKR-Periods of Words
Part 5.3 Manacher
Manacher 可以在线性时间内求出一个字符串的最长回文子串。
Part 5.4 Trie树
- P2292 [HNOI2004]L语言
- P2922 [USACO08DEC]秘密消息Secret Message
- P3065 [USACO12DEC]第一!First!
- P3294 [SCOI2016]背单词
- P3783 [SDOI2017]天才黑客
- P3879 [TJOI2010]阅读理解
- P4551 最长异或路径
- P4407 [JSOI2009]电子字典
- P4683 [IOI2008] Type Printer 打印机
Part 5.5 AC自动机
AC自动机可以看成是 KMP 和 Trie 的结合体,用于解决多字符串匹配问题。
- P3808 【模板】AC自动机(简单版)
- P3796 【模板】AC自动机(加强版)
- P3121 [USACO15FEB]审查(黄金)Censoring (Gold)
- P2414 [NOI2011]阿狸的打字机
- P3966 [TJOI2013]单词
- P2444 [POI2000]病毒
- P3311 [SDOI2014]数数
- P4052 [JSOI2007]文本生成器
Part 5.6 后缀数组
- P3809 【模板】后缀排序
- P1117 [NOI2016]优秀的拆分
- P2178 [NOI2015]品酒大会
- P2463 [SDOI2008]Sandy的卡片
- P4051 [JSOI2007]字符加密
- P2336 [SCOI2012]喵星球上的点名
- P2852 [USACO06DEC]牛奶模式Milk Patterns
- P5284 [十二省联考2019]字符串问题
- P5319 [BJOI2019]奥术神杖
Part 5.7 后缀自动机
- P3804 【模板】后缀自动机
- P4770 [NOI2018]你的名字
- P5341 [TJOI2019]甲苯先生和大中锋的字符串
- P3649 [APIO2014]回文串
- P3975 [TJOI2015]弦论
- P4248 [AHOI2013]差异
- P5284 [十二省联考2019]字符串问题
Part 6 数学
OI 中的数学知识很多,也有些杂乱。
Part 6.1 整除相关
与整除相关的概念有很多,比较常用的有素数,最大公约数和欧拉函数。
Part 6.1.1 素数
素数,指的是除 1 和它本身之外没有其他约数的数。
Part 6.1.2 最大公约数
如果两个数有一个共同的约数,那么这个约数就被称为公约数。最大公约数就是指这两个数的所有公约数中,最大的一个。
求解两个数的最大公约数,可以采用欧几里得算法解决。
Part 6.1.3 欧拉函数
欧拉函数 表示了小于 的数字中,与 互质的数字个数。
Part 6.2 不定方程相关
求解不定方程 往往可以引出不少话题。
特别地,满足 的 被称为 在 意义下的乘法逆元,记作 。
Part 6.3 博弈论
博弈论考虑游戏中的个体的预测行为和实际行为,并研究它们的优化策略。
Part 6.4 概率与期望
概率和期望是紧密相连的,OI 中往往会出现和概率期望相关的动态规划问题。
- P5104 红包发红包
- P1850 换教室
- P3600 随机数生成器
- P3830 [SHOI2012]随机树
- P4564 [CTSC2018]假面
- P2473 [SCOI2008]奖励关
- P2221 [HAOI2012]高速公路
- P3317 [SDOI2014]重建
- P4284 [SHOI2014]概率充电器
- P5249 [LnOI2019]加特林轮盘赌
- P2081 [NOI2012]迷失游乐园
- P3343 [ZJOI2015]地震后的幻想乡
- P5326 [ZJOI2019]开关
Part 6.5 组合数学
- P3807 【模板】卢卡斯定理
- P2822 组合数问题
- P1655 小朋友的球
- P3197 [HNOI2008]越狱
- P2290 [HNOI2004]树的计数
- P3214 [HNOI2011]卡农
- P3978 [TJOI2015]概率论
- P4931 情侣?给我烧了!(加强版)
- P5339 [TJOI2019]唱、跳、rap和篮球
Part 6.6 线性代数
Part 6.6.1 矩阵
利用矩阵优化数列递推,可以实现复杂度从线性到对数级的转变。
- P3390 【模板】矩阵快速幂
- P1939 【模板】矩阵加速(数列)
- P1962 斐波那契数列
- P1349 广义斐波那契数列
- P4000 斐波那契数列
- P5337 [TJOI2019]甲苯先生的字符串
- P5303 [GXOI/GZOI2019]逼死强迫症
Part 6.6.2 高斯消元
高斯消元可以用来求解方程组。
- P4783 【模板】矩阵求逆
- P4387 付公主的函数
- P4035 [JSOI2008]球形空间产生器
- P4111 [HEOI2015]小Z的房间
- P4208 [JSOI2008]最小生成树计数
- P4457 [BJOI2018]治疗之雨
Part 6.6.3 线性基
线性基可以求解最大异或和的一类问题。
Part 6.7 多项式
对多项式的运算进行优化,从而能够解决规模更大的问题。
- P1919 【模板】A*B Problem升级版(FFT快速傅里叶)
- P3803 【模板】多项式乘法(FFT)
- P4238 【模板】多项式求逆
- P4239 【模板】多项式求逆(加强版)
- P4245 【模板】任意模数NTT
- P4717 【模板】快速沃尔什变换
- P4721 【模板】分治 FFT
- P4725 【模板】多项式对数函数
- P4726 【模板】多项式指数函数
- P4781 【模板】拉格朗日插值
- P5050 【模板】多项式多点求值
- P5158 【模板】多项式快速插值
- P5205 【模板】多项式开根
- P5245 【模板】多项式快速幂
- P5264 【模板】多项式三角函数
- P5265 【模板】多项式反三角函数
- P5273 【模板】多项式幂函数 (加强版)
- P5277 【模板】多项式开根(加强版)
- P5282 【模板】快速阶乘算法
- P3338 [ZJOI2014]力
- P3723 [AH2017/HNOI2017]礼物
- P4091 [HEOI2016/TJOI2016]求和
- P5293 [HNOI2019]白兔之舞
Part 6.8 莫比乌斯反演
- P3768 简单的数学题
- P3172 [CQOI2015]选数
- P3455 [POI2007]ZAP-Queries
- P3327 [SDOI2015]约数个数和
- P4619 [SDOI2018]旧试题
Part 7 数据结构
灵活地运用数据结构可以高效地查询并处理需要的信息。
Part 7.1 链表
在一个数列中高效插入一个元素,链表毫无疑问是最好的选择。
Part 7.2 栈
栈,是一种后进先出(FILO)的数据结构。
Part 7.3 队列
队列,是一种先进先出(FIFO)的数据结构。
Part 7.4 并查集
并查集常用于处理一些不相交集合的合并和查询问题。
- P1111 修复公路
- P3958 奶酪
- P1525 关押罪犯
- P2024 [NOI2001]食物链
- P1197 [JSOI2008]星球大战
- P1196 [NOI2002]银河英雄传说
- P1955 [NOI2015]程序自动分析
Part 7.5 堆
堆总是一棵完全树,堆中某个节点的值总是不大于或不小于其父节点的值。
Part 7.6 树状数组
树状数组是一种简洁高效的树形数据结构。
- P3374 【模板】树状数组 1
- P3368 【模板】树状数组 2
- P1908 逆序对
- P1966 火柴排队
- P1972 [SDOI2009]HH的项链
- P3586 [POI2015]LOG
- P4054 [JSOI2009]计数问题
- P4113 [HEOI2012]采花
- P3960 列队
Part 7.7 线段树
线段树的通用性比树状数组更强,可以处理更多涉及区间操作的题目。
- P3372 【模板】线段树 1
- P3373 【模板】线段树 2
- P1382 楼房
- P1471 方差
- P1502 窗口的星星
- P2471 [SCOI2007]降雨量
- P2824 [HEOI2016/TJOI2016]排序
- P3722 [AH2017/HNOI2017]影魔
- P4097 [HEOI2013]Segment
- P4198 楼房重建
- P4513 小白逛公园
- P5324 [BJOI2019]删数
- P5327 [ZJOI2019]语言
Part 7.8 分块
分块是一种非常通用的暴力方法,虽然效率不如线段树和树状数组,但可以解决很多线段树和树状数组处理不了的问题。
- P3870 [TJOI2009]开关
- P1972 [SDOI2009]HH的项链
- P3396 哈希冲突
- P1494 [国家集训队]小Z的袜子
- P1903 [国家集训队]数颜色 / 维护队列
- P1975 [国家集训队]排队
- P3710 方方方的数据结构
- P4074 [WC2013]糖果公园
- P4168 [Violet]蒲公英
- P4119 [Ynoi2018]未来日记
- P4117 [Ynoi2018]五彩斑斓的世界
Part 7.9 点分治
点分治是一种可以高效统计树上路径信息的算法。
- P3806 【模板】点分治1
- P2634 [国家集训队]聪聪可可
- P2664 树上游戏
- P4292 [WC2010]重建计划
- P4149 [IOI2011]Race
- P3241 [HNOI2015]开店
Part 7.10 主席树
- P2468 [SDOI2010]粟粟的书架
- P3302 [SDOI2013]森林
- P3168 [CQOI2015]任务查询系统
- P4559 [JSOI2018]列队
- P2633 Count on a tree
- P3293 [SCOI2016]美味
- P4618 [SDOI2018]原题识别
Part 7.11 平衡树
- P3369 【模板】普通平衡树
- P3391 【模板】文艺平衡树(Splay)
- P3850 [TJOI2007]书架
- P4008 [NOI2003]文本编辑器
- P5338 [TJOI2019]甲苯先生的滚榜
- P2042 [NOI2005]维护数列
- P1110 [ZJOI2007]报表统计
- P3644 [APIO2015]八邻旁之桥
- P3765 总统选举
- P1486 [NOI2004]郁闷的出纳员
- P2710 数列
- P3224 [HNOI2012]永无乡
- P3285 [SCOI2014]方伯伯的OJ
- P5321 [BJOI2019]送别
Part 7.12 树链剖分
树链剖分可以将任意一条树上路径划分成若干条连续的链,并用线段树等数据结构高效维护链上信息。
- P3384 【模板】树链剖分
- P3313 [SDOI2014]旅行
- P2590 [ZJOI2008]树的统计
- P2486 [SDOI2011]染色
- P2146 [NOI2015]软件包管理器
- P3178 [HAOI2015]树上操作
- P3258 [JLOI2014]松鼠的新家
- P3613 睡觉困难综合征
- P4069 [SDOI2016]游戏
- P4211 [LNOI2014]LCA
- P5305 [GXOI/GZOI2019]旧词
Part 7.13 树套树
树套树可以用来维护多维度信息。
- P3380 【模板】二逼平衡树(树套树)
- P1975 [国家集训队]排队
- P3332 [ZJOI2013]K大数查询
- P4278 带插入区间K小值
- P1903 [国家集训队]数颜色 / 维护队列
- P3759 [TJOI2017]不勤劳的图书管理员
- P3242 [HNOI2015]接水果
- P3248 [HNOI2016]树
Part 7.14 动态树
Link-Cut Tree 可以用来解决动态树一类问题。
- P3690 【模板】Link Cut Tree (动态树)
- P3203 [HNOI2010]弹飞绵羊
- P1501 [国家集训队]Tree II
- P4338 [ZJOI2018]历史
- P4312 [COCI 2009] OTOCI / 极地旅行社
- P2387 [NOI2014]魔法森林
- P3348 [ZJOI2016]大森林
- P3703 [SDOI2017]树点涂色
- P4172 [WC2006]水管局长
- P4219 [BJOI2014]大融合
Part 7.15 CDQ分治&整体二分
通过离线分治算法,我们可以避免使用一些高级数据结构。
- P3810 【模板】三维偏序(陌上花开)
- P1393 动态逆序对
- P2617 Dynamic Rankings
- P3332 [ZJOI2013]K大数查询
- P4169 [Violet]天使玩偶/SJY摆棋子
Part 7.16 可持久化数据结构
可持久化数据结构实现了在更新信息的时候保留历史版本。
- P3835 【模板】可持久化平衡树
- P3919 【模板】可持久化数组(可持久化线段树/平衡树)
- P5055 【模板】可持久化文艺平衡树
- P3834 【模板】可持久化线段树 1(主席树)
- P3402 【模板】可持久化并查集
- P5283 [十二省联考2019]异或粽子
Part 8 图论
图论是数学的一个分支,它以图为研究的对象。
Part 8.1 图的存储与遍历
这里的图论内容都比较简单,涉及图的存储以及遍历图的方式。
Part 8.2 最短路问题
很多题目都可以转化为最短路的模型。因此,掌握最短路算法非常重要。
- P3371 【模板】单源最短路径(弱化版)
- P4779 【模板】单源最短路径(标准版)
- P1144 最短路计数
- P5001 魔法祝福
- P1462 通往奥格瑞玛的道路
- P1522 牛的旅行 Cow Tours
- P1266 速度限制
- P3238 [HNOI2014]道路堵塞
- P5304 [GXOI/GZOI2019]旅行者
Part 8.3 树上问题
作为一种特殊的图,树上的问题具有很多鲜明的特点。
Part 8.3.1 二叉树
二叉树是一种特殊的树,它有很多特殊的性质。
Part 8.3.2 树的直径
树的直径被定义为树上最远的两点间的距离。
计算树的直径,可以通过两遍 DFS 解决。
Part 8.3.3 最近公共祖先
两个点的最近公共祖先,即两个点的所有公共祖先中,离根节点最远的一个节点。
求解最近公共祖先,常用的方法是树上倍增或者树链剖分。
Part 8.4 生成树
用 条边将图上的 个点连接起来,形成的树就被称为生成树。
Part 8.5 拓扑排序
将一个有向无环图排序,使得所有排在前面的节点不能依赖于排在后面的节点,这就是拓扑排序。
Part 8.6 差分约束
差分约束要解决的问题是:求出一组 元不等式的一组解,使得所有约束关系都能得到满足。
Part 8.7 图的连通性相关
利用 Tarjan 算法,我们可以解决很多与图的连通性相关的问题。
- P3387 【模板】缩点
- P3388 【模板】割点(割顶)
- P2863 [USACO06JAN]牛的舞会The Cow Prom
- P2746 [USACO5.3]校园网Network of Schools
- P1407 [国家集训队]稳定婚姻
- P2341 [HAOI2006]受欢迎的牛
- P3225 [HNOI2012]矿场搭建
- P5058 [ZJOI2004]嗅探器
- P2515 [HAOI2010]软件安装
Part 8.8 二分图
二分图上的不少问题都可以转化成网络流解决,当然也有独特的其他方法。
- P3386 【模板】二分图匹配
- P2756 飞行员配对方案问题
- P1559 运动员最佳匹配问题
- P2055 [ZJOI2009]假期的宿舍
- P2825 [HEOI2016/TJOI2016]游戏
- P3033 [USACO11NOV]牛的障碍Cow Steeplechase
- P3731 [HAOI2017]新型城市化
Part 8.9 网络流
网络流是图论中一个重要的分支,很多题目都可以通过建立网络流的模型来解决。
Part 8.9.1 最大流/最小割
最大流,即求网络中最大的流量。
最小割,即求一个边权最小的边集,使得源点和汇点不再连通。
可以证明,最大流=最小割,因此我们将最大流和最小割专题放在一起。
- P3376 【模板】网络最大流
- P4722 【模板】最大流 加强版 / 预流推进
- P1345 [USACO5.4]奶牛的电信Telecowmunication
- P2065 [TJOI2011]卡片
- P2774 方格取数问题
- P2763 试题库问题
- P2472 [SCOI2007]蜥蜴
- P2765 魔术球问题
- P2764 最小路径覆盖问题
- P2766 最长不下降子序列问题
- P2805 [NOI2009]植物大战僵尸
- P3749 [六省联考2017]寿司餐厅
- P5039 [SHOI2010]最小生成树
Part 8.9.2 费用流
在网络流中给边加上一个参数——费用,就出现了费用流。
- P3381 【模板】最小费用最大流
- P4016 负载平衡问题
- P4452 [国家集训队]航班安排
- P2153 [SDOI2009]晨跑
- P2053 [SCOI2007]修车
- P3159 [CQOI2012]交换棋子
- P2604 [ZJOI2010]网络扩容
- P2050 [NOI2012]美食节
- P3980 [NOI2008]志愿者招募
- P4249 [WC2007]剪刀石头布
- P5331 [SNOI2019]通信
Part 8.10 2-SAT
Part 8.11 虚树
Part 8.12 矩阵树定理
矩阵树定理可以解决图的生成树计数问题。
Part 9 计算几何
试着用计算机来解决几何问题吧!
Part 9.1 凸包
- P2742 【模板】二维凸包
- P2287 [HNOI2004]最佳包裹
- P3829 [SHOI2012]信用卡凸包
- P4680 [Ynoi2018]末日时在做什么?有没有空?可以来拯救吗?
- P4557 [JSOI2018]战争
Part 9.2 旋转卡壳
Part 9.3 半平面交
- P3256 [JLOI2013]赛车
- P2600 [ZJOI2008]瞭望塔
- P4196 [CQOI2006]凸多边形
- P3297 [SDOI2013]逃考
- P4250 [SCOI2015]小凸想跑步
Part 10 杂项
Part 10.1 模拟退火
模拟退火是一种随机化算法。当一个问题的方案数量极大(甚至是无穷的)而且不是一个单峰函数时,我们常使用模拟退火求解。
Part 10.2 0/1 分数规划
- P4377 [USACO18OPEN]Talent Show
- P3199 [HNOI2009]最小圈
- P3288 [SCOI2014]方伯伯运椰子
- P3705 [SDOI2017]新生舞会
- P4322 [JSOI2016]最佳团体
Part 10.3 奇怪的题目
OI 界中有一些非常规套路的题目,这里放出来分享。
Part 10.4 非传统题
在 NOI 等比赛中,非传统题正越来越频繁出现。
非传统题主要包括以下几类:提交答案题,交互题,通信题。
因为洛谷目前只支持提交答案题,因此这里暂时只列出提交答案题。
Part 10.4.1 提交答案题
给你一些输入,你只需要提交这些输入对应的答案,即为提交答案题。
共 4 条回复
分块也挺有趣的,特别是大分块比如Ynoi
还是莫比乌斯反演的题最有意思
感觉计算几何是最无聊的
%%%