08 2012 档案

摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1883转载:给出平面上N个点,问一个单位圆最多能覆盖多少个点。方法一:O(n^3),枚举两个点,确定过这两个点的两个圆的的圆心,循环N个点看有多少个点在这个圆里。View Code 1 #include<cstdio> 2 #include<cstring> 3 #include<cmath> 4 #include<cstdlib> 5 using namespace std; 6 const int MAX=2010; 7 struct node 8 { 9 阅读全文
posted @ 2012-08-06 22:37 Rabbit_hair 阅读(391) 评论(0) 推荐(0)
摘要:树形DP小结: 1:n个点,n-1条边; 2:无环,根结点可由子结点推出; 3:一般的状态都是以某一个结点为根的子树代表什么, 然后通过递归,由一个一个子结点推出根结点状态; 递推关系:Dp[i][j]=max(dp[i][j],dp[i][k]+dp[son[i][j-k]); 说明递推的含义,首先dp[i][j]的第一个值肯定从dp[son[i]][k]来,当换另一个son2[i],dp[i][j]就是由俩个son推出,其他son同理;4:对于一棵树,可以随意选一个点为根,开一个vis[]数组,记录该结点是否访问过; http://acm.hdu.edu.cn/showp... 阅读全文
posted @ 2012-08-04 02:06 Rabbit_hair 阅读(570) 评论(0) 推荐(0)