ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

7.12 Graph Theory 1

2019-07-13 22:02:51  阅读:236  来源: 互联网

标签:Theory 7.12 Bfk Graph 路径 兔子 Sample Input 数据


1    path

1.1       Description

众所周知,Bfk经常为找不到路而烦恼

Bfk终于迎来了它高中以来第一个完整的暑假,它决定从假期里抽出一段时间去日本旅游。可是,对于连教师宿舍都找不到的Bfk来说,在旅途中不迷路是一件很困难的事情。为了避免迷路的尴尬,Bfk早早的就规划起了它的行程。它将日本的地图抽象成了一张n个点m条边的有向图,并在上面选定了行程的起点和终点,但它在规划旅行路径时却犯了难。它希望路径上的点都满足该点的出边所指向的点都能直接或间接的到达终点,这样即使它走错了路,也能重新规划路线到达终点。另外,它还希望旅行的路程尽可能短,以便节约更多的时间预习大学课程。

现在,Bfk找到了你,希望你能帮帮它。它不想为难你,因此你不用输出具体的方案,只需要告诉它满足条件的路径的最短长度就可以了

 

1.2       Input

第一行两个整数 和 ,含义如题

接下来m行,每行三个整数 ,描述一条从 指向 的单向边,长度为

接下来一行两个整数 ,表示起点和终点

 

1.3       Output

输出一行一个数字,表示满足要求的路径的最短长度

特别的,如果不存在这样的路径,则输出“-1”(不含引号)

 

 

1.4       Sample Input

1.5       Sample Input

 

 

3 2

1 2

2 1

1 3

 

-1

解释:起点为1号点,终点为3号点,此两点不连通,故输出-1

 

1.6       Note

对于 15% 的数据,

对于 30% 的数据,  

对于 50% 的数据,  

对于全部数据, ,数据有梯度

1.7       Hint

本题附有大样例,见下发文件

 解析

2    rabbit

2.1       Description

众所周知,Bfk家的后院有一片胡萝卜田

这片田地很受兔子们的喜爱,兔子们为了方便偷吃胡萝卜,在地下打出了一片洞穴网络。Bfk早就发现了它家的萝卜田里兔子泛滥的情形,因此,它决定先外出旅游几天,让兔子们放松警惕,回家时再将兔子们一网打尽。

具体的,我们可以将洞穴网络抽象成一个n条边的图。bfk的策略是,随机堵住某个节点,如果这个点是地下网络的必经之路,那么它就可以守洞待兔了。兔子们并不想坐以待毙,因此它们决定在某些节点挖出通向地面的出口,使得无论bfk堵住哪个节点,兔子们都可以直接从某个出口溜走。

       但是兔子们只会计算1+1=2,对于如此复杂的问题,它们毫无头绪。请你帮忙计算一下,兔子们至少需要挖多少个出口才能满足上述条件,以及在出口数最少的情况下,出口的分布方式有多少种

2.2       Input

第一行两个正整数 ,表示地下网络的边数

接下来 行,每行两个整数 ,表示有一条双向边连通了 两点

 

2.3       Output

输出一行两个整数 。其中, 表示最少出口数, 表示在出口数最少的情况下,设置出口的方案数在模998244353意义下的值

 

 

2.4       Sample Input

2.5       Sample Input

 

由于样例较长,请在下发文件中查看输入样例

 

由于样例较长,请在下发文件中查看输出样例

 

 

2.6       Note

对于 20% 的数据,

对于 40% 的数据,

对于 68% 的数据,

对于全部数据, ,数据有梯度

       保证有 16% 的数据满足,该图任意两点间至少有两条点不重复的路径

      

       保证无自环,但不保证无重边

2.7       Hint

本题读入数据量大,请使用读入优化

读入优化代码在下发文件readin.cpp中,其中read_()函数的作用是,读入一个数字,并将该数字通过返回值传递

解析

 

3    construct

3.1       Description

Me懒得编题面了

给出一个n个点m条边的图,每条边有边长。现在我们钦定了一条边,要使该边一定出现在最小生成树中

你可以进行如下操作:将某条边的长度+1,并付出1的代价

最少需要付出多少代价可以满足要求呢?

3.2       Input

第一行三个整数 ,分别表示点数,边数,被钦定的边的编号

接下来 行,每行三个整数 ,表示一条连接 的路径,其长度为

 

3.3       Output

输出一行一个数字,表示最少操作次数

 

3.4       Sample Input

3.5       Sample Input

 

 

4 6 1

1 2 2

1 3 2

1 4 3

2 3 2

2 4 4

3 4 5

 

1

解释:将1放在中间,2 , 3 , 4号点放在1的周围可以画出此图。容易发现,对连接2,3的边进行一次操作即可满足要求

 

3.6       Note

对于全部数据,满足 ,数据有梯度

保证有 20% 的数据(均匀分布),满足

保证有 20% 的数据(均匀分布),满足编号为 的边是一个桥(由于一些特殊原因,保证保证不存在)

解析

标签:Theory,7.12,Bfk,Graph,路径,兔子,Sample,Input,数据
来源: https://www.cnblogs.com/Joker-Yza/p/11182246.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有