- 博客(13)
- 收藏
- 关注
原创 最优比例生成树
原文:http://www.cnblogs.com/lotus3x/archive/2009/03/21/1418480.html 概念:有带权图G, 对于图中每条边e[i], 都有benifit[i](收入)和cost[i](花费), 我们要求的是一棵生成树T, 它使得 ∑(benifit[i]) / ∑(cost[i]), i∈T 最大(或最小). 解法 : 设x[
2016-07-31 20:46:18 1582
原创 hdu 1809 sg函数
这道题目我一定要好好吐槽一下,二维char数组表示成一维string,用来表示状态,然后求sg函数值用记忆化搜索,然后就一直WA,心好累差点怀疑人生,QAQ。后来发现记忆化搜索代码加上 if(vis[str])return sg[str]; 就WA,所以肯定这里出问题,后来一想,这种状态表示有毒,例如5x4与4x5的矩阵显然不同,但是展开成一维string时显然可以得到相同string,所以二维展
2016-07-30 11:34:04 513
原创 hdu 5769 Substring 2016 多校第四场
原题:后缀数组求不同子串个数 。比赛时看着bin神博客http://www.cnblogs.com/kuangbin/archive/2013/04/24/3039634.html YY了两个小时,莫名A掉。 我的做法就是算出包含X字符的所有子串数,再减去其中重复的就是答案。 #include #include #include #include typedef long long
2016-07-30 11:20:44 374
原创 博弈论合集
hdu 1847 #include #include #include #include using namespace std; int dp[1003]; int main() { int p[30]; p[0]=1; for(int i=1;i<20;i++){ p[i]=p[i-1]<<1; } memset(dp,0,si
2016-07-24 22:17:19 798
原创 极角排序合集
poj 2007 #include #include #include #include #include using namespace std; struct point{ int x,y; bool operator<(point k)const{ int t=k.y*x-k.x*y; return t>0?true:false;
2016-07-24 09:03:53 578
原创 hdu 5738 Eureka 极角排序 计数
比赛的时候用枚举直线没做出来,QAQ。按照官方题解敲了一遍。 #include #include #include #include #include #include #include #include #include #include #include #include #include //#pragma comment(linker, "/STACK:1024000000,102400
2016-07-22 17:24:04 1024
原创 hdu 5726 GCD 2016多校赛第一场
枚举[L,R] 区间的gcd时朴素时间要n^2,这里可以巧妙地枚举右端点a[i] 所有以a[i] 为结尾的区间的gcd为以a[i -1 ] 为结尾的区间gcd与a[i]本身求GCD的结果。根据这一特性可以用map存下以a[i -1 ] 为结尾的区间gcd的结果,然后将结果转移到a[i]就可以了。至于查询则可用线段树在logn时间里求解。 #include #include #include #i
2016-07-20 15:10:52 849
原创 hdu 5723 Abandoned country 2016 多校赛第一场
最小生成树+树上的计数: 因为任意两条边的权值不同,所以最小生成树唯一。算出树上任意两点间距离求和(poj上有道题就是求树上任意两点间距离求和 http://poj.org/problem?id=4045 ),再除以n*(n-1)就是期望。
2016-07-19 19:18:53 507
原创 hdu 5720 Wool
对所有的边排序,然后两两组合,注意从大的往小的组合,如 1,2,3,4 那么所有组合 4与3,4与2,4与1,3与2,3与1,2与1 我们看枚举4的时候,明显4与最近的3 组合的时候覆盖范围最大既(4-3,4+3),则4与2,4与1都不用考虑。依次可以枚举边贪心的选出范围,然后在 [ L,R ]范围内求出要的答案。 #include #include #include #
2016-07-18 16:01:34 332
原创 hdu 4454 三分+几何
题目大意:给一个点,一个圆和一个矩形,矩形与圆没有重叠部分,点也在圆和矩形外,求从该点出发经过圆上一点再到矩形边上一点的距离和的最小值。 思路:三分角度求最小距离和。 #include #include #include #include #include #include #include #include #include #include #include #include #inclu
2016-07-18 09:36:59 468
原创 hdu 2896 病毒侵袭 AC自动机
AC自动机模板题。匹配哪些病毒的特征码在当前模式串中出现过,并将这些出现过的特征码从小到大输出。注意题目已说明不同编号特征码不相同。 #include #include #include #include #include #include #include #include #include #include #include #include using namespace std
2016-07-16 11:35:24 351
原创 hdu 4577 X-Boxes
这道题是数学题,数学渣表示只能打表找规律,以下为打的表: 1 2 4 3 6 12 5 10 20 7 14 28 8 16 32 9 18 36 11 22 44 13 26 52 15 30 60 17 34 68 19 38 76 21 42 84 23 46 92 24 48 96 25 50 100 27 54 108 2
2016-07-03 11:32:29 570
原创 hdu 5444 Elven Postman
写这道题目是想练练静态的二叉查找树 #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; const int maxn=1000
2016-07-01 18:00:52 373
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人