题目大意:给你1000个点,每个点上有一个数目代表这个城市有多少人,让你把这N个点构成一颗生成树,你可以删除其中的任意一条边。让你求出一个比例A/B是的这个比例最大,A表示你删除那条边上两个城市的人口数之和,B表示的是去掉这条变这可生成树上其他的边的总长度。
解体思路:先求出来最小生成树,然后暴力枚举生成树的边,B=总数-这条边的长度。A = 将这条连断开之后左右集合中权值最大的两个数的和。...
分类:
其他好文 时间:
2014-11-23 21:42:43
阅读次数:
377
只会O(n ^ 3)路过= =OrzOrzOrzOrzOrz"出题人题解:显然,这时候暴力枚举会T。于是我们转变一下思路,如果我们确定了2个点以后,第三个点有必要去盲目的枚举吗?答案是否定的。实际上我们把经过这两点的线看成一个斜率,把他当成y轴你会发现第三个点明显是在坐标系左右找一个离”y轴”最近的...
分类:
其他好文 时间:
2014-11-22 14:39:07
阅读次数:
324
题目大意:给定平面上的n个点,求一个r*r的正方形最多覆盖多少个点
NOIP 2014 D2T1 无线网络发射器选址
直接暴力枚举正方形 加个前缀和优化就能过
n^2大法好啊
#include
#include
#include
#include
#define M 5010
using namespace std;
int n,r,ans,sum[M][M];
int main()
{
...
分类:
其他好文 时间:
2014-11-21 18:56:33
阅读次数:
239
题目大意:一个国王可以攻击到旁边8个位置的格子,现在给出一个N*N的方格,向其中放k个国王,问有多少中摆放方法。
思路:状压DP,f[i][j][k],其中i是行数,j是状态,k是已经取了多少国王。然后暴力枚举状态,看相邻两行之间有没有冲突,若没有冲突,那么就转移。
注意要开long long
CODE:
#include
#include
#include
#...
分类:
其他好文 时间:
2014-11-21 18:53:36
阅读次数:
161
题目大意:给出一些袜子的排列顺序,每次问一段区间中有多少相同颜色的袜子对。
思路:莫队算法真是一个神奇的算法。首先,暴力枚举是O(n^2)的时间复杂度,这肯定是不行的。假如区间是保证不重合的,那么就可以将总的时间转移的复杂度降到O(n)。很遗憾,题目中没有这个保证。于是乎,神秘的莫队就发明了一种神奇的算法。
对于每一个询问,我们将它看成一个平面上的点(x1,y1),同样的也就会有其他的...
分类:
编程语言 时间:
2014-11-13 16:43:29
阅读次数:
226
find the most comfortable roadTime Limit: 1000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4022Accepted Submiss...
分类:
其他好文 时间:
2014-11-13 01:44:03
阅读次数:
197
find the most comfortable road
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 4022 Accepted Submission(s): 1732
Problem Descript...
分类:
其他好文 时间:
2014-11-13 00:35:07
阅读次数:
174
暴力枚举。 1 #include 2 #include 3 using namespace std; 4 int a[130][130],d,n,x,y,z,num,ans=-2147483647; 5 int main() 6 { 7 scanf("%d%d",&d,&n); 8 ...
分类:
其他好文 时间:
2014-11-11 18:32:35
阅读次数:
300
http://acm.hdu.edu.cn/showproblem.php?pid=4445
要求发射的炮弹在都不落在friendly tank区域的条件下落在enemy tank区域的最多数目。
直接暴力枚举角度。。
#include
#include
#include
#include
#include
#include
#include
#incl...
分类:
其他好文 时间:
2014-11-08 22:14:55
阅读次数:
212
搞了一晚上了快,各种YY乱搞啊,终于过了,一开始YY的都是错的,觉得 这道题目a,b的范围都是10^5,那就暴力枚举b被分成了几份,然后再继续YY,只用一个o去分隔x,这样最后剩下的o再集中在一起,也就是x的份数总是比o的份数多一份,也就是尽可能把x分开,尽可能把o集中在一块,前面都把x分开了,一个o分开两份x,后面还能有一大堆的o在一起,这样就满足了,然后又出错了,因为分成几份,有余数的,比如b...
分类:
其他好文 时间:
2014-11-05 00:31:45
阅读次数:
166