随笔分类 -  图论

摘要:【描述】 OI island是一个非常漂亮的岛屿,自开发以来,到这儿来旅游的人很多。然而,由于该岛屿刚刚开发不久,所以那里的交通情况还是很糟糕。所以,OIER Association组织成立了,旨在建立OI island的交通系统。 OI island有n个旅游景点,不妨将它们从1到n标号。现在,OIER Association需要修公路将这些景点连接起来。一条公路连接两个景点。公路有,不妨称它们为一级公路和二级公路。一级公路上的车速快,但是修路的花费要大一些。 OIER Association打算修n-1条公路将这些景点连接起来(使得任意两个景点之间都会有一条路径)。为了保证公路系统的效率. 阅读全文
posted @ 2013-10-27 21:24 N_C_Derek 阅读(469) 评论(0) 推荐(0)
摘要:【问题描述】 在社会经济高速发展的今天,借助高科技手段,组建太空战队的愿望就快实现了。 战队属下有N个航天员。作为空军选拔上来的佼佼者,每个航天员都有与生俱来的骄傲——他们每个人都认为自己是最强的或者是第二强的。这样,如何分组就成了司令官的难题了。司令官分组的方法是这样的: 步骤1:任意选择一个未被分组的航天员,记为当前航天员. 步骤2:把当前航天员分入一个新的组. 步骤3:如果当前航天员心目中最强的那个航天员(记为Q航天员)还没有被分组,那么把Q航天员分入当前航天员所在组,并把Q航天员作为当前航天员并重复步骤3;如果Q航天员已经被分组,那么重复步骤1,直至所有航天员都被分入了某... 阅读全文
posted @ 2013-10-22 21:02 N_C_Derek 阅读(281) 评论(0) 推荐(0)
摘要:【问题描述】 一位冷血的杀手潜入 Na-wiat,并假装成平民。警察希望能在 N 个人里面,查出谁是杀手。 警察能够对每一个人进行查证,假如查证的对象是平民,他会告诉警察,他认识的人, 谁是杀手, 谁是平民。 假如查证的对象是杀手, 杀手将会把警察干掉。现在警察掌握了每一个人认识谁。 每一个人都有可能是杀手,可看作他们是杀手的概率是相同的。 问:根据最优的情况,保证警察自身安全并知道谁是杀手的概率最大是多少? 对于 100%的数据有 1≤N ≤ 10 0000,0≤M ≤ 30 0000【分析】 很简单的一道题。题目给了一个有向图,每查未知的一个人,猜错的概率增加1/n。如果出... 阅读全文
posted @ 2013-09-29 21:26 N_C_Derek 阅读(647) 评论(0) 推荐(0)
摘要:【问题描述】 有两个监狱,要关押n个罪犯。两个罪犯直接可能会有怨气值,若这两人在同一个监狱,则会爆发一个事件,事件的影响力等于两个罪犯的怨气值。答案等于所有事件的影响力的最大值,要使答案最小。有m对罪犯有怨气值。 n≤20000,m≤100000【分析】 曾经有大牛说过,一般题目求“最小值的最大值”或“最大值的最小值”的话,都可以用二分做。这句话真心很好用啊! 二分答案,然后构造二分图,即怨气值大于答案的罪犯需在不同监狱,若可以构造则修改右边界,否则修改左边界。总时间复杂度O(n log c)。【代码】 PS:懒得写链表直接用vector存边不要介意。#include <iostre.. 阅读全文
posted @ 2012-10-14 20:50 N_C_Derek 阅读(344) 评论(0) 推荐(0)
摘要:【问题描述】 有n个城市和m条道路,道路有双向道路和单向道路。每个城市的水晶球价格不同,商人阿龙要从城市1走到城市n,城市和道路可以经过多次。阿龙可以在一个城市买入一个水晶球,然后在之后经过的城市卖出(最多交易一次)。求出阿龙最多能够获得的利润。 1≤n≤100000,1≤m≤500000【分析】 最简单的想法是遍历全图,找到价格的Max和Min,相减得到答案。但是要保证必须先走到Min的城市,再走到Max的城市,所以这样是不行的。我们可以反向构图,分成正着走到n和倒着走到1,令Min[i] 表示从1开始正着走到i的城市中最小的价格,Max[i]表示从n倒着走到i的城市中最大的价格,则an.. 阅读全文
posted @ 2012-10-14 19:41 N_C_Derek 阅读(483) 评论(0) 推荐(1)