随笔分类 -  图论(杂)

摘要:题:https://codeforces.com/contest/1417/problem/F 题意:给定n个点,m条边,每个点都有点权a[ i ]的无向图。 操作一[1,v],找到从当前图v点出发能到达点的最大的a[ i ]输出,并把该点赋值为0; 操作二[2,v]删除第v条边; 分析: 假设这个 阅读全文
posted @ 2020-09-29 00:14 starve_to_death 阅读(222) 评论(0) 推荐(0)
摘要:题:https://nanti.jisuanke.com/t/42397 题意:给定矩阵,若相邻位置比当前位置多1,那么就可以从当前位置走到此相邻位置,定义一条合法路径为经过位置数大于等于4,一条路径是能扩增就扩增,不能截取一段来做路径,问给定矩阵有多少条合法路径。 分析:在相邻点判断建有向边,用拓 阅读全文
posted @ 2020-09-06 21:53 starve_to_death 阅读(369) 评论(0) 推荐(0)
摘要:题:https://codeforces.com/contest/1399/problem/E2 题意:给定一棵树,每个边权有w值和id值,分别代表边权和将改边权降为w/2的代价(1<=id<=2),当前代价nowsum为根节点到叶子节点路径的总和,问要经过最少多少id代价能将nowsum降为<=S 阅读全文
posted @ 2020-09-04 20:01 starve_to_death 阅读(171) 评论(0) 推荐(0)
摘要:题:https://ac.nowcoder.com/acm/contest/4114/C 题意:给定无向图定向,使之成为定向图同时使最长路最短 分析:狄尔沃斯定理。给n个点染色,要求最后图相邻点颜色不能相同,然后编号小的向编号的大走,那么最长路就是颜色种类-1,用dfs求出最小染色数 #includ 阅读全文
posted @ 2020-09-04 13:05 starve_to_death 阅读(245) 评论(0) 推荐(0)
摘要:题:https://ac.nowcoder.com/acm/contest/5670/A 题意:给出n个点m条边的有边权连通图,k个任务,每个任务表示为[u,v],表示必须走到u节点再走到v节点,任务必须按1~k次序完成。其中你可以在经过的节点上设置传送点,俩个传送点之间的代价为0,图上最多有2个传 阅读全文
posted @ 2020-07-31 21:11 starve_to_death 阅读(205) 评论(0) 推荐(0)
摘要:题:https://ac.nowcoder.com/acm/contest/5670/B 题意:给定初始树[u,v,w],可以对树进行增加任意权重边,和删除任意边,前提是这个过程中图要保证连通且若有环则要保证环异或和为0,求操作后的最小权值和 分析:可以发现任意两个点之间连边的权值都是固定的。由于图 阅读全文
posted @ 2020-07-31 13:24 starve_to_death 阅读(221) 评论(0) 推荐(0)
摘要:题:https://codeforces.com/contest/1369/problem/E 题意:有n种食物,wi 表示第 i 种食物的个数,m个朋友,喜欢俩种食物x和y(x,y<=n),确定朋友吃食物的顺序,每次要是还有喜欢的食物就会吃一个(要是x和y都有则都吃x和y),让每个朋友都能吃到至少 阅读全文
posted @ 2020-07-10 23:17 starve_to_death 阅读(206) 评论(0) 推荐(0)
摘要:题:https://codeforces.com/contest/1364/problem/D 题意:给出n个点m条边的图,找到节点数小于等于k的环或节点数等于(k+1)/2的独立集; 分析:先找环,找不到环证明一定存在有独立集,独立集的找法就是01染色。 #include<bits/stdc++. 阅读全文
posted @ 2020-06-14 02:06 starve_to_death 阅读(109) 评论(0) 推荐(0)
摘要:题:https://codeforces.com/contest/1354/problem/E 题意:给定无向图(无自环和重边,可能不连通),每个节点可赋值为“1,2,3”的值,问能否给节点赋值,使得这个图满足有n1个1节点,n2个2节点,n3个3节点,且相邻节点差的绝对值要=1 分析:由题可得,2 阅读全文
posted @ 2020-05-25 10:00 starve_to_death 阅读(187) 评论(0) 推荐(0)
摘要:题:https://codeforces.com/contest/1325/problem/F 题意:给出n个点m条边的图,找到节点数大于等于sqrt(n)的环或节点数等于sqrt(n)的独立集; 分析:先找环,找不到环证明一定存在有独立集,独立集的找法就是01染色。 #include<bits/s 阅读全文
posted @ 2020-03-15 12:24 starve_to_death 阅读(262) 评论(0) 推荐(0)
摘要:题:http://acm.hdu.edu.cn/showproblem.php?pid=4635 题意:给n个点m条边的有向图,问最多还能添加多少条边,让此图还不能形成强连通图; 分析:tarjan缩点后,我们知道要是点双的个数是1那么肯定不符合条件,就直接输出-1; 那么剩下的情况就是,我们挑出一 阅读全文
posted @ 2020-03-06 17:22 starve_to_death 阅读(136) 评论(0) 推荐(0)
摘要:D题:https://codeforces.com/contest/1321/problem/D 题意:题目给个有向图,然后给一段序列,我们要沿着这个序列走,问走的过程中当前点到t的最短路会重构多少次,输出最小最大可能 分析:终点是不变的,我们在按照序列走到某个位置的时候,到终点有若干条长度相同的最 阅读全文
posted @ 2020-03-02 21:55 starve_to_death 阅读(182) 评论(0) 推荐(0)
摘要:题:https://codeforces.com/contest/1307/problem/D 题意:给定无向图,n为点,m为边。在给个k,为特殊点的数目,题目要求在这些特殊点上连一条边,让新图最短路尽可能大,问新图最短路(1到n)是多少? 分析:因为题目保证连通且原本的图一定可以从1到n,我们假设 阅读全文
posted @ 2020-02-18 14:26 starve_to_death 阅读(128) 评论(0) 推荐(0)
摘要:题:https://ac.nowcoder.com/acm/contest/3004/J 分析: 这个题首先先求一遍最短路,这个求最短路的过程可以用flord实现。 接下来类似最长上升子序列,但是显然这个好像不太好优化,考虑暴力m^2转移,由于地图的大小只有200,所以200步以后可以转移到任意位置 阅读全文
posted @ 2020-02-09 16:54 starve_to_death 阅读(92) 评论(0) 推荐(0)
摘要:题:http://poj.org/problem?id=2449 题意: 题目大意就是给出一个图,然后给出一个起点个一个终点,求这两点间的第K短路。 本题中是可以走重复的路的,所以如果一张图中有一个环的话,无论求第几短路都是存在的。 分析: A* 优化的bfs 这里预估函数用的是该点到t的最短路值。 阅读全文
posted @ 2019-12-27 21:41 starve_to_death 阅读(125) 评论(0) 推荐(0)
摘要:题:https://codeforces.com/contest/1277/problem/E 题意:给定无向图,求有多少个pair之间的任意路径一定要经过给定的点a和b(pair中任何一个都不是a或b) 分析:分别从俩个点开始dfs ,以从a为起点为例,每次若dfs到了b,我们可以想象,剩余没遍历 阅读全文
posted @ 2019-12-15 16:23 starve_to_death 阅读(181) 评论(0) 推荐(0)
摘要:题源:https://codeforces.com/gym/101635/attachments 题意: n行,每行给定字符串s1,s2,s3代表一些菜谱名。s2和s3是煮成是的必要条件,然后给出c和v,分别代表s1的消耗和收获; (注意:这个消耗并不可能是s1的真正消耗和收获,s1的最后消耗和收获 阅读全文
posted @ 2019-11-30 22:17 starve_to_death 阅读(209) 评论(0) 推荐(0)
摘要:题:https://codeforces.com/contest/1253/problem/E 题意:给定n个信号源,俩个参数x和s,x代表这个信号源的位置,s代表这个信号源的波及长度,即这个信号源可以遍及[x-s,x+s]范围,然后你可以消耗一个代价来换取某个信号源的s加1, 给定m,问信号覆盖1 阅读全文
posted @ 2019-11-17 14:30 starve_to_death 阅读(248) 评论(0) 推荐(0)
摘要:题:https://codeforces.com/contest/1243/problem/D 分析:找全部可以用边权为0的点连起来的全部块 然后这些块之间相连肯定得通过边权为1的边进行连接 所以答案就是这些块的总数-1; #include<bits/stdc++.h> using namespac 阅读全文
posted @ 2019-11-07 18:07 starve_to_death 阅读(177) 评论(0) 推荐(0)
摘要:题:https://www.cometoj.com/problem/0461 分析:求边双,最后求多汇点最长路 #include<iostream> #include<cstring> #include<algorithm> #include<cstdio> #include<vector> #in 阅读全文
posted @ 2019-09-30 22:17 starve_to_death 阅读(162) 评论(0) 推荐(0)