
HDUOJ
文章平均质量分 71
whosemario
这个作者很懒,什么都没留下…
展开
-
HDU 1001
<br />#include<stdio.h>int main(){ unsigned int n; while(scanf("%d",&n)!=EOF){ printf("%d/n",n*(n+1)/2); printf("/n"); }}原创 2011-03-27 10:03:00 · 1230 阅读 · 1 评论 -
HDU 1006
一开始已离散的方式求解,第三个样例过不了,代码如下:#includeusing namespace std;double delta(double a,double b){ double tmp; if(a180.0) a=360.0-a; return a;}int main(){ double D; while(scanf("%lf",&D)){ if(D==-1) break;原创 2011-03-27 11:24:00 · 1816 阅读 · 0 评论 -
HDU 1011
#includeusing namespace std;#define MAXN 103int room[MAXN][2];struct Edge{ int to,next;}edge[MAXN*2];int list[MAXN];int ind;int col[MAXN];int dp[MAXN][MAXN];void init(){memset(list,-1,sizeof(list));ind=0;}void insert(int a,int b){ edge[ind].to=b;原创 2011-03-28 19:22:00 · 1392 阅读 · 0 评论 -
HDU 2871
小HH推荐的题目,说是用Splay-Tree可以过,没想到方法,就先用了线段树,WA了一天啊,没有找出错误,贴代码如下:#includeusing namespace std;#define MAXN 50002struct node{ int l,r; int mb,mc; /* 最大空闲区间起始地址和长度 */ int nl,nr; /* 左右起始空闲区间长度 */ char sta; /原创 2011-04-07 09:24:00 · 1090 阅读 · 0 评论 -
HDU 1890
<br />Splay Tree,重点在子树的旋转,线段树很难实现:<br />#include<iostream>#define DEBUG_ENABLE 1using namespace std;#define MAXN 100005#define KeyNode (ch[ch[root][1]][0])int num[MAXN][2];struct Pair{int v,i;};struct SplayTree{ int sz[MAXN];原创 2011-04-08 10:31:00 · 1654 阅读 · 0 评论 -
HDU 3436
<br />#include<iostream>#include<algorithm>#define DEBUG_ENABLE 1using namespace std;#define MAXN 100005#define KeyNode (ch[ch[root][1]][0])struct operate{ char c; int x;}op[MAXN];int seg[MAXN*2][2];int f[MAXN];struct SplayTre原创 2011-04-11 13:26:00 · 125 阅读 · 0 评论 -
HDU 3487
#include#define DEBUG_ENABLE 1using namespace std;#define MAXN 100005#define KeyNode (ch[ch[root][1]][0])struct SplayTree{ int sz[MAXN*3]; //sz[x]-x为根结点的结点数量 int ch[MAXN*3][2]; //ch[x][0]-x的左子节点;ch[x][1]-x的右原创 2011-04-11 13:22:00 · 1032 阅读 · 0 评论