- 博客(16)
- 收藏
- 关注
原创 HDU 1010 Tempter of the Bone
dfs+剪枝,若当前坐标到终点的最短距离的奇偶性与剩余可走步数的奇偶性不一样时(自己画一下图就明白了,不同的到终点的路径的步数是以偶数步增长的),dfs结束,另当最短距离大于剩余可走时间时当前dfs也结束。#include#include#include#include#include#include#includeusing namespace std;int n,m,k
2012-10-29 22:19:22 226
原创 HDU 1983 Kaitou Kid - The Phantom Thief (2)
这道题是看题解的。。。自己写的记录路径陷入死循环,搞不明白。。所以去看题解了,题解是将整条路径记录在一个数组里,而我是记录上一个节点。。。以后回来看看哪错了AC代码#include#include#include#include#include#include#includeusing namespace std;struct Point{ int x,
2012-10-28 17:10:01 321
原创 HDU 2579 Dating with girls(2)
bfs。。。#include#include#include#include#include#include#includeusing namespace std;const int maxN=110;char map[maxN][maxN];int n,m,dx[]={1,-1,0,0},dy[]={0,0,1,-1},k;bool vis[maxN][maxN][
2012-10-28 13:27:42 329
原创 HDU 1732 Push Box
bfs暴搜,重点在于记录状态与判重#include#include#include#include#include#include#includeusing namespace std;struct Point{ int x[4],y[4],step; Point(int *a,int *b,int n){ step=n; f
2012-10-28 12:32:18 481
原创 HDU 1100
输入数据31117532写成31117531,导致我调了2小时,你妹。。思想是化整为零。。。#include#include#include#include#include#include#includeusing namespace std;const int maxN=19;int cat[maxN],sum[maxN+1];void build(int d,
2012-10-27 23:04:13 551
原创 HDU 1174 爆头
纯数学题,算出空间一点到一空间直线的距离由题目描述可写出直线的点向式方程(x-x2)/a=(y-y2)/b=(z-z2)/c=tt然后算出于与该直线垂直的该点所在平面,(a,b,c)为该平面的法向量,因此可得a*(x-x1)+b*(y-y1)+c*(z-z1)=0算出空间直线与平面相交的点a*(a*tt+x2-x1)+b*(b*tt+y2-y1)+c*(c*tt+z2-z1)=0该
2012-10-13 18:09:13 452
原创 HDU 1173 采矿
设答案为x,y则距离的运算公式为|x-x1|+|x-x2|+...+|x-xn|+|y-y1|+|y-y2|+...+|y-yn|因此当x,y均为中位数时上式最小用cin耗时2687ms用scanf耗时453ms#include#include#include#include#include#includeusing namespace std;const i
2012-10-13 16:42:20 572
原创 HDU 1175 连连看
最近做题都是上百ms的节奏。。。bfs暴搜。#include#include#include#include#include#includeusing namespace std;const int maxN=1010;const int inf=1010;struct Point{ int turn[5],val;}p[maxN][maxN];int
2012-10-13 15:17:23 256
原创 HDU 1142 A Walk Through the Forest
为毛我这代码跑了453ms - -!坑爹的一道题,我看清了题目是要求一条渐进于终点的路径,但没想到其中任意两点之间都必须存在一条道路,你妹。。脑残了根据题目描述,若a能走到b,则应满足a到house的最短路长度大于b到house的最短路长度dijkstra+记忆化搜索#include#include#include#include#include#include#i
2012-10-13 14:06:55 222
原创 HDU 1134 Game of Connections
catalan数高精度公式:c(n+1)=2*(2*n+1)*c(n)/(n+2)高精度除法从高位开始模拟现实除法步骤求得商#include#include#include#includeusing namespace std;const int maxN=110;const int maxM=1010;int a[maxN][maxM];int tmp[maxM
2012-10-11 01:24:59 420
原创 HDU 1116 Play on Words
欧拉回路+并查集(判断图是否连通,被这坑了。。)#include#include#include#include#include#include#include#includeusing namespace std;int p[30];int find(int x){ return x==p[x]?x:(p[x]=find(p[x]));}int mai
2012-10-09 23:56:15 253
原创 HDU 1115
求多边形的重心,取原点为基准点,分割出n个三角形,用叉积求出各三角形的面积,总和为多边形的面积(也适用于凹多边形,动手画图就明白了,那些在多边形之外的三角形与其他三角形形成正负互补),根据三角形重心求法:x=(x1+x2+x3)/3,y=(y1+y2+y3)/3,又X = ∑( xi×areai ) / ∑areai,Y = ∑( yi×areai ) / ∑areai,至此便可求得多边形的重
2012-10-09 22:48:20 408
原创 POJ 1113 Word Amalgamation
#include#include#include#include#include#include#include#includeusing namespace std;vector dict;multimap d;int main(){#ifndef ONLINE_JUDGE freopen("a.in","r",stdin);#endif strin
2012-10-09 18:37:04 264
原创 POJ 1017 Packets
你妹的模拟题。。。wa了n次#include#include#include#include#include#include#includeusing namespace std;int main(){#ifndef ONLINE_JUDGE freopen("a.in","r",stdin);#endif int a1,a2,a3,a4,a5,a6;
2012-10-09 14:05:04 213
原创 POJ 1023 The Fun Number System
#include#include#include#includeusing namespace std;long long n;int main(){#ifndef ONLINE_JUDGE freopen("a.in","r",stdin);#endif int t,a[100],k; cin>>t; while(t--){
2012-10-09 00:00:16 361
原创 快速求斐波那契数(scheme实现)
sicp练习1.19有详细说明原理a可以证明应用T(p,q)两次的效果跟应用T(p',q')的效果是相同的,其中p'=q*q+p*p,q'=q*q+2*p*q因此可以用O(log n)的算法求出第n个斐波那契数上代码(define (f n) (fib 1 0 0 1 n))(define (fib a b p q count) (cond ((= count 0)
2012-10-07 23:03:49 780
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人