
图论
ACM败犬
这个作者很懒,什么都没留下…
展开
-
Codeforce 1248 F. Catowice City(思维,dfs)
题目大意:有 n 户人,每户人家里有一个人和一只猫。每个人都认识自己家的猫,除此之外还认识一些别人家的猫,现在要选一些猫和人出来,使得猫的个数 + 人的个数 = n,并且这些选出来的猫不被选出来的人认识。 首先每户人家必出一只猫或一个人,否则至少有一户人家既要出人又要出猫,这种答案不合法。 那么枚举第一户人出人还是出猫,根据他们的认识关系,可以用dfs搜索出哪些人因此也必须出人或出猫。 无解的情...原创 2019-10-22 08:40:17 · 244 阅读 · 0 评论 -
ZOJ:Welcome Party (各个连通分量的遍历 + 总字典序最小)
题意:有n个人,编号1 - n,有m对朋友,现在希望构造一个入教堂的序列,使得入教堂时在它之前没有它的朋友入教堂的人最少(入教堂时没有朋友比他先入,他就会unhappy,要使unhappy的人最少)。 解法:因为要unhappy的人最少,不难想到各个连通分量可以做到只有一个人unhappy,而每个连通分量至少有一个人unhappy,保证unhappy的人数最少的方法就是遍历各个连通分量,沿着遍历序...原创 2019-04-28 11:43:07 · 245 阅读 · 0 评论 -
ZOJ浙大校赛_problem H:Rescue the Princess(图论分析+tarjan边连通分量染色缩点+树上LCA+并查集)
题目大意:给出一个无向图(不一定连通),然后给出u,v,w三个点,v 和 w要去u,问是否存在两条路径使得v去u和w去u的路径上不存在任何一条公共边(换句话说一条边只能走一次,问u和v能不能都走到w); 可恶啊,想到了正确的图论模型,可惜只差一点,止步在最后的判断,剩一个小时的时候认为判断太复杂了放弃了(白调了一个小时的代码)。 刚看到可能有点懵,但是一想到怎样才会经过一条边?如果有v,w各自在的...原创 2019-04-15 08:58:46 · 271 阅读 · 0 评论 -
CF_div3_problem_F2:Spanning Tree with One Fixed Degree(基本图论+tarjan+并查集)
题目大意:给出一个无向连通图,让你筛选出一棵生成树,使得编号为1的点,度为D。 一开始想都没想,直接照F1的样子写了一发,1号点先选d条边,其他点选边的时候不能选连接1号点的边,用并查集维护树。 进一步思考,可能出现1号点边不够d的情况,即使1号点边足够d,因为后面不能再选和1相连的边,为保证树的连通,关节边必须先选(即桥),如果关节边的数量多余d,以1号点为根结点的dfs树必定会丢失几个子树。 ...原创 2019-03-20 09:04:19 · 218 阅读 · 0 评论 -
codeforce gym 101667 : E - How Many to Be Happy? (最小割)
题目大意:给一个连通无向图,对于连通无向图的每条边,这条边可能在某一颗最小生成树上,如果在称为happy的边,也可能不在,称为unhappy的边。对于unhappy的边,总是可以删掉一些边使得它变成happy的边,设h(e)为使e变成happy最少需要删的边数,定义happy边的h值为0,让你求所有边的h值之和。 题解:先考虑unhappy的,对于一条边(u,v,w)想要加入到最小生成树,必须要在...原创 2019-07-01 11:59:23 · 249 阅读 · 0 评论 -
P2597 [ZJOI2012]:灾难(支配树)
题解:根据定义,若不存在生产者到x的路径,那么x就会灭绝,一个物种的灾难值:将这个点抠掉,有多少个点无法从生产者到达。对输入反向建图,构建支配树,物种的灾难值就是该点在支配树上的子节点个数(不包括自己)。 由于图是DAG,可以按拓扑序构建支配树:按拓扑序遍历所有点,对于当前处理的点x,[1,x - 1]已经构成了支配树,求出所有能到达它的点在支配树上的lca,lca 就是 x的支配点。 ...原创 2019-08-03 17:46:10 · 180 阅读 · 0 评论 -
2019 南京网络赛 D.Robots(DAG求期望dp)
题目大意:在一个DAG上,保证所有的点都在 1 -> n的路径上,机器人在 i 点时可以等概率的选择沿有向边走到相邻点或呆在原点,每过一天机器人花费的能量是已经过去的天数之和,问 从 1号点走到号点的花费能量的期望。 (题都读错了,读成了一般有向图) 做法:显然可以从 n 号点倒推推出 从i 号点走到号点的期望天数,设为dp[i]。转移方程:dp[i]=(∑<i,j&...原创 2019-09-02 00:49:38 · 206 阅读 · 0 评论