
HDU
E_Windrunner
这个作者很懒,什么都没留下…
展开
-
HDU 1269 迷宫城堡
强连通分量,这题几乎没有调试就AC了。。第一次写tarjan,真顺利,代码其实可以再优化的,只要求出两个以上的强连通分量就可以直接输出No了,而不用再继续算下去#include#include#include#include#include#include#include#includeusing namespace std;const int maxm=100010原创 2012-09-03 01:50:31 · 268 阅读 · 0 评论 -
HDU 1874 畅通工程续
无向图最短路,邻接表+优先队列#include#include#include#include#include#include#includeconst int maxn = 210;const int maxm = 1010;const int inf = 0xfffffff;int v[maxm*2],u[maxm*2],w[maxm*2],d[maxn],ne原创 2012-08-27 23:00:43 · 292 阅读 · 0 评论 -
HDU 1030 Delta-wave
我会告诉你我把这道题当模拟题写的么。。。坑爹啊#include#include#include#include#include#include#include#include#includeusing namespace std;int a[100000];int main(){ int n,m,i,ans; double t=sqrt(10000000原创 2012-08-24 15:10:54 · 310 阅读 · 0 评论 -
HDU 1045 Fire Net
亮瞎。。。居然有人说数据水。。。尼玛WA了6次。。。#include#include#include#include#include#include#include#include#includeusing namespace std;int n,ans,N,a[20][20],cnt[20];char map[5][5];bool vis[5][5];void ch原创 2012-08-26 16:15:03 · 256 阅读 · 0 评论 -
HDU 1015
#include#includeint sum,len,step,vis[30],flag,tar;char s[30],ans[30],anss[30];void dfs(){ int i,j,t; if(step<5) { for(i=0;i<len;i++) if(!vis[i]) {原创 2012-03-06 12:13:48 · 610 阅读 · 0 评论 -
HDU 1548 A strange lift
#include#include#include#include#includeusing namespace std;const int inf=1<<30;int n,a,b,k[210],d[2]={-1,1},vis[210],ans[210];void bfs(){ int i,x; queue q; q.push(a); vis[a]=1; ans[a]=0原创 2012-06-11 12:59:54 · 259 阅读 · 0 评论 -
HDU 1026 Ignatius and the Princess I
bfs#include#include#include#include#include#include#include#include#include#includeusing namespace std;const int inf=100000000;char s[110][110];int n,m,dx[]={-1,1,0,0},dy[]={0,0,-1,1};原创 2012-08-22 16:02:27 · 242 阅读 · 0 评论 -
HDU 4308 Saving Princess claire_
#include#include#include#include#includeusing namespace std;int n,m,c;char map[5010][5010];int cost[5010][5010],dx[4]={-1,1,0,0},dy[4]={0,0,-1,1},px[1000000],py[1000000],cnt,flag;struct ty{原创 2012-07-21 17:56:11 · 282 阅读 · 0 评论 -
HDU 1253 胜利大逃亡
#include#include#include#include#includeusing namespace std;const int inf=1<<30;struct p{ int x,y,z;};int a,b,c,T,dx[]={-1,1,0,0,0,0},dy[]={0,0,-1,1,0,0},dz[]={0,0,0,0,-1,1},vis[55][55][55]原创 2012-06-11 13:48:02 · 589 阅读 · 0 评论 -
HDU 1372 Knight Moves
#include#include#include#include#includeusing namespace std;const int inf=1<<30;int n,a,b,k[210],dx[8]={-1,-1,1,1,2,-2,2,-2},dy[8]={2,-2,2,-2,-1,-1,1,1},vis[10][10],ans[10][10],sx,sy,ex,ey,flag原创 2012-06-11 13:23:31 · 226 阅读 · 0 评论 -
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 · 276 阅读 · 0 评论 -
HDU 1217 Arbitrage
Floyd#include#include#include#include#include#include#include#includeconst int maxn = 30;const int maxm = 1010;double d[maxn][maxn];using namespace std;int main(){ int n,m,i,c原创 2012-08-27 23:53:28 · 229 阅读 · 0 评论 -
HDU 1535 Invitation Cards
Dijkstra+优先队列+反向建图+邻接表#include#include#include#include#include#include#include#includeconst int maxn = 1000010;const int inf = 0xffffff;struct Edge{ int u,v,w;}e[maxn];int d[max原创 2012-08-28 00:45:14 · 362 阅读 · 0 评论 -
HDU 1532 Drainage Ditches
最大流基础题,一开始用邻接表做,wa了,最后看discuss发现数据可能存在重边,于是乖乖地改回了邻接矩阵,AC了,重新看了一下lrj的白书,总算是把最大流的那增广路算法搞明白了,嘿嘿~#include#include#include#include#include#include#include#include#includeusing namespace std;c原创 2012-09-04 18:04:32 · 321 阅读 · 0 评论 -
HDU 2063 过山车
二分图匹配基础题。。。#include#include#include#include#include#include#include#include#includeusing namespace std;const int maxn = 550;const int maxm = 1010;int numBoy,numGirl,m,v[maxm],first[ma原创 2012-09-05 21:54:13 · 324 阅读 · 0 评论 -
HDU 1534 Schedule Problem
差分约束+spfa+判断是否存在正环#include#include#include#include#include#include#include#includeconst int maxn = 1000010;const int inf = 0xffffff;struct Edge{ int u,v,w;}e[maxn];int d[maxn],nex原创 2012-08-29 00:39:35 · 443 阅读 · 0 评论 -
HDU 1083 Courses
二分图匹配基础题,题意为,有p门课程,然后总共有n个学生去选修,学生可以选修大于或等于0门课,求是否能够选出p个学生,其中每个学生代表一门课程(要使该学生代表一门课程,则其必须选修了该门课程)。这是一道裸的求最大匹配的二分图题目。#include#include#include#include#include#include#include#include#includeu原创 2012-09-06 00:19:03 · 339 阅读 · 0 评论 -
HDU 1050 Moving Tables
WA到不省人事。。。贪心,求不相交区间。#include#include#include#include#include#include#include#include#include#includeusing namespace std;const int maxn = 210;struct Seg{ int a,b;}s[maxn];int n,原创 2012-09-09 23:03:07 · 259 阅读 · 0 评论 -
HDU 2119 Matrix
这题是二分图匹配,真没看出来- -!,看了解题报告才恍然大悟。。果然我这二分图匹配没理解透啊~~~将行数当成二分图中的一部分,列数当成另一部分,则图中为1的点可以是二分图两部分各出一个顶点所组成的一条边,求覆盖这些边最少需要多少个顶点,即最小顶点覆盖问题,又:最小顶点覆盖==最大匹配,至此此题就可以解出了~~从没想过可以这样建图,学习了~~~#include#include#inc原创 2012-09-05 23:01:35 · 310 阅读 · 0 评论 -
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 · 279 阅读 · 0 评论 -
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 · 428 阅读 · 0 评论 -
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 · 274 阅读 · 0 评论 -
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 · 438 阅读 · 0 评论 -
HDU 2084 数塔 Python实现
初学Python,感觉写得不整洁。。得多练- -!输入数据方式不太一样,但思想是一致的import sysl=[]ans=[]for line in sys.stdin : l.append(list(map(int,line.split())))ans=l[0]for li in l[1:] : j=0 tmp=[] while j<len(原创 2012-08-24 01:33:45 · 420 阅读 · 0 评论 -
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 · 589 阅读 · 0 评论 -
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 · 468 阅读 · 0 评论 -
HDU 1426 Sudoku Killer
dfs,每次在?处尝试每个数字,若符合条件,则进行下一层dfs,知道找到足够的数字#include #include #include #include #include #include #include #include #include #include #define ll long long#define MK make_pair#de原创 2013-01-30 13:24:11 · 305 阅读 · 0 评论 -
HDU 2821 Pusher
dfs#include #include #include #include #include #include #include #include #include #include #define ll long long#define MK make_pair#define PB push_back#define SZ(x) ((int原创 2013-01-31 19:50:38 · 467 阅读 · 0 评论 -
HDU 1829 A Bug's Life
看别人都用并查集。。我用的是bfs#include #include #include #include #include #include #include #include #include #include #define ll long long#define MK make_pair#define PB push_back#defi原创 2013-01-31 20:49:22 · 365 阅读 · 0 评论 -
HDU 2616 Kill the monster
数据太弱,dfs水过。。#include #include #include #include #include #include #include #include #include #include #define ll long long#define MK make_pair#define PB push_back#define SZ原创 2013-01-31 20:10:27 · 354 阅读 · 0 评论 -
HDU 1856 More is better
别人用的并查集。。我这又钻牛角尖了,硬是要用dfs,TLE了好几次才AC。。已经越来越依赖STL了。。#include #include #include #include #include #include #include #include #include #include #define ll long long#define MP make原创 2013-02-02 17:56:14 · 251 阅读 · 0 评论 -
HDU 3635 Dragon Balls
这题的并查集是看题解的,想不出怎么算转移次数,题解好像用的是并入的次序来计算的,这真没想到。。#include #include #include #include #include #include #include #include #include #include #define ll long long#define MP make_pai原创 2013-02-05 14:12:15 · 311 阅读 · 0 评论 -
HDU 3038 How Many Answers Are Wrong
这题也是看题解的。A到B之间的和可用k到B的和减去k到A-1的和代替(k#include #include #include #include #include #include #include #include #include #include #define ll long long#define MP make_pair#defin原创 2013-02-07 17:29:29 · 307 阅读 · 0 评论 -
HDU 1541 Stars
看起来是二维,其实用一维数组就可以解决了。#include #include #include #include #include #include #include #include #include #include #define ll long long#define MP make_pair#define PB push_back#define SZ(x)原创 2013-02-26 23:37:58 · 298 阅读 · 0 评论 -
HDU 2586 How far away?
用dfs和lca均可,贴上两份代码dfs#include #include #include #include #include #include #include #include #include #include #define ll long long#define MP make_pair#define PB push_back#define SZ(x)原创 2013-02-27 23:10:38 · 373 阅读 · 0 评论 -
HDU 1403 Longest Common Substring
好久没学新算法了,从现在开始努力吧。花了3天时间看了后缀数组的论文,差不多看明白了,贴上一份应用的代码吧。#include #include #include #include #include #include #include #include #include #include #include #include #define MP make_pair#d原创 2013-05-29 10:26:19 · 473 阅读 · 0 评论 -
HDU 2610 Sequence one
我用的是bfs。1046ms,这。。都倒数了。我偷懒用了set。而且c++的string里面居然没有逆置函数,我勒个去,还得自己写,最新的标准才支持从整型转成字符串(to_string)。。这。。#include #include #include #include #include #include #include #include #include #原创 2013-01-30 20:52:34 · 373 阅读 · 0 评论 -
HDU 1104 Remainder
156ms,比其他人慢好多。。bfs暴搜#include#include#include#includeusing namespace std;const int maxN=2000010;int n,k,m,step;bool vis[maxN];string anstr;struct Node{ int n,k; string原创 2013-01-29 15:35:53 · 330 阅读 · 0 评论 -
HDU 1384 Intervals
差分约束。。spfa求最长路#include#include#include#include#include#include#include#includeconst int maxn = 50010;const int inf = 0xffffff;struct Edge{ int u,v,w;}e[maxn*4];int d[maxn],next[原创 2012-08-28 22:54:58 · 331 阅读 · 0 评论 -
HDU 1072 Nightmare
悲催用dfs时间效率那么差,用bfs貌似也行- -!#include#include#include#includeconst int inf=1<<30;int n,m,map[10][10],sx,sy,ex,ey,time[10][10],dx[]={-1,1,0,0},dy[]={0,0,-1,1},ans[10][10],min;void dfs(int x,int原创 2012-06-11 14:50:25 · 264 阅读 · 0 评论