(准备写)URAL1824 Ifrit Bomber 题解

http://acm.timus.ru/problem.aspx?space=1&num=1824





1824. Ifrit Bomber

Time limit: 0.5 second Memory limit: 64
MB

In the six years that passed since the
first experimental genie bombardments, Pitirim Schwartz has made
considerable advance. His latest invention is an ifrit bottle, which has
been developed especially for bombing large cities. Each ifrit from such a
bottle ruins everything within a radius of r miles from the
impact point. Only a few ifrit bottles are needed to demolish all
n large cities of a neighboring country… Alas, Pitirim has very
few ifrit bottles, so he has asked programmer Privalov to compute the
minimal number of bottles needed for the destruction of all the
cities.

For the convenience of aiming, the bottles
can only be dropped exactly on cities. The radius of destruction is so
large that cities can be regarded as points of the plane. When an ifrit
bottle is dropped, any city within or on the border of the destruction
zone is demolished.

30个城市,坐标为整数,0~1000。核弹炸的半径为整数,<=1000,只能在城市中投放。

求最少的核弹数,在哪几个城市投放,能炸完所有城市。

好像叫二分图的最小支配集…是个NP问题,只能搜索。

然后好像是用超碉的A*+dancinglinks,太强了,我不会口牙!

等我会了再来写

时间: 2024-10-05 23:20:13

(准备写)URAL1824 Ifrit Bomber 题解的相关文章

URAL 1825. Ifrit Bomber 2 两圆的面积并

1825. Ifrit Bomber 2 Time limit: 0.5 second Memory limit: 64 MB The very first use of ifrit bottles caused mass protests from the world community. The UNESCO declared that ifrit bombardments were destroying the historical centers of large cities, whi

ACM-ICPC Dhaka Regional 2012 题解

B: Uva: 12582 - Wedding of Sultan 给定一个字符串(仅由大写字母构成)一个字母表示一个地点,经过这个点或离开这个点都输出这个地点的字母) 问: 每个地点经过的次数(维护一个栈就可以了,注意进入起点和离开起点都不算入起点的次数) #include<cstdio> #include<cstring> #include<stack> #include<iostream> #include<algorithm> using

POJ 2585 Window Pains 题解

链接:http://poj.org/problem?id=2585 题意: 某个人有一个屏幕大小为4*4的电脑,他很喜欢打开窗口,他肯定打开9个窗口,每个窗口大小2*2.并且每个窗口肯定在固定的位置上(见题目上的图),某些窗口可以覆盖另一些窗口(可以脑补).询问给出的电脑屏幕是否是合法的. 分析: 可以预先处理出每个格子应该有哪几个窗口在这上面,将最上面的窗口与其他窗口连边,得到一张图,用拓扑判环,因为这道题太简单了,所以我就写这么短的题解. 代码: 1 #include<iostream>

无序字母对——我其实一直都不会写欧拉回路吗

看出来问题本质很简单,就是个以字母给节点命名的图,求它的ASCII 字典序最小的欧拉回路,只要选起点的时候选最小的自然可以轻松走出来,可是我忘了欧拉回路怎么写……所以看了题解. 1 #include<iostream> 2 #include<vector> 3 #include<cctype> 4 #include<cstdio> 5 #include<queue> 6 using namespace std; 7 const int N=64,

论怎么写好一篇实验报告

被计算机网络的老师教训了一下,学乖了,好好做实验报告 流程如下 怎么做---?    具体步骤,该拍照的拍照,该写的写,具体怎么做的要写清楚 最后问题解没解决不重要,最重要的是要要写好遇到什么问题,还要就是怎么解决问题的. 总结的时候要怎么写? 遇到什么问题?    写你遇到的问题 怎么解决的?       遇到问题了,就要谈谈怎么解决的,要把这个过程具体写出来 小结?             小组的分工情况,学到了什么东西

【醒目】【业界偷懒】【Public】BZOJ题目一句话题解整理

就当是复习一下自己做过的题,顺便提供一个简要题解给大家看. 做题时候实在想不出来看一下一句话题解,可以有一个提示的作用又不至于一下子知道了全部浪费了一道题吧.. 部分题目(如我A过得大部分奶牛题)是别人拿我的账号做的,不提供题解. 可能会漏掉很多做过的题..因为可能点页数不小心点错了什么的 UPD.本来想把那些没写过但是知道题解的也写了..但是写完这些已经累死了QAQ 已AC的题目(数学题均不提供分析过程,公式): 1000:A+B 1001:平面图最小割,转对偶图最短路 1002:矩阵树定理,

日常写程序规范

日常做题步骤 通用模式前提:已会题目所需的技能,但题目较难 先仔细看题目,出思路,没有思路则看题解,进入第2步 初步细化,在纸上写出基本步骤,写代码之前和题解对照,确认自己不是假算法,进入第3步 自行写代码 先通读代码,再测试并调试 提交,调试,参照题解,通过 如果题目很有代表性(有特殊的算法.技巧.思想……),写blog 难题前提:有不会的技能 先理解题意,有初步(不一定优)的想法 看题解,学习相关技能 参照题解实现 查找相关题目练习 总结并写blog 读题规范 了解题目的内容,明确求解对象,

[题解] 8.11考试 水渠

题目描述 把n+m个点分为两列,第一列有n个点,第二列有m个点. 每一列的点的横坐标相同,给这些点连边,将这n+m个点全部连通,求所连边的最小总和. 输入格式 第一行四个整数n,m,x1,x2,分别表示第一列的点数,第二列的点数,第一列中点的横坐标,第二列中的点的横坐标. 第二行n个正整数y1[1],y1[2],...,y1[n],表示第一列中的点的纵坐标. 其中,第一个数表示第一个点的纵坐标,接下来的数表示当前点与前一个点的纵坐标差. 第三行有m个正整数,意义同上. 输出格式 一个实数,为边的

UVALive 7146 (贪心+少许数据结构基础)2014acm/icpc区域赛上海站

这是2014年上海区域赛的一道水题.请原谅我现在才发出来,因为我是在太懒了.当然,主要原因是我刚刚做出来. 其实去年我就已经看到这道题了,因为我参加的就是那一场.但是当时我们爆零,伤心的我就再也没有看过那一场的题了.昨天我的队友的高中同学建议我们一起来打一打这场比赛吧,然后我才再次回顾这场比赛.结果一堆琐事,我一共也没有做多久的题,我的队友扎扎实实看了5个小时的题,把另一道水题给过了.全场我们也只过了那么一道题.学姐说,做重现赛和现场赛比较,需要去掉一题,那么我们又爆零了. 题意: 我方有n个人