hdu 4606 Occupy Cities】的更多相关文章

Occupy Cities Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 509    Accepted Submission(s): 125 Problem Description The Star Wars is coming to an end as the Apple Planet is beaten by the Banan…
http://acm.hdu.edu.cn/showproblem.php?pid=4606 两点之间如果有线段相隔的话,他们的最短路就需要经过线段的端点 把所有线段的端点也加入点数组中,求任意两个点的距离(可达的话,没有其他线段阻挡) 然后对所有的点进行floyd  可以求出任意两点的最短路 然后二分所需容量 根据容量和要求的顺序进行建图,求最小覆盖路径(匈牙利算法) 代码: #include<iostream> #include<cstdio> #include<stri…
转载请注明出处,谢谢http://blog.csdn.net/ACM_cxlove?viewmode=contents    by---cxlove 题目:给出n个城市需要去占领,有m条线段是障碍物,有p个士兵可以用.占领城市有个先后顺序,每个士兵有个背包,占领城市之后,仅能补给一次背包.问背包容量最少是多少,可以用这P个士兵完成任务,起点任意 . http://acm.hdu.edu.cn/showproblem.php?pid=4606 首先:枚举所有顶点,求一下距离,判断是否与线段相交.然…
题意 有n个城市,m个边界线,p名士兵.现在士兵要按一定顺序攻占城市,但从一个城市到另一个城市的过程中不能穿过边界线.士兵有一个容量为K的背包装粮食,士兵到达一个城市可以选择攻占城市或者只是路过,如果攻占城市,就能装满背包.从城市到城市消耗的粮食等于两城市的距离,如果距离大于士兵当前的背包的容量,士兵就不能走这条路.士兵可以选择空降一次,空降不耗费.求p个士兵攻占所有城市所需要的最小背包容量k. 来源:2013 暑期多校联合训练 第一场 思路 非常好的一道比较综合的题目~首先我们能想到这是可相交…
hdu4606:http://acm.hdu.edu.cn/showproblem.php?pid=4606 题意:在一个二维坐标系中,有n个城市,坐标给出来了,然后有p个士兵要去占领这n个城市,但是路上有m个路障,都是线段,士兵不能越过路障前进. 每个士兵都有相同容量大小的一个干粮袋,每到一个城市他就能补充满自己的干粮袋.中途走路时走一个单位长度就消耗一个单位的干粮. 现在问的是这些个干粮袋最小的容量是多少,前提是保证p个士兵能占领完这n个城市,城市被占领顺序也是题目给好的,必须遵守. 题解:…
思路:将所有的直线的两个端点和城市混在一起,将能直接到达的两个点连线,求一次floyd最短路径.二分枚举bag容量,然后按给的要先后占领的城市由前向后,把能到一步到达的建一条边.然后求一次最小路径覆盖,就是最少需要多少个士兵才能全部占领,跟给出的p值进行比较. #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> #def…
题目链接 给n个城市, m条边, q个询问, 每个询问, 输出城市a和b的最短距离, 如果不联通, 输出not connected. 用并查集判联通, 如果不连通, 那么两个联通块之间加一条权值很大的边. 然后树链剖分..... #include <iostream> #include <vector> #include <cstdio> #include <cstring> #include <algorithm> #include <c…
HDU 4602 Partition f[i]表示和为i的方案数.已知f[i]=2i-1. dp[i]表示和为i,k有多少个.那么dp[i]=dp[1]+dp[2]+...+dp[i-1]+f[i-k]. 考虑与f有关的项: f[n-k]是答案的一部分,即2n-k-1是答案的一部分. 把与dp有关的项: 令s[i-1]=dp[1]+dp[2]+...+dp[i-1],那么s[n-1]是答案的一部分. s[i]=s[i-1]+dp[i],又dp[i]=s[i-1]+f[i-k].推出s[i]=2*…
题目:http://acm.hdu.edu.cn/showproblem.php?pid=3371 984ms风险飘过~~~ /************************************************************************/ /* hdu Connect the Cities 最小生成树 题目大意:最小生成树,题目很长,题意很简单就是最小生成树.关键是构建图 */ /****************************************…
HDU-4605 Magic Ball Game 题意:给定一颗以1为根的数,每个节点要么有两个孩子节点,要么没有孩子,每个节点有一个重量,现在从节点1往下放置一个小球,根据小球和节点的重量的不同球落下的轨迹是一个概率问题: 设球的重量为X,节点的重量为w[i]:X = w[i],那么小球的运动将停止:X < w[i],那么小球向左孩子下落的概率为1/2,向右孩子下落的概率为1/2:X > w[i],那么小球向左落下概率为1/8,向右落下的概率为7/8. 现在有Q组询问,问小球的质量为X,落到…