题目名称 336. [NOI 2003]智破连环阵
输入输出 zplhz.in/out
难度等级 ★★★
时间限制 6000 ms (6 s)
内存限制 128 MiB
测试数据 10
题目来源 GravatarBYVoid 于2009-05-25加入
开放分组 全部用户
提交状态
分类标签
NOI 搜索法
分享题解
通过:15, 提交:60, 通过率:25%
Gravatar张灵犀不和我一般见识真可怕呢(笑 100 0.000 s 0.00 MiB C++
Gravatarfrontier 100 0.000 s 0.00 MiB C++
Gravatarmikumikumi 100 0.015 s 1.64 MiB C++
Gravatarppp 100 0.018 s 0.40 MiB C++
GravatarKZNS 100 0.021 s 0.35 MiB C++
Gravatar6娃 100 0.025 s 0.40 MiB C++
Gravatar蠢丶蛋蛋蛋蛋 100 0.031 s 0.42 MiB C++
Gravatar安呐一条小咸鱼。 100 0.032 s 0.42 MiB C++
GravatarWQW 100 0.034 s 0.40 MiB C++
Gravatarcstdio 100 0.039 s 0.59 MiB C++
关于 智破连环阵 的近10条评论(全部评论)
死因:二分图多打了一个分号
Gravatar安呐一条小咸鱼。
2016-08-11 16:48 4楼
死因:没看清题解
Gravatarmikumikumi
2015-10-10 22:04 3楼
真·评测插件写出来了,有问题私信我
注意,由于本OJ的环境限制,每个点最多10分。也就是说若即使按规则你的得分>=10,那么仍然认为你得了10分。这可能会导致一些在原环境中能通过的代码在这里无法通过,请注意。
顺便,劣质题解坑死人啊艹艹艹艹艹!!!!!!!!!!!凡是提到或者本身代码“部分搜索+二分图匹配算法无法得满分”的题解都!!!是!!!错!!!的!!!!比如说这货!!!!!!!http://www.cnblogs.com/X-Kly/archive/2011/11/18/VIJOS1018.html
Gravatarcstdio
2014-03-23 21:35 2楼
评测插件写出来了,如果有问题,请发信件联系我.
GravatarQhelDIV
2013-01-13 20:11 1楼

336. [NOI 2003]智破连环阵

★★★   输入文件:zplhz.in   输出文件:zplhz.out   评测插件
时间限制:6 s   内存限制:128 MiB

【问题描述】

B国在耗资百亿元之后终于研制出了新式武器——连环阵(Zenith ProtectedLinked Hybrid Zone),并声称这是一种无敌的自发性智能武器。但A国经侦察发现,连环阵其实是由$m$个独立武器组成的,这$m$个武器编号为$1,2,\cdots,m$。每件武器有两种状态:无敌自卫状态和攻击状态。

最初,$1$号武器处于攻击状态,其他武器都处在无敌自卫状态。以后,一旦第$i(1\leq i\leq m)$号武器被消灭,$1$秒钟以后第$i+1$号武器就自动从无敌自卫状态变成攻击状态。当第$m$号武器被消灭以后,这个造价昂贵的连环阵就被彻底摧毁了。

为了打败B国,A国军事部长打算用最廉价的武器——炸弹来消灭连环阵。经过长时间的精密探测,A国的军事家们掌握了连环阵中$m$个武器的平面坐标,然后依此选择了$n$个点,并在这些点上安放了特殊的定时炸弹。这$n$个炸弹编号为$1,2,\cdots,n$。每个炸弹的作用半径均为$k$,且会持续爆炸5分钟。在这5分钟内,每枚炸弹都可以在瞬间消灭离它直线距离不超过$k$的、处在攻击状态的B国武器。和连环阵类似,最初$a_1$号炸弹持续引爆5分钟时间,然后$a_2$号炸弹持续引爆5分钟时间,接着$a_3$号炸弹引爆……以此类推,直到连环阵被摧毁。在每个炸弹爆炸的时候,其它尚未引爆的炸弹都处于地下隐蔽处,不会被己方的炸弹摧毁。

显然,选好$a_1,a_2,a_3,\cdots$十分重要。好的序列可以在仅使用较少炸弹的情况下就能将连环阵摧毁;坏的序列可能在使用完所有炸弹后仍无法将连环阵摧毁。现在,请你决定一个序列$a_1,a_2,a_3,\cdots$使得在第$a_x$号炸弹引爆的时间内连环阵被摧毁。这里的$x$应当尽量小。

【输入文件】

输入的第一行包含三个整数:$m,n,k(1\leq m,n\leq 100,1\leq k\leq 1000)$,分别表示B国连环阵由$m$个武器组成,A国有$n$个炸弹可以使用,炸弹攻击范围为$k$。

以下$m$行,每行由一对整数$x_i,y_i(0\leq x_i,y_i\leq 10000)$组成,表示第$i(1\leq i\leq m)$号武器的平面坐标。

再接下来$n$行,每行由一对整数$u_i,v_i(0\leq u_i,v_i\leq 10000)$组成,表示第$i(1\leq i\leq n)$号炸弹的平面坐标。输入数据保证无误和有解。

测试数据中的$x_i,y_i,u_i,v_i$是随机生成的。

【输出文件】

输出的第一行包含一个整数$x$,表示实际使用的炸弹数。

第二行包括$x$个整数,依次表示$a_1,a_2,\cdots,a_x$。

【样例输入1】

4 3 6
0 6
6 6
6 0
0 0
1 5
0 3
1 1

【样例输出1】

2
1 3

【样例输入2】

10 10 45
41 67
34 0
69 24
78 58
62 64
5 45
81 27
61 91
95 42
27 36
91 4
2 53
92 82
21 16
18 95
47 26
71 38
69 12
67 99
35 94

【样例输出2】

5
6 2 1 3 4

【评分标准】

对每个测试点,如果你的输出合法,评分公式如下:

其中good为我们的参考解,ans为你的答案。

如果你的输出不合法,则该测试点只能得0分。

总分的计算公式:

        

其中scorei为你第i个测试点的得分。