训练题表

暂时不全, 有些做过的题不想去找了,以后再说

因校内OJ地址有变,部分校内OJ上的题无法正常打开


基础

1.递推:#224. 「20181031模拟」白玉楼前#258. 「20181105练习」StopAllSounds#337. 「20190306模拟」逃离地狱岛(递推+找组合数规律)

2.贪心:P1966 火柴排队#139. 【UER #4】被删除的黑白树P1080 国王游戏(推式子+高精度封装)#215. 「20181027模拟」打地鼠游戏#218. 「20181029模拟」算术#237.「20181101模拟」teleport#272. 「20181209模拟」手套1912: [Apio2010]patrol 巡逻(树的直径)3709: [PA2014]Bohater(打怪兽贪心)C - Different Strokes(写答案式+贪心)#3052. 「十二省联考 2019」春节十二响(贪心扩展(链上到树上))、[E. Matching vs Independent Set

(有关匹配和独立集的不错的贪心)](https://codeforces.com/contest/1199/problem/E)、#1335. 「20191109 模拟」小 w 与卡牌游戏(二分(分类二分)+贪心)

3.倍增:4488: [Jsoi2015]最大公约数C-保护(主席树与LCA)(倍增爬树)A-最长路(倍增哈希、拓扑、最长路)P4180 【模板】严格次小生成树[BJWC2010](倍增维护次大值)C-洞穴#339. 「20190309模拟」魔术回路(倍增+最长路记忆化搜索)#1310. 「20191003模拟 & 常州中学2019夏令营day2」时之终结(构造+二进制拆分(用到有向完全图的一些性质))

4.搜索:D. Kilani and the Game(BFS Plus)

5.模拟:E. String MultiplicationPixel Shuffle(坑爹模拟+置换性质)A. Diana and Liana(two-pointers预处理)下雨天(模拟+性质(相邻状态只差1)+栈维护)

6.找规律:Doom's Day#1222. 「20190416模拟 」table(组合规律)Seq

7.构造:#334. 「20190303模拟」直径(画出大概构造出的图形后列式计算再构造)B. Wrong Answer

8.枚举:B. Circus(列出限制条件枚举检验是否满足)


动态规划及优化

1.线性/一般DP:P1280 尼克的任务P1279 字串距离P1436 棋盘分割#149. 【NOIP2015】子串1403 新三国争霸(最小生成树+DP)1003: [ZJOI2006]物流运输(Dijkstra+DP)C. Ayoub and Lost Array(放在剩余系下DP)D. Jongmah(发现性质+巧妙DP)D - Ears(性质+对应设计状态DP)F - Pass(性质+套路DP)C. Compress String(用后缀自动机识别子串)K - Stones(略有博弈思想的DP)M - Candies(前缀和优化DP转移(因为转移是一段连续的区间))R - Walk(矩阵快速幂(走k步后从i走到j的方案数))T - Permutation(前缀后缀优化DP)F. Rectangle Painting 1(性质分析+矩形上的DP(注意DP范围与顺序))

2.区间DP:#212. 「20181026模拟」狐狸的谜语5073: [Lydsy1710月赛]小A的咒语(贪心+DP+LCP)D. Flood Fill(区间DP的另类写法(不需要枚举区间长度))L - Deque(博弈思想简单区间DP)N - Slimes

3.背包:3163: [Heoi2013]Eden的新背包问题#17. 【NOIP2014】飞扬的小鸟X - Tower(有限制的背包+猜结论)

4.单调队列:2442: [Usaco2011 Open]修剪草坪#208. 「20181024模拟」对决(略带博弈色彩)

5.斜率优化:1911: [Apio2010]特别行动队1096: [ZJOI2007]仓库建设1010: [HNOI2008]玩具装箱toy3675: [Apio2014]序列分割Z - Frog 3(模板)2726: [SDOI2012]任务安排(斜率优化二分决策点转移+费用提前计算思想)

6.四边形不等式(决策单调性)(重点复习):P1912 [NOI2009]诗人小G4850: [Jsoi2016]灯塔4609: [Wf2016]Branch Assignment

7.数据结构优化DP:3688: 折线统计P3287 [SCOI2014]方伯伯的玉米田#203. 「20181015模拟」reading(线段树优化DP)(需要拆式子)G. Most Dangerous Shark(很好的一道树状数组优化DP题,预处理思想也不错)Q - Flowers(基础树状数组优化DP)货物分组(费用提前计算思想+线段树维护单调栈维护最值+线段树优化DP)

8.矩阵加速DP:1009: [HNOI2008]GT考试(KMP预处理)4870: [Shoi2017]组合数问题(转化题目+循环矩阵直接“卷积”)

9.wqs优化(带权二分):#2478. 「九省联考 2018」林克卡特树(转化题意+树上K条不相交路径最大权值)

10.概率期望DP:1419: Red is good1415: [Noi2005]聪聪和可可4832: [Lydsy1704月赛]抵制克苏恩P1850 换教室1076: [SCOI2008]奖励关I - Coins(简单概率DP)J - Sushi(移项)1426: 收集邮票(列式移项递推)2318: Spoj4060 game with probability Problem(概率期望DP+贪心(发现什么时候是最优决策)+移项+观察DP值优化的黑科技)3036: 绿豆蛙的归宿(简单图上概率期望DP(有向无环图)注意倒序DP)4872: [Shoi2017]分手是祝愿3143: [Hnoi2013]游走(转化题意(边的贡献->边的遍历次数->点的遍历次数)(具体参考收藏的博客 这个应该记着)+高斯消元)#1225.「20190418 模拟 」Max(概率期望状压DP+前缀和优化)

11.树形DP:1369: [Baltic2003]Gem5232: [Lydsy2017省队十连测]好题4753: [Jsoi2016]最佳团体(01分数规划模型)P2014 选课P3177 [HAOI2015]树上染色5072: [Lydsy1710月赛]小A的树P4516 [JSOI2018]潜入行动#222. 「20181030模拟」永琳的竹林迷径(排列组合)P2585 [ZJOI2006]三色二叉树P2899 [USACO08JAN]手机网络Cell Phone NetworkSP1435 PT07X - Vertex Cover(最小点覆盖)P - Independent Set(乘法原理)Accumulation Degree(二次扫描换根DP)#105. 【APIO2014】Beads and wires(换根DP+维护次大值)#340. 「20190309模拟」可怜与超市(树上背包)V - Subtree(中间舍去一个拆为前缀和后缀处理(因为没有保证互质可能不存在逆元)+树上三次扫描+换根DP)3696: 化合物(FWT优化计数)T67701 [JSOI2019冬令营1.27]小F的星术(astrology)(树上K条不相交路径计数+概率期望计算)#1016. 「2019福建省冬令营」堆(组合计数DP+二叉堆性质+分段打表预处理)3836: [Poi2014]Tourism(树形状压DP)#512. 「20190402 模拟」C(“树上”DP+DP值与DP状态互换(不同的值远少于状态数))

12.计数DP:#343. 「20190313模拟」柚的策略(很好的计数题+前缀和+差分思想)D. Nauuo and Circle(计数树形DP)

13.数位DP:1026: [SCOI2009]windy数B-数数字1833: [ZJOI2010]count 数字计数4521: [Cqoi2016]手机号码#140. 【UER #4】被粉碎的数字(神仙数位DP题)S - Digit Sum(求某一个数的倍数放在剩余系下解决)

14.状压DP:P2704 [NOI2001]炮兵阵地P2831 愤怒的小鸟1097: [POI2007]旅游景点atr3590: [Snoi2013]Quare1801: [Ahoi2009]chess 中国象棋(不是二进制压位)O - Matching(二分图最大匹配计数)5248: [2018多省省队联测]一双木棋(略有博弈思想的状压DP+BFS)3836: [Poi2014]Tourism(树形状压DP)#1225.「20190418 模拟 」Max(概率期望状压DP+前缀和优化)E. Marbles(性质+状压DP)十二桥问题(最短路+状压DP)

15.子集DP:2073: [POI2004]PRZU - Grouping

16.插头DP(重点复习):Formula 1Eat the TreesP3190 [HNOI2007]神奇游乐园P2289 [HNOI2004]邮递员

17.斯坦纳树(重点复习):5180: [Baltic2016]Cities2595: [Wc2008]游览计划4006: [JLOI2015]管道连接4774: 修路#1237. 「20190423 模拟」最小权路径集问题(修路原题 斯坦纳树+子集DP)

18.动态DP:P4719 【模板】动态dp


树形结构

1.最近公共祖先(LCA):4242: 水壶(平面网格图最小生成树)

2.树的DFS序:C-保护(主席树与LCA)#6514. 「雅礼集训 2018 Day10」文明(求LCA+乱搞(大概就是子树内外+线段覆盖))

3.dsu on tree:E. Lomsat gelral

4.点分治(重点复习):FTOUR2 - Free tour IIPrime Distance On Tree(需要FFT加速)2652. 秘术「天文密葬法」(01分数规划) 长链剖分也可做#510. 「20190402 模拟」A(点分治+前缀和(点对问题))

5.动态点分治(重点复习):1095: [ZJOI2007]Hide 捉迷藏QTREE4 - Query on a tree IV[ZJOI2015]幻想乡战略游戏[HNOI2015]开店#55. 【WC2014】紫荆花之恋

6.树上差分:P2680 运输计划P3128 [USACO15DEC]最大流Max FlowP3250 [HNOI2016]网络(树状数组维护树上差分+整体二分)

7.虚树:2286: [Sdoi2011]消耗战3991: [SDOI2015]寻宝游戏(有虚树思想)3611: [Heoi2014]大工程

8.支配树:2815: [ZJOI2012]灾难(灭绝树板子题(DAG上的支配树 只能处理出从某一点出发到所有能到达的出度为0的点的路径上的必经点))Blow up the city(支配树板子题)


图论

1.基础图论:E. Helping Hiasat(无向图的最大独立集等于这个无向图补图的最大团)D - Restore the Tree(拓扑排序)D. Shortest Cycle(二进制按位考虑+BFS找无向图最小环(注意必须每个点都要BFS一次!))

2.网络流(重点复习):

3.2-SAT(重点复习):Now or laterAstronautsWeddingPlanar1823: [JSOI2010]满汉全席Priest John's Busiest DayIkki's Story IV - Panda's TrickBuilding roads4945: [Noi2017]游戏(枚举+2-SAT(注意逆否命题的连边))

4.差分约束:3436: 小K的农场1202: [HNOI2005]狡猾的商人2330: [SCOI2011]糖果D. Gourmet choice(缩点)IntervalsE. Flights(差分约束(判断负环 注意判断无用的点))

5.最短路:

6.图的联通性:

7.Kruskal重构树:3545: [ONTAK2010]Peaks#393. 【NOI2018】归程F. Asya And Kittens(还有别的做法)

8.生成树问题:P4180 【模板】严格次小生成树[BJWC2010](倍增维护次大值)#243. 「20181102模拟」华莱士(最小基环树森林)

9.仙人掌(圆方树):2125: 最短路(圆方树入门题)1023: [SHOI2008]cactus仙人掌图(求仙人掌的直径(圆方树上DP))4316: 小C的独立集(仙人掌上的DP(求最大独立集))


字符串

1.哈希:P4472 [BJWC2018]八维4755: [Jsoi2016]扭动的回文串(manacher+倍增+哈希)4337: BJOI2015 树的同构(括号序列Hash判断树的重构(注意按照hash值排序进行hash,不是子树大小))4754: [Jsoi2016]独特的树叶(类似换根DP的思想暴力求一棵树的所有Hash值(注意Hash方法))#346. 「20190325模拟」xiz(转化字符串+哈希)

2.KMP:P3375 【模板】KMP字符串匹配PERIOD - Period(求解一个字符串的最小循环元)P3435 [POI2006]OKR-Periods of Words(KMP本质题)D. Camp Schedule(KMP+乱搞)#1332. 「20191108 模拟」小 w 与密码(KMP的一些性质)

3.AC自动机:1444: [Jsoi2009]有趣的游戏(Trie图上的DP)1030: [JSOI2007]文本生成器Matrix Matcher(与KMP)3172: [Tjoi2013]单词(其实我是用SAM写的)

4.manacher(重点复习):P3805 【模板】manacher算法P4287 [SHOI2011]双倍回文3790: 神奇项链(问题转化+贪心+树状数组)吉哥系列故事——完美队形II(manacher变形)

5.回文树(回文自动机)(重点复习):The Number of Palindromes(回文树模板题)3676: [Apio2014]回文串2160: 拉拉队排练2565: 最长双回文串#333. 「20190301模拟」少女的六次真情告白(加树剖或LCT)

6.序列自动机:P4608 [FJOI2016]所有公共子序列问题(自动机上DP)P4112 [HEOI2015]最短不公共子串(序列自动机+SAM+暴力DP)#344. 「20190313模拟」加帕里图书馆(序列自动机求本质不同回文子序列+挺不错的区间DP)

7.后缀数组(重点复习):P3809 【模板】后缀排序P2852 [USACO06DEC]牛奶模式Milk Patterns1031: [JSOI2007]字符加密CipherBest Cow Line, Gold4698: Sdoi2008 Sandy的卡片(后缀自动机似乎也可以做)3230: 相似子串(用后缀数组的height数组求一个字符串本质不同串的个数)4278: [ONTAK2015]Tasowanie(倍增+hash或后缀数组,以及贪心)5073: [Lydsy1710月赛]小A的咒语(贪心+DP+LCP)

8.后缀自动机(重点复习):【模板】后缀自动机LCS - Longest Common Substring4516: [Sdoi2016]生成魔咒(后缀数组也可做 自动机码量小)3238: [Ahoi2013]差异3998: [TJOI2015]弦论LCS2 - Longest Common Substring II#329. 「20190224模拟」原样输出(后缀自动机的合并,略有序列自动机思想)4566: [Haoi2016]找相同字符4556: [Tjoi2016&Heoi2016]字符串4199: [Noi2015]品酒大会(单调性、前缀和思想)2894: 世界线(广义后缀自动机模板题)3926: [Zjoi2015]诸神眷顾的幻想乡1396: 识别子串(分情况讨论+简单数据结构维护)#127. 「20180714NOI模拟」Ernd(深入发掘SAM的特点+贪心)2806: [Ctsc2012]Cheat(广义SAM+二分+单调队列优化DP)#3049. 「十二省联考 2019」字符串问题(后缀自动机(parent树的DFS序)+SAM+线段树优化建图+拓扑排序)#1239. 「20190424 模拟」等级(后缀自动机+可持久化线段树合并+拓扑排序更新)


数据结构

1.链表:#1328. 「20191107 模拟」转圈游戏(手写链表+队列(注意一些细节)))

2.并查集:E - Weights on Vertices and Edges

3.队列:

4.线段树:

5.树状数组:P4113 [HEOI2012]采花#328. 「20190224模拟」全连(通过挂链表延迟修改)

6.树链剖分:P3384 【模板】树链剖分C-树(线段树、换根(目前写过最长的代码,长度5.66KB))2238: MstRelief grain(树链剖分好题 树链剖分划分区间+前缀和拆分+线段树)#1241. 「20190426 模拟」农民(点上信息转化为边上信息简化问题+树链剖分)神J上树(树链剖分+维护每一个重链的单调栈+单调栈上二分)路径计数机(枚举换根+长链剖分+指针传递的小trick(注意开空间))

7.可持久化数据结构:

8.平衡树(重点复习):

9.树套树(重点复习):4137: [FJOI2015]火星商店问题(可持久化线段树套动态开点01Trie)#564. 多重集合问题(倍增+线段树套01Trie)

11.替罪羊树:

12.分块(重点复习):

13.莫队(重点复习):

  • 普通莫队:
  • 带修改莫队:
  • 树上莫队:

14.K-D Tree(重点复习):4066: 简单题2716: [Violet 3]天使玩偶

15.线性基:P3812 【模板】线性基2460: [BeiJing2011]元素2115: [Wc2011] XorE - Odd Subrectangles(线性基求某个数被异或出的方案数)XOR(线性基求异或k大值模板题 注意开long long)

16.左偏树(可并堆):P3377 【模板】左偏树(可并堆)(启发式合并也可以)P1552 [APIO2012]派遣P3261 [JLOI2015]城池攻占(带修左偏树)

17.单调栈:F - Snuke's Coloring 2(推性质+线段树维护单调栈)神J上树(树链剖分+维护每一个重链的单调栈+单调栈上二分)#342. 「20190313模拟」大型演习(cdq分治+主席树维护单调栈)1007: [HNOI2008]水平可见直线(半平面交思想+单调栈)#1314. 「20191004模拟 && COCI2018/2019 Contest Round #1」strah(单调栈+面积计算)货物分组(费用提前计算思想+线段树维护单调栈维护最值+线段树优化DP)

18.STL:P5021 赛道修建(二分+set维护贪心)


分治算法

1.普通分治:#225. 「20181031模拟(前缀后缀背包,DP)」式神守护Can you find it?(二分查找)1857: [Scoi2010]传送带(三分套三分)#184. 【ZJOI2016】旅行者(分治最短路)

2.cdq分治(重点复习):3262: 陌上花开1176: [Balkan2007]Mokia#342. 「20190313模拟」大型演习(cdq分治+主席树维护单调栈)T33394 Problem A. 染色游戏 (paint.c/cpp/pas)(cdq分治预处理+斜率优化DP)2716: [Violet 3]天使玩偶

3.整体二分(重点复习):2527: [Poi2011]Meteors2738: 矩阵乘法P3250 [HNOI2016]网络(树状数组维护树上差分+整体二分)

4.根号分治(BigSmall思想)(重点复习):NOI2018模拟赛Yist(不在内网直接翻U盘)APIO2015雅加达的摩天楼(必须要复习的坑人根号分治优化建图)


数论数学

1.数论(重点复习):

2.基本计数原理(重点复习):Chess QueenCamp(组合计数+DP+循环矩阵优化)C-串串#226. 「20181031模拟」西行妖下(错排容斥计数,其次是树链剖分)#271. 「20181209模拟」积水(分类讨论、高精度、FFT)3522: [Poi2014]Hotel(树的DFS+计数(DP好像也行))P4492 [HAOI2018]苹果树(组合计数+基本计数原理(考虑对全局的贡献))#1311. 「20191003模拟 & 常州中学2019夏令营day2」博士之时(计数+分类讨论)

3.组合计数:#236.「20181101模拟」contest#242. 「20181102模拟」膜法#245. 「20181103模拟」数字三角形计算系数(二项式定理)P3270 [JLOI2016]成绩比较

4.矩阵:【模板】矩阵加速斐波那契数列2973: 石头游戏4818: [Sdoi2017]序列计数(也可以暴力倍增卷积)#1330. 「20191107 模拟」粮食放大器(二进制分解(矩阵乘法)+重定义矩阵乘法+细节处理+结构体封装矩阵乘法方便写代码)

5.高斯消元:

6.容斥原理:

7.概率与期望:A-管道维修P1291 [SHOI2002]百事世界杯之旅P4204 [NOI2006]神奇口袋(Polya's urn模型)Joining with FriendB-选择题#238.「20181101模拟」diceLOJ #6513.「雅礼集训 2018 Day10」足球大战(概率期望+简单组合)3143: [Hnoi2013]游走(转化题意(边的贡献->边的遍历次数->点得遍历次数)(具体参考收藏的博客 这个应该记着)+高斯消元)2707: [SDOI2012]走迷宫(Tarjan缩点+拓扑+概率期望+高斯消元)

8.群论:

9.数值方法:

10.莫比乌斯反演(重点复习):

11.多项式(重点复习):

12.博弈论(重点复习):

  • 基础:
  • SG函数:

13.计数类问题:#350. 「20190326模拟」Subset(分类讨论计数+简单容斥+cdq分治三维偏序)#511. 「20190402 模拟」B(竞赛图的性质+图计数(简单容斥+组合))5489: [Hnoi2019]鱼(极角排序+分类讨论计数(分数类优化精度))复读数组(基本计数题(分类讨论))树上队列(性质+树上拓扑序计数(正反拓扑序数量相同))


计算几何

1.二维几何基础:Morley's TheoremThat Nice Euler Circuit(欧拉几何定理)Dog DistanceTriangle Fun(海伦公式)Determine the ShapeAthletics TrackTriangle Hazard(梅涅劳斯定理)Crossed Ladders(二分答案与三角函数)#1336. 「20191109 模拟」小 w 的作业(二分+二维偏序(判断一个点是否在一条直线下的小trick——有向距离(叉积计算)))

2.圆和球:

3.二维几何算法:

4.随机化:1337: 最小圆覆盖(随机增量 随机化+计算几何)


以下内容可能会与上方有重复

其它思想方法和小技巧

(有些思想方法不一定是一道题的核心,但也非常重要)

1.bitset压位技巧:2015-2016 ACM-ICPC Problem A Promotions

2.扫描处理前缀和:C. Covered Points CountP4885 灭顶之灾

3.拆点思想(二分图,每个元素有两种状态):伊吹萃香B-公平竞赛(BFS找无向图最小环)

4.二分加前缀和判断可行性思想:A-中位数P4754 True VegetableP1083 借教室(线段树会被卡常)2738: 矩阵乘法(略有一点这种思想)

5.根号分治:见上方分治算法

6.优先队列删除元素的小trick:P2056 [ZJOI2007]捉迷藏#336. 「20190303模拟」排序(发现该排序的性质后再用可删除元素的优先队列维护)

7.打表找规律:B. Little C Loves 3 IISeq

8.发现题目隐藏性质:P2827 蚯蚓1369: [Baltic2003]Gem#209. 「20181024模拟」寻路(关于树的直径的性质,只不过自己以前不知道)

9.点修改链查询转化为子树修改点查询:小奇的花园(点修改链查询改为子树修改点查询)

10.概率期望平面网格图建模:P1291 [SHOI2002]百事世界杯之旅Joining with Friend

11.拆为前缀和后缀处理:3163: [Heoi2013]Eden的新背包问题B-选择题(后缀和)3527: [Zjoi2014]力(用来熟悉卷积的形式)#225. 「20181031模拟(前缀后缀背包,DP)」式神守护V - Subtree(中间舍去一个拆为前缀和后缀处理(因为没有保证互质可能不存在逆元)+树上三次扫描+换根DP)

12.随机化思想:P4703 偷上网4080: [Wf2014]Sensor Network(最大团)5232: [Lydsy2017省队十连测]好题

13.平面向量转化为平面网格图:4767: 两双手(容斥+组合)

14.模拟退火:P1337 [JSOI2004]平衡点 / 吊打XXXP3936 Coloring2428: [HAOI2006]均分数据(加上动态规划)

15.高精度压位:P2152 [SDOI2009]SuperGCD(更相减损法)

16.整体加等于单个减:P2827 蚯蚓P1486 [NOI2004]郁闷的出纳员

17.two-pointers思想:A. Diana and Liana(two-pointers预处理)4653: [Noi2016]区间

18.序列差分建模:P3943 星空#1017. 「2019福建省冬令营」密文(最小生成树建模+Trie树贪心或可持久化Trie树+Boruvka算法)E. Magic Stones

19.二进制贪心:#1007. 「2019福建省冬令营」签到题#1240. 「20190426 模拟」最大值(二进制位贪心(二分优化找最高位))

20.边点转化思想:4644: 经典傻逼题#509. 「20190401 模拟」C

21.当整体贡献不容易计算时考虑单个元素对整体产生的贡献:2019.8.9模拟score(考虑二进制下每一位对答案的贡献 分奇偶讨论+二项式定理构造)、P4492 [HAOI2018]苹果树(组合计数+基本计数原理(考虑对全局的贡献))

22.计算几何中的单调性:5489: [Hnoi2019]鱼(极角排序+分类讨论计数(分数类优化精度))NOI.AC #623. B(任意两个不相交的三角形一定有两条内公切线+利用极角排序单调性方便维护)

23.利用相邻(或排序后相邻)两个单位状态只相差一的性质(可以方便状压(01状态)或其它更多的做法):下雨天(模拟+性质(相邻状态只差1)+栈维护)#1293. 「20190807模拟」空之轨迹(状压DP计数+性质+二进制技巧)

24.树上路径合并multiset维护:P5021 赛道修建(二分+set维护贪心)

25.费用提前计算思想:2726: [SDOI2012]任务安排(斜率优化二分决策点转移+费用提前计算思想)货物分组(费用提前计算思想+线段树维护单调栈维护最值+线段树优化DP)

26.不好归类的奇妙思路题:2654: tree#219. 「20181029模拟」山路(最短路建模)

posted @ 2018-08-10 12:58  ForwardFuture  阅读(621)  评论(0编辑  收藏  举报