图论
王文波~
清。。
展开
-
拓扑排序------------车站分级
一条单向的铁路线上,依次有编号为1, 2, …, n 的n个火车站。每个火车站都有一个级别,最低为1级。现有若干趟车次在这条线路上行驶,每一趟都满足如下要求:如果这趟车次停靠了火车站x,则始发站、终点站之间所有级别大于等于火车站x的都必须停靠。(注意:起始站和终点站自然也算作事先已知需要停靠的站点) 例如,下表是5趟车次的运行情况。其中,前4趟车次均满足要求,而第5趟车次由于停靠了3号火车...原创 2020-04-28 21:47:02 · 150 阅读 · 0 评论 -
拓扑排序----------可达性统计
给定一张N个点M条边的有向无环图,分别统计从每个点出发能够到达的点的数量。输入格式第一行两个整数N,M,接下来M行每行两个整数x,y,表示从x到y的一条有向边。输出格式输出共N行,表示每个点能够到达的点的数量。数据范围1≤N,M≤300001≤N,M≤30000输入样例:10 103 82 32 55 95 92 33 94 82 104 9输出样例:16...原创 2020-04-28 19:56:51 · 131 阅读 · 0 评论 -
拓扑排序--------奖金
由于无敌的凡凡在2005年世界英俊帅气男总决选中胜出,Yali Company总经理Mr.Z心情好,决定给每位员工发奖金。公司决定以每个人本年在公司的贡献为标准来计算他们得到奖金的多少。于是Mr.Z下令召开 mm 方会谈。每位参加会谈的代表提出了自己的意见:“我认为员工 aa 的奖金应该比 bb 高!”Mr.Z决定要找出一种奖金方案,满足各位代表的意见,且同时使得总奖金数最少。每位员工奖...原创 2020-04-28 19:17:55 · 263 阅读 · 0 评论 -
拓扑排序------------家谱树
有个人的家族很大,辈分关系很混乱,请你帮整理一下这种关系。给出每个人的孩子的信息。输出一个序列,使得每个人的孩子都比那个人后列出。输入格式第 11 行一个整数 nn,表示家族的人数;接下来 nn 行,第 ii 行描述第 ii 个人的孩子;每行最后是 00 表示描述完毕。每个人的编号从 11 到 nn。输出格式输出一个序列,使得每个人的孩子都比那个人后列出;数据保证一定有解,如果...原创 2020-04-28 17:31:32 · 293 阅读 · 0 评论 -
欧拉回路和欧拉路径-----------单词游戏
有 NN 个盘子,每个盘子上写着一个仅由小写字母组成的英文单词。你需要给这些盘子安排一个合适的顺序,使得相邻两个盘子中,前一个盘子上单词的末字母等于后一个盘子上单词的首字母。请你编写一个程序,判断是否能达到这一要求。输入格式第一行包含整数 TT,表示共有 TT 组测试数据。每组数据第一行包含整数 NN,表示盘子数量。接下来 NN 行,每行包含一个小写字母字符串,表示一个盘子上的单词。...原创 2020-04-27 17:23:37 · 344 阅读 · 0 评论 -
欧拉回路和欧拉路径----------骑马修栅栏-
农民John每年有很多栅栏要修理。他总是骑着马穿过每一个栅栏并修复它破损的地方。John是一个与其他农民一样懒的人。他讨厌骑马,因此从来不两次经过一个栅栏。你必须编一个程序,读入栅栏网络的描述,并计算出一条修栅栏的路径,使每个栅栏都恰好被经过一次。John能从任何一个顶点(即两个栅栏的交点)开始骑马,在任意一个顶点结束。每一个栅栏连接两个顶点,顶点用 11 到 500500 标号(虽然...原创 2020-04-27 15:32:13 · 325 阅读 · 0 评论 -
欧拉回路和欧拉路径----------欧拉回路
给定一张图,请你找出欧拉回路,即在图中找一个环使得每条边都在环上出现恰好一次。输入格式第一行包含一个整数 tt,t∈{1,2}t∈{1,2},如果 t=1t=1,表示所给图为无向图,如果 t=2t=2,表示所给图为有向图。第二行包含两个整数 n,mn,m,表示图的结点数和边数。接下来 mm行中,第 ii行两个整数 vi,uivi,ui,表示第 ii条边(从 11开始编号)。如果...原创 2020-04-26 16:03:02 · 161 阅读 · 0 评论 -
欧拉路径和欧拉回路-----------铲雪车
随着白天越来越短夜晚越来越长,我们不得不考虑铲雪问题了。整个城市所有的道路都是双向车道,道路的两个方向均需要铲雪。因为城市预算的削减,整个城市只有 1 辆铲雪车。铲雪车只能把它开过的地方(车道)的雪铲干净,无论哪儿有雪,铲雪车都得从停放的地方出发,游历整个城市的街道。现在的问题是:最少要花多少时间去铲掉所有道路上的雪呢?输入格式输入数据的第 11 行表示铲雪车的停放坐标 (x,y)(x,...原创 2020-04-25 20:14:51 · 294 阅读 · 0 评论 -
二分图---------捉迷藏
Vani和cl2在一片树林里捉迷藏。这片树林里有N座房子,M条有向道路,组成了一张有向无环图。树林里的树非常茂密,足以遮挡视线,但是沿着道路望去,却是视野开阔。如果从房子A沿着路走下去能够到达B,那么在A和B里的人是能够相互望见的。现在cl2要在这N座房子里选择K座作为藏身点,同时Vani也专挑cl2作为藏身点的房子进去寻找,为了避免被Vani看见,cl2要求这K个藏身点的任意两个之间都没...原创 2020-04-25 18:37:19 · 157 阅读 · 0 评论 -
二分图-----------骑士放置
给定一个 N*M 的棋盘,有一些格子禁止放棋子。问棋盘上最多能放多少个不能互相攻击的骑士(国际象棋的“骑士”,类似于中国象棋的“马”,按照“日”字攻击,但没有中国象棋“别马腿”的规则)。输入格式第一行包含三个整数N,M,T,其中T表示禁止放置的格子的数量。接下来T行每行包含两个整数x和y,表示位于第x行第y列的格子禁止放置,行列数从1开始。输出格式输出一个整数表示结果。数据范围1≤...原创 2020-04-25 17:13:25 · 181 阅读 · 0 评论 -
二分图-----------机器任务
有两台机器 A,B 以及 K 个任务。机器 A 有 N 种不同的模式(模式0~N-1),机器 B 有 M 种不同的模式(模式0~M-1)。两台机器最开始都处于模式0。每个任务既可以在A上执行,也可以在B上执行。对于每个任务 i,给定两个整数 a[i] 和 b[i],表示如果该任务在 A 上执行,需要设置模式为 a[i],如果在 B 上执行,需要模式为 b[i]。任务可以以任意顺序被执行,...原创 2020-04-25 15:06:42 · 113 阅读 · 0 评论 -
二分图---------棋盘覆盖
给定一个N行N列的棋盘,已知某些格子禁止放置。求最多能往棋盘上放多少块的长度为2、宽度为1的骨牌,骨牌的边界与格线重合(骨牌占用两个格子),并且任意两张骨牌都不重叠。输入格式第一行包含两个整数N和t,其中t为禁止放置的格子的数量。接下来t行每行包含两个整数x和y,表示位于第x行第y列的格子禁止放置,行列数从1开始。输出格式输出一个整数,表示结果。数据范围1≤N≤1001≤N≤100...原创 2020-04-25 12:28:31 · 196 阅读 · 0 评论 -
二分图-------关押罪犯
S 城现有两座监狱,一共关押着 N 名罪犯,编号分别为1~N。他们之间的关系自然也极不和谐。很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突。我们用“怨气值”(一个正整数值)来表示某两名罪犯之间的仇恨程度,怨气值越大,则这两名罪犯之间的积怨越多。如果两名怨气值为 c 的罪犯被关押在同一监狱,他们俩之间会发生摩擦,并造成影响力为 c 的冲突事件。每年年末,警察局会将本年内监狱中...原创 2020-04-25 10:39:29 · 129 阅读 · 0 评论 -
无向图的双连通分量-------矿场搭建
煤矿工地可以看成是由隧道连接挖煤点组成的无向图。为安全起见,希望在工地发生事故时所有挖煤点的工人都能有一条出路逃到救援出口处。于是矿主决定在某些挖煤点设立救援出口,使得无论哪一个挖煤点坍塌之后,其他挖煤点的工人都有一条道路通向救援出口。请写一个程序,用来计算至少需要设置几个救援出口,以及不同最少救援出口的设置方案总数。输入格式输入文件有若干组数据,每组数据的第一行是一个正整数 N,表示工...原创 2020-04-24 22:56:37 · 196 阅读 · 0 评论 -
无向图的双连通分量-------电力
给定一个由 nn 个点 mm 条边构成的无向图,请你求出该图删除一个点之后,连通块最多有多少。输入格式输入包含多组数据。每组数据第一行包含两个整数 n,mn,m。接下来 mm 行,每行包含两个整数 a,ba,b,表示 a,ba,b 两点之间有边连接。数据保证无重边。点的编号从 00 到 n−1n−1。读入以一行 0 00 0 结束。输出格式每组数据输出一个结果,占一行,表示连通块...原创 2020-04-20 23:32:50 · 245 阅读 · 0 评论 -
codeforce---------Minesweeper
One day Alex decided to remember childhood when computers were not too powerful and lots of people played only default games. Alex enjoyed playing Minesweeper that time. He imagined that he saved worl...原创 2020-04-19 21:48:03 · 177 阅读 · 0 评论 -
codeforce---------Game
Two players play a game.Initially there are nn integers a1,a2,…,ana1,a2,…,an written on the board. Each turn a player selects one number and erases it from the board. This continues until there is on...原创 2020-04-19 21:43:24 · 317 阅读 · 0 评论 -
无向图的双连通分量----------冗余路径
为了从F个草场中的一个走到另一个,奶牛们有时不得不路过一些她们讨厌的可怕的树。奶牛们已经厌倦了被迫走某一条路,所以她们想建一些新路,使每一对草场之间都会至少有两条相互分离的路径,这样她们就有多一些选择。每对草场之间已经有至少一条路径。给出所有R条双向路的描述,每条路连接了两个不同的草场,请计算最少的新建道路的数量,路径由若干道路首尾相连而成。两条路径相互分离,是指两条路径没有一条重合的道路...原创 2020-04-19 14:39:28 · 146 阅读 · 0 评论 -
有向图的强连通分量----------银河
银河中的恒星浩如烟海,但是我们只关注那些最亮的恒星。我们用一个正整数来表示恒星的亮度,数值越大则恒星就越亮,恒星的亮度最暗是 1。现在对于 N 颗我们关注的恒星,有 M 对亮度之间的相对关系已经判明。你的任务就是求出这 N 颗恒星的亮度值总和至少有多大。输入格式第一行给出两个整数 N 和 M。之后 M 行,每行三个整数 T, A, B,表示一对恒星(A, B)之间的亮度关系。恒星的编号...原创 2020-04-19 09:59:46 · 173 阅读 · 0 评论 -
有向图的强连通分量------最大半连通子图
一个有向图 G=(V,E)G=(V,E)称为半连通的 (Semi-Connected),如果满足:∀u,v∈V∀u,v∈V,满足 u→vu→v或 v→uv→u,即对于图中任意两点 u,vu,v,存在一条 uu到 vv的有向路径或者从 vv到 uu的有向路径。若 G′=(V′,E′)G′=(V′,E′)满足,E′E′是 EE中所有和 V′V′有关的边,则称 G′G′是 G...原创 2020-04-18 22:41:13 · 327 阅读 · 0 评论 -
有向图的强连通分量--------学校网络
一些学校连接在一个计算机网络上,学校之间存在软件支援协议,每个学校都有它应支援的学校名单(学校A支援学校B,并不表示学校B一定要支援学校A)。当某校获得一个新软件时,无论是直接获得还是通过网络获得,该校都应立即将这个软件通过网络传送给它应支援的学校。因此,一个新软件若想让所有学校都能使用,只需将其提供给一些学校即可。现在请问最少需要将一个新软件直接提供给多少个学校,才能使软件能够通过网络被传...原创 2020-04-18 21:18:01 · 128 阅读 · 0 评论 -
有向图的强连通分量----------受欢迎的牛
每一头牛的愿望就是变成一头最受欢迎的牛。现在有 NN头牛,编号从 11到 NN,给你 MM对整数 (A,B)(A,B),表示牛 AA认为牛 BB受欢迎。这种关系是具有传递性的,如果 AA认为 BB受欢迎,BB认为 CC受欢迎,那么牛 AA也认为牛 CC受欢迎。你的任务是求出有多少头牛被除自己之外的所有牛认为是受欢迎的。输入格式第一行两个数 N,MN,M;接下来 MM行...原创 2020-04-18 19:17:20 · 170 阅读 · 0 评论 -
最近公共祖先------------闇の連鎖
传说中的暗之连锁被人们称为 Dark。Dark 是人类内心的黑暗的产物,古今中外的勇者们都试图打倒它。经过研究,你发现 Dark 呈现无向图的结构,图中有 N 个节点和两类边,一类边被称为主要边,而另一类被称为附加边。Dark 有 N – 1 条主要边,并且 Dark 的任意两个节点之间都存在一条只由主要边构成的路径。另外,Dark 还有 M 条附加边。你的任务是把 Dark 斩为不连通...原创 2020-04-17 23:46:12 · 325 阅读 · 0 评论 -
最近公共祖先--------次小生成树
给定一张 N 个点 M 条边的无向图,求无向图的严格次小生成树。设最小生成树的边权之和为sum,严格次小生成树就是指边权之和大于sum的生成树中最小的一个。输入格式第一行包含两个整数N和M。接下来M行,每行包含三个整数x,y,z,表示点x和点y之前存在一条边,边的权值为z。输出格式包含一行,仅一个数,表示严格次小生成树的边权和。(数据保证必定存在严格次小生成树)数据范围N≤105,...原创 2020-04-17 22:30:03 · 158 阅读 · 0 评论 -
最近公共祖先--------距离
给出 nn个点的一棵树,多次询问两点之间的最短距离。注意:边是无向的。所有节点的编号是 1,2,…,n1,2,…,n。输入格式第一行为两个整数 nn和 mm。nn表示点数,mm表示询问次数;下来 n−1n−1行,每行三个整数 x,y,kx,y,k,表示点 xx和点 yy之间存在一条边长度为 kk;再接下来 mm行,每行两个整数 x,yx,y,表示询问点 xx到点 yy...原创 2020-04-17 00:06:56 · 218 阅读 · 0 评论 -
最近公共祖先-------祖孙询问
给定一棵包含 nn个节点的有根无向树,节点编号互不相同,但不一定是 1∼n1∼n。有 mm个询问,每个询问给出了一对节点的编号 xx和 yy,询问 xx与 yy的祖孙关系。输入格式输入第一行包括一个整数 表示节点个数;接下来 nn行每行一对整数 aa和 bb,表示 aa和 bb之间有一条无向边。如果 bb是 −1−1,那么 aa就是树的根;第 n+2n+2行是一个...原创 2020-04-15 23:51:13 · 181 阅读 · 0 评论 -
差分约束--------- 雇佣收银员
一家超市要每天24小时营业,为了满足营业需求,需要雇佣一大批收银员。已知不同时间段需要的收银员数量不同,为了能够雇佣尽可能少的人员,从而减少成本,这家超市的经理请你来帮忙出谋划策。经理为你提供了一个各个时间段收银员最小需求数量的清单R(0),R(1),R(2),…,R(23)。R(0)表示午夜00:00到凌晨01:00的最小需求数量,R(1)表示凌晨01:00到凌晨02:00的最小需求数量,...原创 2020-04-14 20:39:38 · 237 阅读 · 0 评论 -
差分约束-------------排队布局
当排队等候喂食时,奶牛喜欢和它们的朋友站得靠近些。农夫约翰有 NN头奶牛,编号从 11到 NN,沿一条直线站着等候喂食。奶牛排在队伍中的顺序和它们的编号是相同的。因为奶牛相当苗条,所以可能有两头或者更多奶牛站在同一位置上。如果我们想象奶牛是站在一条数轴上的话,允许有两头或更多奶牛拥有相同的横坐标。一些奶牛相互间存有好感,它们希望两者之间的距离不超过一个给定的数 LL。另一方面,一些奶牛相互...原创 2020-04-13 23:09:46 · 182 阅读 · 0 评论 -
差分约束---------区间
给定 n 个区间 [ai,biai,bi]和 n 个整数 cici。你需要构造一个整数集合 Z,使得∀i∈[1,n]∀i∈[1,n],Z 中满足ai≤x≤biai≤x≤bi的整数 x 不少于 cici 个。求这样的整数集合 Z 最少包含多少个数。输入格式第一行包含整数 n。接下来n行,每行包含三个整数ai,bi,ciai,bi,ci。输出格式输出一个整数表示结果。数据范围1≤n≤...原创 2020-04-13 19:28:24 · 128 阅读 · 0 评论 -
差分约束------------糖果
幼儿园里有 NN个小朋友,老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果。但是小朋友们也有嫉妒心,总是会提出一些要求,比如小明不希望小红分到的糖果比他的多,于是在分配糖果的时候, 老师需要满足小朋友们的 KK个要求。幼儿园的糖果总是有限的,老师想知道他至少需要准备多少个糖果,才能使得每个小朋友都能够分到糖果,并且满足小朋友们所有的要求。输入格式输入的第一行是两个整数 N,KN,...原创 2020-04-13 14:33:14 · 183 阅读 · 0 评论 -
负环-----------单词环
我们有 nn 个字符串,每个字符串都是由 a∼za∼z 的小写英文字母组成的。如果字符串 AA 的结尾两个字符刚好与字符串 BB 的开头两个字符相匹配,那么我们称 AA 与 BB 能够相连(注意:AA 能与 BB 相连不代表 BB 能与 AA 相连)。我们希望从给定的字符串中找出一些,使得它们首尾相连形成一个环串(一个串首尾相连也算),我们想要使这个环串的平均长度最大。如下例:ababc...原创 2020-04-12 23:34:29 · 214 阅读 · 0 评论 -
SPFA找负环----------观光奶牛
给定一张L个点、P条边的有向图,每个点都有一个权值f[i],每条边都有一个权值t[i]。求图中的一个环,使“环上各点的权值之和”除以“环上各边的权值之和”最大。输出这个最大值。注意:数据保证至少存在一个环。输入格式第一行包含两个整数L和P。接下来L行每行一个整数,表示f[i]。再接下来P行,每行三个整数a,b,t[i],表示点a和b之间存在一条边,边的权值为t[i]。输出格式输出...原创 2020-04-12 16:47:31 · 119 阅读 · 0 评论 -
SPFA找负环-----------虫洞
农夫约翰在巡视他的众多农场时,发现了很多令人惊叹的虫洞。虫洞非常奇特,它可以看作是一条 单向 路径,通过它可以使你回到过去的某个时刻(相对于你进入虫洞之前)。农夫约翰的每个农场中包含N片田地,M条路径(双向)以及W个虫洞。现在农夫约翰希望能够从农场中的某片田地出发,经过一些路径和虫洞回到过去,并在他的出发时刻之前赶到他的出发地。他希望能够看到出发之前的自己。请你判断一下约翰能否做到这一点...原创 2020-04-12 15:03:45 · 143 阅读 · 0 评论 -
最小生成树的扩展应用-----------秘密的牛奶运输
农夫约翰要把他的牛奶运输到各个销售点。运输过程中,可以先把牛奶运输到一些销售点,再由这些销售点分别运输到其他销售点。运输的总距离越小,运输的成本也就越低。低成本的运输是农夫约翰所希望的。不过,他并不想让他的竞争对手知道他具体的运输方案,所以他希望采用费用第二小的运输方案而不是最小的。现在请你帮忙找到该运输方案。注意::如果两个方案至少有一条边...原创 2020-04-12 11:13:53 · 233 阅读 · 0 评论 -
最小生成树的扩展应用-----------走廊泼水节
给定一棵N个节点的树,要求增加若干条边,把这棵树扩充为完全图,并满足图的唯一最小生成树仍然是这棵树。求增加的边的权值总和最小是多少。注意: 树中的所有边权均为整数,且新加的所有边权也必须为整数。输入格式第一行包含整数t,表示共有t组测试数据。对于每组测试数据,第一行包含整数N。接下来N-1行,每行三个整数X,Y,Z,表示X节点与Y节点之间存在一条边,长度为Z。输出格式每组数据输出一...原创 2020-04-10 21:55:01 · 94 阅读 · 0 评论 -
最小生成树的扩展应用-----------北极通讯网络
北极的某区域共有 nn座村庄,每座村庄的坐标用一对整数 (x,y)(x,y)表示。为了加强联系,决定在村庄之间建立通讯网络,使每两座村庄之间都可以直接或间接通讯。通讯工具可以是无线电收发机,也可以是卫星设备。无线电收发机有多种不同型号,不同型号的无线电收发机有一个不同的参数 dd,两座村庄之间的距离如果不超过 dd,就可以用该型号的无线电收发机直接通讯,dd值越大的型号价格越贵。现在要先...原创 2020-04-10 20:53:57 · 196 阅读 · 0 评论 -
最小生成树的扩展应用------------新的开始
发展采矿业当然首先得有矿井,小 FF 花了上次探险获得的千分之一的财富请人在岛上挖了 nn口矿井,但他似乎忘记了考虑矿井供电问题。为了保证电力的供应,小 FF 想到了两种办法:在矿井 ii上建立一个发电站,费用为 vivi(发电站的输出功率可以供给任意多个矿井)。将这口矿井 ii与另外的已经有电力供应的矿井 jj之间建立电网,费用为 pi,jpi,j。小 FF 希望你帮他想出一个保证所...原创 2020-04-10 15:24:10 · 272 阅读 · 1 评论 -
最小生成树----------连接格点
有一个 mm行 nn列的点阵,相邻两点可以相连。一条纵向的连线花费一个单位,一条横向的连线花费两个单位。某些点之间已经有连线了,试问至少还需要花费多少个单位才能使所有的点全部连通。输入格式第一行输入两个正整数 mm和 nn。以下若干行每行四个正整数 x1,y1,x2,y2x1,y1,x2,y2,表示第 x1x1行第 y1y1列的点和第 x2x2行第 y2y2列的点已经有连线。输入...原创 2020-04-09 14:52:53 · 357 阅读 · 0 评论 -
最小生成树-----------联络员
Tyvj已经一岁了,网站也由最初的几个用户增加到了上万个用户,随着Tyvj网站的逐步壮大,管理员的数目也越来越多,现在你身为Tyvj管理层的联络员,希望你找到一些通信渠道,使得管理员两两都可以联络(直接或者是间接都可以)。本题中所涉及的通信渠道都是 双向 的。Tyvj是一个公益性的网站,没有过多的利润,所以你要尽可能的使费用少才可以。目前你已经知道,Tyvj的通信渠道分为两大类,一类是必选通信渠道...原创 2020-04-09 13:38:12 · 417 阅读 · 0 评论 -
最小生成树--------------繁忙的都市
城市C是一个非常繁忙的大都市,城市中的道路十分的拥挤,于是市长决定对其中的道路进行改造。城市C的道路是这样分布的:城市中有 nn 个交叉路口,编号是 1∼n1∼n,有些交叉路口之间有道路相连,两个交叉路口之间最多有一条道路相连接。这些道路是 双向 的,且把所有的交叉路口直接或间接的连接起来了。每条道路都有一个分值,分值越小表示这个道路越繁忙,越需要进行改造。但是市政府的资金有限,市长希望...原创 2020-04-08 21:37:08 · 193 阅读 · 0 评论