【刷题】2024暑假刷题祭
NOI大纲
20240728 并查集专题
-
总结:看到谁是谁的朋友,谁和谁不能在一起,考虑并查集,可以在一起的就合并,往往答案是关于连通块的个数等等。
-
总结:遇到一些节点的题目考虑建树,有时候题目的条件需要转化,例如两个点不管距离多远都能相互到达,也可以理解为距离为0。(一道很不错的最小生成树题目)(数组不要开小!!,否则...)
-
总结:遇到一个点是否能到另一个点,也可以考虑建图,看是否在同一个连通块内,如果在说明他们能到达,否则不能
(被我一眼切了,调代码调了10min,原因:
if(find(f1[i]==find(f2[j])))
,括号打错了呜呜呜) -
总结:并查集结合01背包,把每一个连通块看做一个物品,要么都选,要么都不选,01背包
(很不错的一道题,01背包+并查集)
-
总结:树的直径和并查集结合的题目,对于有一系列操作的问题,通常转化操作为简单的操作,也可以通过时间复杂度猜测正解的算法。
20240729 杂题
-
P9352 [JOI 2023 Final] Cat Exercise(蓝)
总结:并查集+树形dp,可以在一个连通块内进行树形dp,求树上两点距离通常用
dep[x]+dep[y]-2*dep[lca(x,y)]
fa[...][这个最好开到30],开25寄了 -
总结:询问一个条件达到多大的时候能满足另一个条件,可以考虑建图,类似克鲁斯海尔算法,判断枚举到哪个点时满足的条件能满足需要的条件,本题目是当0号点和m+1号点联通时,可以满足题目的条件。
20240730 二分图专题+连通图+KMP
-
P10378 [GESP202403 七级] 交流问题(黄)
总结:二分图染色法,可以理解为有两种互斥的元素,1种为白色,一种为黑色,用染色法去染一个二分图,白色的数量就是第一种元素的数量,黑色的数量就是第二种元素的数量
-
P1894 [USACO4.2] 完美的牛栏The Perfect Stall(绿)
总结:考虑到题目给出的关系是二分图,并且求一个最大的数,可以考虑二分图最大匹配,就是找最多有多少个点能有边相连并且任意两条边都不交于同一点,代码也很简单
-
P4329 [COCI2006-2007#1] Bond(绿)
总结:很裸的一道状压dp。外层枚举状态,内层枚举可以被转移的点。(无意间混进来的状压dp,可能也有二分图解法吧)
-
总结:通过仔细读题可以考虑建图,发现竟然是二分图,直接跑二分图最大匹配即可(一定要仔细读题,看看有没有什么性质)
-
总结:不会,下次再做
-
P3420 [POI2005] SKA-Piggy Banks(黄)
总结:连通块与并查集基础题,重点是考虑如何建图
-
P4645 [COCI2006-2007#3] BICIKLI(绿)
总结:不是很难的题目,很裸,按照题目模拟即可,求路径数可以用拓扑(这是我以前不知道的)
-
P10475 [USACO03FALL] Milking Grid(数据加强版)(绿)
总结:KMP裸体,与P4391 [BOI2009] Radio Transmission 无线传输 类似,只不过是变成了二维。模板题,二维降成一维可以用
-
今天刚学的,就是LCA结合KMP,大概就是用倍增找KMP数组,先去处理字符串的nxt数组,再求LCA。
20240731 搜索专题
学了分块,明天再做
20240801 搜索专题+最小生成树+次小生成树+单源最短路+单源次短路
新的一月从搜索开始
-
总结:暴力搜索即可
-
地图上的搜索问题,优先考虑BFS,本提难点在于BFS如何转移到下一步,手动模拟坐标加几减几即可
-
总结:DFS剪枝,优化搜索顺序,从分支小的开始,排除等效冗余,可行性剪枝等等,本题额外用到位运算常数优化。代码较难,可反复观看
搜索的题目没啥可做的,很无聊。
反正搜索大概率是用来打暴力的,所以不做了罢
-
P10298 [CCC 2024 S4] Painting Roads
总结:求最少的...次数还得保证...联通,考虑最小生成树,因为最小生成树一定能保证联通而且边数最少。
-
总结,一个完全图的节点数为
,则有 种不同的生成树。本题主要运用这个知识。 -
总结:先用SPFA处理完求一边最短路处理负边权,令新的边权为
再跑 遍 Dijkstra
20240804 图论专题
总结:做的题都比较板,多背背模板就差不多了
20240805 数学知识点学习:
20240806 全方位总结:
......
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 【.NET】调用本地 Deepseek 模型
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库