随笔分类 -  图论

摘要:IV.[JSOI2016]反质数序列 神题……想了一下午才想出来…… 同前几题一样,我们可以提出所有和为质数的对,然后跑二分图最大独立集。 先证明一下它为什么是二分图:我们可以令所有奇数为左部,所有偶数为右部。则所有同部间的对的和都是偶数(奇+奇=偶,偶+偶=偶)。则它是一个二分图。 等等,我们好像 阅读全文
posted @ 2021-04-02 15:04 Troverld 阅读(72) 评论(0) 推荐(0) 编辑
摘要:III.[SDOI2016]数字配对 这题是[LightOJ1356]Prime Independence 的加强版Orz... 思想还是一致的,可以建出二分图来,只是二分图单重匹配变成了多重匹配。 然后呢?这个“价值0”的约束怎么办? 题解的办法太神仙了,蒟蒻表示看不懂Orz... 于 阅读全文
posted @ 2021-04-02 15:03 Troverld 阅读(66) 评论(0) 推荐(0) 编辑
摘要:II.[SCOI2015]小凸玩矩阵 二分图做的还是太少了orz…… 一看到“第k大数的最小值”这种东西就应该条件反射二分。 如果套上二分的话,问题就转变为“能否选出不大于xnk+1个数”。 因为一行一列只能选一个数,我们就可以联想到这是把一行和一列给它匹配起来。 然后我们就可以写出 阅读全文
posted @ 2021-04-02 15:01 Troverld 阅读(63) 评论(0) 推荐(0) 编辑
摘要:XIV.CF553E Kyoya and Train 题解 阅读全文
posted @ 2021-04-01 20:23 Troverld 阅读(20) 评论(0) 推荐(0) 编辑
摘要:V.[FJOI2014]最短路径树问题 这题已经在我的收藏夹里吃了大半年的灰了……主要是因为他们有人把这题归到了树形DP里面,然后我就傻乎乎地把它收藏了…… 首先,假设我们已经求出了这个“最短路径树”,剩下的就是点分治的板子了。 而这个“最短路径树”,首先可以通过Dijkstra跑出最短路径DAG, 阅读全文
posted @ 2021-04-01 12:37 Troverld 阅读(75) 评论(0) 推荐(0) 编辑
摘要:XIII.[十二省联考2019]字符串问题 首先,我们可以把题目转变成这样:对于一些A类串,其有连向某些B类串的边;对于某些B类串,其又有连向某些A类串的边。要你找出一条权值最长的路径。(此时显然如果成环则答案一定是 1) A到B的串题目已经给出了,关键是B到A的串。 我们发现,若某个 \ 阅读全文
posted @ 2021-04-01 12:11 Troverld 阅读(50) 评论(0) 推荐(0) 编辑
摘要:XII.[ZJOI2012]网络 这题还以为有什么高端做法呢,一看C10,这题就算结束了。 它的那个限制翻译成人话就是“无论何时,任何颜色的边总是构成一条条链”。然后换颜色就暴力连边断边即可。 代码: #include<bits/stdc++.h> using namespace st 阅读全文
posted @ 2021-03-31 16:11 Troverld 阅读(47) 评论(0) 推荐(0) 编辑
摘要:X.[WC2006]水管局长 或许我这题应该放到V.[NOI2014]魔法森林前面的QaQ? 这题首先一眼看出翻转加边顺序。然后,动态维护最小生成森林,这样保证最小生成森林上的路径上的最大值就是原图中路径的最大值的可能的最小值。反正随便写写就行了。 代码: #include<bits/stdc++. 阅读全文
posted @ 2021-03-31 16:06 Troverld 阅读(36) 评论(0) 推荐(0) 编辑
摘要:IX.[BZOJ4998]星球联盟 这题就比较套路了(虽然我的程序还好好让我debug了一会),比上一题还要简单,直接暴力维护点双即可。 代码: #include<bits/stdc++.h> using namespace std; #define lson t[x].ch[0] #define 阅读全文
posted @ 2021-03-31 16:04 Troverld 阅读(85) 评论(0) 推荐(0) 编辑
摘要:VIII.[BZOJ2959]长跑 我想把出这么毒瘤的题的人拖出来揍一顿 这题稍微想想,就是动态维护点双连通分量并缩点,然后在缩出来的树上求两点距离。 思想简单但代码极其复杂。 首先,我们可以使用冰茶姬维护点双,所有的点全都并到一个冰茶姬中,除了冰茶姬的象征节点,其它的点一律全都删去,不保留任何信息 阅读全文
posted @ 2021-03-31 16:02 Troverld 阅读(52) 评论(0) 推荐(0) 编辑
摘要:IV.[NOI2014]魔法森林 前三题都是模板,是为了让我们练手的。 这题才是真正的挑战。 首先,一看这题既不加边也不删边,甚至连树都不是,还是道静态题,并且长得还贼像最小生成树,我就纳闷了,这是LCT? 还真是。 我们可以将边按照a排序。之后,我们维护一个关于b权值的动态最小生成树。 具 阅读全文
posted @ 2021-03-31 15:55 Troverld 阅读(66) 评论(0) 推荐(0) 编辑
摘要:这里是Kruskal重构树学习笔记。 Kruskal重构树,是用于求出有关一张图中,某点仅经过边权 某个值 v 的边所得到的子图的有关信息的工具。 但事实上,其应用还有更多。 我们先讲述其构造方法: 将所有边按照边权递增排序。 依次枚举每一条边。假如此时边的两个端点处于两个 阅读全文
posted @ 2021-03-31 15:47 Troverld 阅读(212) 评论(0) 推荐(0) 编辑
摘要:CXXXVII.[国家集训队]Tree I 两年前刚学MST时做这题WA了,然后两年后才把它补上…… 明显直接wqs二分就行了。 代码: #include<bits/stdc++.h> using namespace std; int n,m,q,dsu[50100],ip; int read(){ 阅读全文
posted @ 2021-03-31 15:13 Troverld 阅读(47) 评论(0) 推荐(0) 编辑
摘要:CIX.[NOI Online #1 入门组]魔法 我们可以构造出原图的转移矩阵 A,表示只走原图的边的代价。这个直接暴力上Floyd即可。 我们还可以构造出魔法的转移矩阵B。 则,可以想到,答案一定是 ABABABABABABA 这种样子。 故我们用B左乘A 阅读全文
posted @ 2021-03-31 14:21 Troverld 阅读(39) 评论(0) 推荐(0) 编辑
摘要:LCVIII.[POI2006]PRO-Professor Szu 我要举报……本题数据与题面不符(事实上我已经举报了……),会有到不了主楼的情形,要特别考虑。 思路很简单,我们跑SCC缩点。假如一个SCC内部有自环,显然可以一直绕自环,故答案是无限;同时,所有可以走到该SCC的其它点答案都是无限。 阅读全文
posted @ 2021-03-31 14:04 Troverld 阅读(38) 评论(0) 推荐(0) 编辑
摘要:LXXXIV.CF51F Caterpillar 也不知道算不算DP,反正就放这吧。 首先我们很轻松就能想到关于“环”,或者进一步地说,“边双连通分量”。因为最终图中不能有环,所以每个边双肯定最终会被缩成一个点。那么我们就也来缩一下。 在缩点之后,我们便得到了一片森林。 很明显对于每一棵树,我们都应 阅读全文
posted @ 2021-03-30 19:48 Troverld 阅读(42) 评论(0) 推荐(0) 编辑
摘要:XII.[CFGYM100221C]Forbidden Subwords ”双向无限“之类东西太抽象了,我们不妨从简单点的地方考虑。比如说,有限串。 一个有限串中没有出现任何禁忌串的充要条件是什么?沿着AC自动机上边走时没有碰到任何结束点。 现在,我们考虑一个右侧无限的串(即有一个明确开头,但另一端 阅读全文
posted @ 2021-03-30 14:42 Troverld 阅读(62) 评论(0) 推荐(0) 编辑
摘要:~~HLPP=侯磊胖胖~~ 大家好,今天我们来扯HLPP算法了。 这是一个大毒瘤网络流算法,能够在O(n2m)的时间复杂度内跑出一张图的最大流出来。~~但是,一般的网络流题目考的是建图,而不是丧心病狂的卡常。~~ 闲话少说,正片开始。 关于求最大流,一个直观的想法就是从源点灌流量 阅读全文
posted @ 2020-04-26 17:24 Troverld 阅读(78) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示