- 博客(13)
- 资源 (5)
- 收藏
- 关注
原创 HDU 3902
判断二维平面上的一个图形是否是轴对称图形,图形的点按顺时针方向或者逆时针方向给出。直接判断的话,情况很多,很复杂。对称轴可能穿过图形中的一点,或者穿过相邻两点的中点。把图形中每相邻两点的中点加入进去,情况就变得非常简单了。假设原图有n个点,加入中点后就有2*n个点。如果图形是轴对
2011-09-30 20:41:27 800
原创 HDU 4033
余弦定理:假设一个三角形的三条边是a,b,c,对应的三个角是A,B,C,那么cos(C)=(a^2+b^2-c^2)/(2*a*b)。这题先二分正多边形的边长,然后利用余弦定理计算出多边形中的点和多边形的顶点构成的三角形的角度和。显然角度和应该是2*pi。如果大于2*pi,说明设
2011-09-30 11:06:04 642
原创 HDU 2485
看来我还是不理解最小割的内涵...这题求的是最少去掉几个顶点,使得图的源点和汇点不连通。想想最小割的定义,如果图中每条边的流量都是1,那么最小割就变成了去掉最少的边,使得图的源点和汇点不连通。把这题中每个顶点拆分成两个顶点,中间用一条流量为1的边连接...这样,模型就满足最小割模
2011-09-29 19:47:59 1078
原创 PKU 2987
最大权闭合图。题意我不是很理解,如果按英语原句翻译的话。我觉得输入的正值是亏损,负值是利润。这个可以参考例样,例样解雇了4、5,获得了2的利润。对于第二问如何建图,可以参考其他博客。这个需要画到纸上慢慢理解,不好解释。 对于第一问,仔细分析可以发现: 1.
2011-09-29 11:45:43 806
原创 HDU 3221
2009上海区域赛题,也是剑哥的银牌题...把数学模型抽象出来后可以发现这题其实是求f(n) = f(n-1) * f(n-2), f(1) = a, f(2) = b。n最大为10^9,暴力肯定不行。进一步可以发现f(n)中因数a的个数为fab(n-2),因数b的个数为fab(
2011-09-20 13:19:07 907 2
原创 HDU 3683
因为少了一句if,这个AC迟来了一年...解法:假设A先手,B后手。 1.如果A有必胜点,放下去即连成5个,那么A一步获胜。 2.如果B有两个以上的必胜点,那么B两步必胜。 3.如果B只有一个必胜点,那么A第一步肯定放在B的必胜点上。再判断A是否
2011-09-18 11:09:17 998
原创 HDU 3723
天津区域赛题,首先可以观察到上升、下降位置的个数是一样的。假设有k对上升、下降的位置,那么这k对位置的合法组合数为Cat[k]。Cat为卡特兰数,这个组合问题等价于卡特兰数的经典应用括号化问题。设T[k]为n个位置中有k对上升、下降位置的组合数,这k对位置从n个位置中选出。所以T
2011-09-17 18:02:24 1460
原创 HDU 3720
没什么好说的,最近太水,各种犯2...#include #include #include #include #include #include #include #include #include #include #include #include
2011-09-16 17:50:49 883
原创 HDU 2464
N#include #include #include #include #include #include #include #include #include #include #include #include using namespace
2011-09-16 13:57:29 944 3
原创 PKU 3074
DLX数独建图:一共9*9*9 = 729行,9*9*4 = 324列。第i行表示数独的i/81行i/9%9列放置数字i%9。324列分成4个部分,每个部分81列,分别限制每个格子只能放一个数字、每行只能放一种数字、每列只能放一种数字、每个3*3的格子只能放一种数字。#inc
2011-09-10 10:23:06 747
原创 HDU 3944
原来剑哥讲组合数取模的时候说过Lucas定理,但是不是很明白。总之C(n,k)%p = C(n/p,k/p)*C(n%p,k%p)%p。这里要注意如果k>n, C(n,k)=0。C(n,k)%p可以通过求逆元的方法计算。不过C(n,k)%p = n!/(k!*(n-k)!)%p
2011-09-06 21:00:26 1061
原创 HDU 3908
显然O(n^3)的算法会超时。正确的解法是首先计算出与每个数互质的数的个数以及与每个数不互质的数的个数,分别记入数组co[]和nco[]。这样,假设一个三元组包含数字x(x,..,..)。那么包含x且不符合题意的三元组个数是co[x]*nco[x]。比如一组数字2,3,4,5,7
2011-09-05 09:56:09 619
原创 HDU 4003
#include #include #include #include #include #include #include #include #include #include #include #include #include using nam
2011-09-04 22:10:58 1666
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人