版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章Day 11.1社交网络问题描述:在社交网络(so些社会现象。l network)的研究中,常常使用图论概念去解释一不妨看这样的一个问题。在一个社交圈子里有 n 个人,人与人之间有不同程度的关系。这个关系网络对应到一个 n 个结点的无向图上,两个不同的人若互相认识,则在他们对应的结点之间连接一条无向边,并附上一个整数权值 c,c 越小,表示两个人之间的关系越密切。可以用对应结点之间的最短路长度来衡量两个人 s 和 t 直接的关系密切程度,注意到对最短路径上的其他结点为 s 和 t 之间的联系有一定的重要程度。那么通过统计通过一个结点 v 的最短路径的数目来衡量该结点在社交网络中的重要程度
2、,是有一定道理的。考虑到两个结点A 和B 之间可能会有多条最短路径。定义如下:修改重要程度的定义 1.1. 令 Cs,t 表示从 s 到 t 的不同的最短路的数目;则定义XCs,t(v)Cs,tI(v) =6 v,t6=vs为结点 v 在社交网络中的重要程度。为了使 I(v) 和 Cs,t(v) 有意义,规定需要处理的社交网络都是连通的无向图,即任意两个结点之间都有一条有限长度的最短路径。现在给出这样一幅描述社交网络的要程度。无向图,请你求出每一个结点的重输入文件:第一章DAY 12输入文件中第一行有两个整数,n 和 m,表示社交网络中结点和无向边的数目。在无向图中,所有节点从 1 到 n 进
3、行。接下来 m 行,每行用三个整数 a, b, c 描述一条连接结点A 和 b,权值为 c 的无向边。注意任意两个结点之间最多有一条无向边相连,无向图中也不会出现自环(即不存在一条无向边的两个端点是相同的结点)。输出文件:输出文件包括 n 行,每行一个实数,精确到小数点后 3 位。第 i 行的实数表示结点 i 在社交网络中的重要程度。样例输入:41234423411111样例输出:1.0001.0001.0001.000样例说明:社交网络如图 1.1 所示。对于1号结点而言,只有 2 号到 4 号结点和 4 号到 2号结点的最短路经过 1 号结点,而 2 号结点和 4 号结点之间的最短路又有
4、2 条。因而根据定义,1 号结点的重要程度计算为 1 + 1 = 1。由于图的对称性,其他三22个结点的重要程度也都是 1。数据规模和约定:第一章DAY 13c = 1 12c = 1 c = 143c = 1 图 1.1: Explanation50% 的数据中:n 10,m 45。100% 的数据中:n 100,m 4500,1 c 1000。所有数据中保证给出的无向图连通,且任意两个结点之间的最短路径数目不超过 1010。预处理的想法:注意到如果直接按定义计算,则时间复杂度已经是 O(n3),这就要求在O(1) 的时间内调用 Cs,t 以及 Cs,t(v)。显然,预处理是而 Cs,t(v
5、) 和 Cs,t 不是一点联系都没有的。考场上最好的选择。想法是通过 Cs,t 求Cs,t(v) ,毕竟少一个元应该对时间复杂度的优化有帮助。记 Dis(s, t) 为结点 s, t的最短路径长度,则通过简单的分类和乘法原理:C (v) = v 不在 s 到 t 的最短v 在 s 到 t 的最短 Dis(s, v)+ Dis(v, t) Dis(s, t) Dis(s, v)+ Dis(v, t) = Dis(s, t)0Cs,v Cv,ts,t于是问题就转化成为求所有的 Cs,t 以及Dis(x,y)。直接枚举 s, t 再求 Cs,t 无疑存在时间复杂度过高,该如何跨过这个呢?批量处理询问
6、:注意到要对所有的 s, t 求解 Cs,t,使用的基本方法是单源最短路径。容第一章DAY 14易想到,如果固定 s,就可以在不超过 O(n2) 的时间内对不同的 t 求出 Cs,t 以及Dis(s,t)。这就是多元问题中常用的批量处理。注意到考虑的都是从 s 出发的最短路径,而这些最短路径恰组成一张有向无环图(最短路图)。在有向无环图上求路径条数是有着简单的 DP 方法的,只需拓扑排序后应用加法原理即可。具体实现上,做法是在利用 Dijkstra 算法求 Dis(x,y) 的过程中计算Cs,t。由于 Dijkstra 算法已经为 DP 提供了一个很好的拓扑序,故额外的拓扑排序了。时间复杂度:
7、 O(n3)空间复杂度: O(n2)期望得分: 100就不需要其它做法的比较:有的同学通过 Cs,t(v) 求 Cs,t ,方法是简单的对所有 v =6s, t 求和。而 Cs,t(v)的求法则是枚举所有路径,最多 O(n!),想法朴素,不失为应付小规模数据的好方法。Cs,t(v)提供的参考解答给出了另外一种求法。他定义 s,t(v) =,于是问Cs,tPP题转化为求 I(v) = (v) 。又定义函数 (v) = (v) 。同样是固定 s,?s,ts,s,ts,tt然后寻找最短路图上的后继结点的递推关系进行转移。则对于稀疏图而言,若Dijkstra 算法以 Fibonacci 堆或配对堆实现
8、的话,有 O(nm + n2 log n) 的时间复杂度。感觉参考解答是把比值合起来考虑,没有把分子分母人为割裂。所以 s,?(v)是批量处理的函数表达,更能反映问题本质。但后面的和式变换相当复杂,而且Dijkstra 的高效堆实现也很,故在考场上意义不大。1.2货币兑换问题描述:小 Y 最近在一家金券交易所工作。该金券交易所只交易两种金券:A纪念券(以下简称 A 券)和 B 纪念券(以下简称 B 券)。每个持有金券的顾客第一章DAY 15都有一个自己的帐户。金券的数目可以是一个实数。每天随着市场的起伏波动,两种金券都有自己当时的价值,即每一金券当天可以兑换的数目。金券)。第 K 天中A 券和
9、B 券的价值分别为 AK 和 BK (元/为了方便顾客,金券交易所提供了一种非常方便的交易方式:比例交易法。比例交易法分为两个方面:a) 卖出金券:顾客提供一个 0, 100 内的实数 OP 作为卖出比例,其意义为:将 OP % 的A 券和 OP % 的B 券以当时的价值兑换为;b) 买入金券:顾客支付 IP 元,交易所将会兑换给用户总价值为 IP的金券,并且,满足提供给顾客的 A 券和 B 券的比例在第 K 天恰好为RateK ;例如,假定接下来 3 天内的 AK 、BK 、RateK 的变化分别为:假定在第一天时,用户手中有 100 元用户可以执行以下的操作:但是没有任何金券。注意到,同一
10、天内可以进行多次操作。小 Y 是一个很有经济头脑的员工,通过较长时间的和行情测算,他已经知道了未来 N 天内的A 券和B 券的价值以及 Rate。他还希望能够计算出来,如果开始时拥有 S 元钱,那么 N 天后最多能够获得多少元钱。时间用户操作(元)A 券的数量B 券的数量无10000第一天买入 100 元05050第二天卖出 100%15000第二天买入 150 元07537.5第三天卖出 100%22500时间AKBKRateK第一天111第二天122第三天223第一章DAY 16输入文件:第一行两个正整数 N 、S,分别表示小 Y 能预知的天数以及初始时拥有的钱数。接下来 N 行,第 K
11、行三个实数 AK 、BK 、RateK,意义如题目中所述。输出文件:只有一个实数 MaxProfit,表示第 N 天的操作结束时能够获得的最大的金钱数目。保留3位小数。样例输入:3112100122123样例输出:225.000评分方法:本题没有部分分,你的程序的输出只有和标准能获得该测试点的满分,否则不得分。相差不超过 0.001 时,才数据规模和约定:测试数据设计使得精度误差不会超过 107。对于 40% 的测试数据,满足 N 6 10 ;对于 60% 的测试数据,满足 N 6 1000 ;对于 100% 的测试数据,满足 N 6 100000 ;对于 100% 的测试数据,满足:第一章D
12、AY 170 AK 6 10;0 BK 6 10;0 RateK 6 100;MaxProfit 6 109;提示:输入文件可能很大,请采用快速的读入方式。必然存在一种最优的方案满足:每次买进操作使用完所有的每次卖出操作卖出所有的金券。错误的贪心尝试:;一开始拿到这题,由于有 H的存在,我觉得的资产钱和金券两者间转换。由于一天可以进行多次操作,我就误认为可以把金券全部换成钱,大不了回来。所以我在相邻两天的所有可能决策中尝试取最优,很快编了个贪心算法。但结束前十几分钟,在我出测试数据验证此题的时候,突然发现有反例。仔细思考发现,换成钱回来后两种金券的总价值虽然没变,但比例改变了,也就改变了它们的
13、潜在价值。于是就转而寻求动态规划方法:普通动态规划:设 F i 表示第 i 天开始时结算成现钱的总价值,则天数 j ,有状态转移:上一次结算现钱的()?AjRatej Ai + BBiA Rate + BjAjBjijiF i = maxF j= maxF j(1.1)AjRatej + BjAjRatej + Bj0ji0j g1(j)Ax + g2(j)Bx(g (i) g (j)A (g (j) g (i)B11x22xg2(j)g2(i)Ax Bx AxBx g1(j)g1(i) g1(j)g1(i) = g1(j)g1(i)g1(j)g2(j)g2(i)g1(i)g1(j)g2(j)
14、 g2(i) 0可以看出,每个决策的适用范围应该是若干个区间的交。那么,整个区间就可以被划分为若干区间,不同区间对应着不同决策。但如何高效地查找和决策呢?如果用线性表实现,查找是很快,但由于此题决策没有单调性,可能在表的中间,这样一来,时间复杂度就很高了。所以,用平衡二叉树这些决策。时间复杂度: O(N log n)空间复杂度: O(N )期望得分: 1001.3调兵遣将问题描述:第一章DAY 19我军截获的显示,敌军正在集结试图向我军重要的军械发起进攻。由于我军正处于多线的状态,无法抽调大批前去支援,指挥部决定通过有效的战前部署来提高胜率,减少伤亡和损失。该军械的平面图可以看作是一个 N M
15、 的矩阵,每个 1 1 的格子都表示一个区域,每个区域只与它上下左右的四个区域相邻。每个区域的用途可分为以下3种之一:1. 该区域被用于军事研究(用字母O表示);2. 该区域内驻扎有一个机械化中队(用#表示);3. 该区域是空地(用.表示)。由于空间有限,任一个 1 1 的格子内都无法驻扎两队以上的机械化中队(包括两队),否则会大大降低战斗时的机动性。遗憾的是,由于战前估计,我军的防御部署显得十分分散,这很容易让敌军所擅长的战术得逞。为了确保万无一失,我军决定利用为数不多的防御以最少的移动步骤将所有重要研究区域都包围起来。所谓的“包围”即从该矩阵边界侵入的敌军找不到任意一条路,使得他们不的反抗
16、就能到达某研究区域。任何机械化中队由于的传令权限的限制,每个时间指挥部只能向所有中队中的一个中队下达指令(朝上/下/左/右移动 1 格)。由于时间紧迫,指挥部希望能够尽快完成部署,这个任务就交给你来完成。注意:为了确保不在研究区域发生战斗,最终部署计划不允许某个研究区域驻扎有。输入文件:该题为提交型试题,所有输入数据 surround1.in surround10.in 在开始前已被存入各位选手的试题目录下。对于每个数据:第一行包括2 个整数N ,M ,接下来N 行,每行包括M 个字符.、O或#)。输出文件:第一章DAY 110针对给定的 10 个输入文件 surround1.in surro
17、und10.in,你需要分别提交你的输出文件 surround1.out sourround10.out。每个输出文件的第一行,包括你的所花费的时间 T接下来 T 行,按顺序输出每条命令,每行包括 4 个整数 x1,y1,x2,y2,表示将位于(x1, y1) 的移向(x2, y2)。样例输入:5 5.#.#.# #OOO# #.O#.#.样例输出:12 1 2 2评分方法:如果选手的输出方案不合法(方案执行过程中出现,移出矩等),则得形边界,最终方案有和在同一区域,没有包围,否则设选手输出的方案耗时为 ans,则得分按如下计算:ans 6 AiAi ans 6 Bi Bi ans10?2an
18、sBi1 + 9AiBi1对于每个数据,都有两个评分参数 Ai 与 Bi,其中保证 Ai Bi。你如何测试自己的输出:提供 surround check 这个工具来测试你的输出文件是否是可接受的。使用这个工具的方法是:第一章DAY 111surround_check 在你调用这个程序后,surround check 将根据你给出的输入和输出文件给出测试的结果,其中包括:退出:未知错误;overlap:出现,或最终方案有和在同一区域;outside:移出矩形边界;move error:移动一个不存在的,或移动距离不只一格;not surround:没有包围所有;time not match:输出
19、文件中移动步数与输出yes:输出可接受,将进行下一步的评分。补充说明:不符;在部署的过程中可以进入研究区域,而在最终的部署结果中不可以在研究区域中。另外,在任何时刻,两个都不可以在同一个方格中。观察数据:首先观察数据,可以列表如下:第一章DAY 112小规模数据:小规模数据的基本想法是手算,但手算其实也要讲究些技巧。考场上我写了一个辅助程序,只要给定起点终点,就自动打印出路径。然而遗憾的是,手算结果不够优,可能在某些地方考虑不全。稀疏型数据:这个数据的特点是集中在上方,分布稀疏且是方格。考场的想法是贪心,找目前最近的填上。但实际效果不好,主要是贪心的时候图个方便,写得比较粗糙,只向左上方找。实
20、际上由于点数不多,是可以通过二分图匹配来求得最优解的。斜正方形数据:3、5、8 这几个点实际上有类似之处:最优的做法都是把它们变成斜放的正方形。只要找到对称中心,分类一番,问题就基本解决了。随机数据:剩下的点都是随机数据,考场上没想到好的方法,时间也有限,就放弃了。数据特征处理方法考场得分1小规模数据手算82小规模数据手算93型形成斜正方形104分布稀疏且是方格贪心15风车型形成斜正方形106随机地图,分两块集中N/A07随机地图N/A08正方形边随机甩开形成斜正方形109随机地图N/A010随机地图N/A0第一章DAY 113参考解答给出的是基于最小割的算法。这个算法实际上也很直观:有缺口?
21、找人补上!缺口用网络流找,人用搜索确定,补上的方法用二分匹配确定。很智能,也能适合上述的诸多特殊情况。第二章章Day 22.1项链链工厂问题描述:T 公司是一家专门生产彩色珠子项链的公司,其生产的项链设计新颖、款式多样、价格适中,广受青年人的喜爱。最近 T 公司打算推出一款项链自助生产系统,使用该系统顾客可以自行设计心目中的美丽项链。该项链自助生产系统包括硬件系统与系统,系统与用户进行交互并控制硬件系统,硬件系统接受系统令生产指定的项链。该系统的硬件系统已经完成,而系统尚未开发,T 公司的人找到了正在参加信息学竞赛的你,你能帮助 T 公司编写一个模拟系统吗?一条项链包含 N 个珠子,每个珠子的
22、颜色是 1, 2, . .,c 中的一种。项链被固定在一个平板上,平板的某个位置被标记位置 1,按顺时针方向其他位置被记为 2, 3, . ,N 。你将要编写的系统应支持如下命令:12N3N-1.图 2.1: Explanation第二章DAY 215输入文件:输入文件第一行包含两个整数 N, c,分别表示项链包含的珠子数目以及颜色数目。第二行包含N个整数,x1, x2, . . . , xn,表示从位置 1 到位置 N 的珠子的颜色,1 6 xi 6 c。第三行包含一个整数 Q,表示命令数目。接下来的 Q 行每行一条命令,如上文所述。命令参数限制内容R k0 k N意为 Roe k。将项链在
23、平板上顺时针旋转 k 个位置, 即原来处于位置1 的珠子将转至位置 k+1,处于位置 2 的珠子将转至位置 k +2,依次类推。F意为 Flip。将平板沿着给定的对称轴翻转,原来处于位置 1 的珠子不动,位置 2 上的珠子与位置N 上的珠子互换,位置 3 上的珠子与位置 N 1 上的珠子互换,依次类推。S i j1 6 i, j 6 N意为 Swap i, j。将位置 i 上的珠子与位置 j 上的珠子互换。P i j x1 6 i, j 6 N, x 6 c意为 Pa i, j, x。将位置 i 沿顺时针方向到位置 j 的一段染为颜色 x。C意为 Count。查询当前的项链由多少个“部分”组成
24、, 称项链中颜色相同的一段为一个“部分”。CS i j1 6 i, j 6 N意为 CountSegment i, j。查询从位置 i 沿顺时针方向到位置 j 的一段中有多少个部分组成。第二章DAY 216输出文件:对于每一个 C 和 CS 命令,应输出一个整数代表相应的。样例输入:514C R P32 3 2 125 5 2CS 4 1样例输出:41评分方法:本题没有部分分,你的程序的输出只有和标准否则不得分。完全一致才能获得满分,数据规模和约定:对于 60% 的数据,N 6 1000,Q 6500000,Q 6 500000,c 6 1000。补充说明:1000 ;对于 100% 的数据,
25、N 6注意旋转命令旋转“珠子”但不改变“位置”的1 为对称轴。,而翻转命令始终位置CS 命令表示查询一个“线段”中有多少个“部分”。尤其注意当查询的长度等于 N 时,仍然将查询部分作为“线段”理解。第二章DAY 217操作的分类:仔细分析操作的作用并整理化归,可以将操作分成四类:坐标变换 包括Roe, Flip 两个操作,实际上仅仅将坐标的对应方式更改而已,稍加处理即可。染色 主要是Pa操作,对序列的特定一段进行染色。询问部分 即CountSegment 操作,询问某段的部分数。询问颜色 命名为 GetColor 操作。是将 Swap 转为 PaCountSegment 处理所必须的操作。处理
26、、Count 转为线段树实现:序列的更新,容易想到线段树。经过上述分类,写出程序并非难事。时间复杂度: O(Q log N )空间复杂度: O(N )期望得分: 100 12.2生成树计数问题描述:最近,在无向连通图的生成树个数计算方面有了惊人的进展,他发现:n 个结点的环的生成树个数为 n。 n 个结点的完全图的生成树个数为 n2 2。1考场上在染色这块出了些小 Bug,只得了 70 分。看来写清楚程序也不容易啊!第二章DAY 218BCAHDEGF图 2.2: Explanation这两个发现让欣喜若狂,由此更加坚定了他继续计算生成树个数的想法,他要计算出各种各样图的生成树数目。一天,和同
27、学聚会,大家围坐在一张大圆桌周围。看了看,马上想到了生成树问题。如果把每个同学看成一个结点,邻座(结点间距离为 1 )的同学间连一条边,就变成了一个环。,对环的计数已经十分娴熟且不再感。于是,又把图变了一下:不仅把邻座的同学之间连一条边,还把相隔一个座位(结点间距离为 2 )的同学之间也连一条边,将结点间有边直接相连的这两种情况统称为有边相连,如图 2.2 所示。以前没有计算过这类图的生成树个数,但是,他想起了老师讲过的计意图的生成树个数的一种通用方法:构造一个 n n 的矩阵 A = aij,其中di10i = ji 与 j 有边相连其它ai,j=其中 di 表示结点 i 的度数。与图 2.
28、2 相应的 A 矩阵如下所示。为了计算图 ? 所对应的生成数的个数,只要去掉矩阵 A 的最后一行和最后一列,得到一个 (n 1) (n 1) 的矩阵 B,TABLE第二章DAY 219图 2.3: Explanation计算出矩阵 B 的行列式的值便到图 2.2 的生成树的个数。41411000111411000011411000011411000011411000411000A =1114110001141100401141100011411000411B =0001所以生成树的个数为 |B| = 3528。发现利用通用方法,因计算过于复杂而很难算出来,而且用其他方法也难以找到更简便的公式进
29、行计算。于是,他将图做了简化,从一个地方将圆桌断开,这样所有的同学形成了一条链,连接距离为1和距离为2的点。例如八个点的情形如下图 2.3:这样生成树的总数就减少了很多。不停的思考,一直到聚会结束,终于找到了一种快捷的方法计算出这个图的生成树个数。,如果把距离为3的点也连起来,的生成树的数目。就不知道如何快捷计算了。现在,请你帮助计算这类图输入文件:第二章DAY 220图 2.4: Explanation输入文件中包含两个整数 k, n,由一个空格分隔。k表示要将所有距离不超过 k(含 k)的结点连接起来,n 表示有 n 个结点。输出文件:输出文件输出一个整数,表示生成树的个数。由于你只要输出
30、除 65521 的余数即可。可能比较大,所以样例输入:3 5样例输出:75样例说明:样例对应的图 2.4 如下:31 1 41 141 141 1 31 111141 141|B| = 75A =1B =1 14101 1 1数据规模和约定:对于所有的数据 2 6 k 6 n。第二章DAY 221提示:行列式的一种计算方法,记 (P ) 表示 P 中逆序对的个数,令B的行列式XYn(P )|B| =(1)ij=1P =p1p2.pn是 1 到 n 的排列147258360如,B = ,则计算如下:Qn j=1(P )P(P )b1,pb2,pb3,p(1)123i4843 1 22348963
31、 2 13357105所以 B 的行列式为 0 48 + 0 + 84 + 96 105 = 27。依照提示计算:考场上时间不是很充裕,就简单地按题目中给的提示计算行列式了。时间复杂度: O(n!)空间复杂度: O(n2)数据k 范围n 范围数据k 范围n 范围1k = 2n 6 106k 6 5n 6 1002k = 3n = 57k 6 3n 6 20003k = 4n 6 108k 6 5n 6 100004k = 5n = 109k 6 3n 6 10155k 6 3n 6 10010k 6 5n 6 1015第二章DAY 222期望得分: 40影响的:注意到本题的 k 十分小,不超过
32、 5。这能给解题带来什么方便呢?当 n 增加 1 后,什么了。但是要判断对能产生影响。从 n 出发的边有很多,连法就法是否合法,还必须知道前面 k 个点的连,可以运用状态压缩的动态规划解决这通性。故连通性是影响个问题。的重要时间复杂度: O(n m) 2空间复杂度: O(m)期望得分: 80利用矩阵快速幂优化:动态规划的状态转移可以用矩阵来表示。所以,利用矩阵快速幂加速动态规划是常见的优化方法。本题中最后两个测试点的规模很大,只用运用这个方法才能解决。时间复杂度: O(log n m3)空间复杂度: O(m2)期望得分: 1002.3追捕盗贼问题描述:魔法国度 处作案,专门窃取谍)。为了捉住
33、FrLand 里最近出现了一个大盗 Fr,他在Land 四机关的(因而有人怀疑 Fr是敌国派来的间,Land 的安全局重拳出击!2记 m 为不同连通性情况的总数,当 k = 5 时 m = 52,下同。第二章DAY 2233B124AC图 2.5: ExplanationLand 由 N 个城市组成,并且这 N 个城市又由恰好 N 1 条公路彼此连接起来,使得任意两个城市间都可以通过若干条公路互达。从数据结构的角度也可以说,这 N 个城市和 N 1 条公路形成了一棵树。例如,下图 2.5 就是条公路用字母):Land 的一个可能格局( 4 个城市用数字,3大盗Fr能够在公以任意速度移动。比方说
34、,对于上图给出的格局,在 0.00001 秒钟内(或者任意短的一段时间内),Fr就可以从城市 1 经过城市 2 到达城市 4,中间经过了两条公路。想要生擒 Fr具有非凡的追捕才能:重重,所以安全局派出了经验丰富的警探,这些警探1. 只要有警探和 Fr将其逮捕。同处一个城市,那么就能够立刻察觉到 Fr,并且2. 虽然 Fr在同一条公可以在公以任意快的速度移动,但是如果有警探和 Fr相遇,那么警探也可以立刻察觉到 Fr并将其逮捕。安全局完全不知道 Fr躲在哪个城市,或者正在哪条公移动,所以需要制定一个周密的抓捕计划,计划由若干步骤组成。在每一步中,可以做如下几件事中的一个:1. 在某个城市空降一位
35、警探。警探可以直接从指挥部空降到Land 的任意一个城市里。此操作记为“ L x ”,表示在位警探。耗时 1 秒。为 x 的城市里空降一第二章DAY 2242. 把留在某个城市里的一位警探直接空降到某个城市里。此操作记为“ B指挥部。以备在以后的步骤中再度x ”。表示把为 x 的城市里的一位警探指挥部。耗时 1 秒。3. 让待在城市 x 的一位警探沿着公路移动到城市 y,此操作记为“ M x y ”。耗时 1 秒。当然,前提是城市 x 和城市 y 之间有公路。如果在警探移动的过程中,大盗 Fr也在同一条公,那么警探就抓捕到了 Fr。现在,由你来制定一套追捕计划,也就是给出若干个步骤,需要保证:
36、无论大盗 Fr一开始躲在哪儿,也无论 Fr在整个过程中如何狡猾地移动(Fr大盗可能会窃取到追捕行动的计划书,所以他一定会想尽办法逃避),他一定会被缉拿归案。希望参与的警探越少越好,因为经验丰富的警探毕竟不多。例如对于前面所给的那个图示格局,一个可行的计划如下:L 2 在城市 2 空降一位警探。注意这一步完成之后,城市 2 里不会有Fr,否则他将被捉住。1.L 2 再在城市 2 空降一位警探。2.M 2 1 让城市 2 的一位警探移动到城市 1。注意城市 2 里还留有另一位警3.探。这一步完成之后,城市 1 里不会有 Fr,公路 A 上也不会有 Fr。也就是说,假如 Fr还没有被逮捕,那么他只能
37、是在城市 3 或城市 4 里,或者公路 B 或公路 C 上。城市 1 的一位警探。注意虽然了这位警探,但是由于始4.B 1终留了一位警探在城市 2 把守,所以 Fr公路 A 上。仍然不可能跑到城市 1 或者是L 3 在城市 3 空降一位警探。注意这一步可以空降在此之前被的那位5.警探。这一步完成之后,城市 3 里不会有Fr,否则他会被捉住。M 3 2 让城市 3 里的一位警探移动到城市 2。这一步完成之后,如果 Fr还没有被捉住,那他只能是在公路 C 上或者城市 4 里。注意这一步之后,城市 2 里有两位警探。6.第二章DAY 2257. M 2 4 让城市 2 里的一位警探移动到城市 4。这
38、一步完成之后,Fr一定会被捉住,除非他根本就没来Land。这个计划总共需要 2 位警探的参与。可以证明:如果自始至终只有 1 名或者更少的警探参与,则 Fr就会逍遥法外。你的任务很简单:对于一个输入的Land 的格局,计算 S,也就是为了追捕Fr至少需要投入多少位警探,并且给出相应的追捕计划步骤。输入文件:输入文件给出了Land 的格局。第一行一个整数 N ,代表有 N 个城市,城市的是 1 N 。接下来 N 1 行,每行有两个用空格分开的整数xi,yi,代表城市 xi,yi 之间有公路相连。保证 1 6 xi, yi 6 N 。输出文件:向输出文件输出你所给出的追捕计划。第一行请输出一个整数 S,代表追捕计划需要多少位警探。第二行请输出一个整数 T ,代表追捕计划总共有多少步。接下来请输出T行,依次描述了追捕计划的每一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026广西兴工投资集团有限公司招聘5人笔试参考题库及答案解析
- 宜宾数字经济产业发展集团有限公司2026年公开选聘1名子公司副总经理笔试参考题库及答案解析
- 2026贺兰县公立医疗卫生机构补充招聘16人考试备考试题及答案解析
- 2026年度阿勒泰地区妇幼保健院招聘编制外工作人员(3人)考试备考题库及答案解析
- 2026年中国石化销售有限公司北京石油分公司人员招聘考试模拟试题及答案
- 2026年国家电网有限公司人员招聘考试参考题库及答案
- 浏阳农商银行2026年秋季校园招聘考试参考题库及答案解析
- 2026年重庆联合产权交易所集团人员招聘考试模拟试题及答案
- 2026年中国邮政集团有限公司河南省分公司人员招聘考试模拟试题及答案
- 2027中国地震台网中心招聘笔试参考题库及答案解析
- 电车充电桩运维人员岗前培训手册
- 部队车辆指挥旗语教案
- 2型炎症性疾病靶向治疗药物临床合理应用专家共识课件
- 银联国际社会招聘统一试题
- 《中小学幼儿园安全指南》解读专题培训
- 2026年基层公共服务岗位招聘考试笔试试题(含答案)
- 新春开学第一课:大学反诈宣传课件
- 教育中的积极心理学读书分享
- 雨污水管网施工要点及质量验收要求
- GB/T 30192-2025水蒸发冷却空调机组
- 蜂王浆的课件
评论
0/150
提交评论