上一页 1 ··· 30 31 32 33 34 35 36 37 38 ··· 44 下一页
摘要: 题目链接我没看清题目用了int+四舍五入竟然搞了30次。。。三分随便从网上找了个模版。。。话说当时感觉应该是三分,可是就是这么悲剧。。#include <stdio.h>#include <stdlib.h>#include <string.h>#define N 50001struct node{ double x; double w;} p[N];int n;double getsum(double mid){ int i; double tt,sum = 0; for(i = 0; i <= n-1; i ++) { tt = p[i].... 阅读全文
posted @ 2012-08-09 21:07 Naix_x 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 题目链接找最大,这里居然会超时。 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 #define N 200001 5 struct node 6 { 7 int l; 8 int r; 9 int v;10 }tree[4*N];11 int max(int a,int b)12 {13 return a>b?a:b;14 }15 void build(int l,int r,int rt)16 {17 int m;18 tree[rt].l = l;19 ... 阅读全文
posted @ 2012-08-09 11:56 Naix_x 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 题目链接这个题,用完树状数组,再用线段树水过。线段树,却是感觉比树状数组的功能强多了。只要把线段树的思想理解,然后把实现过程,递归过程了解,单点更新就没问题了。#include <stdio.h>#include <string.h>#include <stdlib.h>#define N 50001struct node{ int l; int r; int v;}tree[4*N];void build(int l,int r,int rt){ int m; tree[rt].l = l; tree[rt].r = r; if(l == r) ... 阅读全文
posted @ 2012-08-09 10:45 Naix_x 阅读(143) 评论(1) 推荐(0) 编辑
摘要: 题目链接比赛的时候没做出来,直接没去搞,以为树形DP,赛后问了下学长是01背包。。。。当时也想过,哎,有点坑了。。。又搓了,今天下了一下决心一定要做出来,开始只是简单的按,x/y拍,之后按x拍,在多次WA后,又忍不住问了下学长,还要考虑象限的问题。。。然后按y正负排,再x/y排,再按x的绝对值排,还是无奈的wa。。。最后自己查出数据没过。。3 100 1 9 90 -1 1 10 2 2 2哎,快排最后版本,按y正负排,再x/y排,再按x的绝对值排,再按y的绝对值排。 1 #include <stdio.h> 2 #include <string.h> 3 #inclu 阅读全文
posted @ 2012-08-08 21:30 Naix_x 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 题目链接参考了很多资料,博客,看了很多对这个算法的介绍,理解了一点。Bellman_Ford算法主要是处理权值存在负权的时候的情况复杂度,O(n*e),主要思想就是利用,如果最短路存在,则最多加入n-1条边,如果超过n-1,还可以继续松弛,就是存在负权回路。这个题目就是判断是否存在负权回路。 1 #include <stdio.h> 2 #include <string.h> 3 #define N 100000000 4 int dis[1000],v,n; 5 struct edge//记录所有边的信息 6 { 7 int sv;//起点 8 int ev;/... 阅读全文
posted @ 2012-08-08 10:02 Naix_x 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 状态压缩。。。 按位与 & and 全一则一 (bitwise AND) 否则为零 按位或 | or 有一则一 (bitwise OR) 否则为零 按位取反 ~ not 是零则一 (bitwise NOT) 是一则零 按位异或 ^ xor 不同则一 (bitwise XOR) ... 阅读全文
posted @ 2012-08-06 20:14 Naix_x 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 题目链接今天做了好几个模版最小生成树。。。贴一个kurskral. 1 /* 2 HDU 1301 Jungle Roads 3 最小生成树Kurskal模版 4 */ 5 #include <stdio.h> 6 #include <string.h> 7 #include <stdlib.h> 8 int num,sum; 9 int o[101];10 struct edge11 {12 int sv;13 int ev;14 int w;15 } p[5000];16 int cmp(const void *a,const void *b)17 {1 阅读全文
posted @ 2012-08-06 14:25 Naix_x 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 二分查找,思想很简单,在很多书中都有介绍,如果查找的元素一定存在序列中,实现起来简单一些。但是有的时候元素并不存在,就要根据题目中的要求,去判断是去求上界还是去求下界。以下内容参考此博客,这个博客讲的很不错,参考了一下。以下所有的题目,都是递增序列。 HDU 4217 Data Structure?题目大意就是让把第几大的元素找到,然后把这个元素删去,算出删去元素的和。这个题的一种解法是用树状数组记录,然后中间用到二分,这个时候因为getsum(i)存的是前i个数有有几个元素,所以第一个等于关键值的i,才是要求的结果。最后str是我们要求的结果。关键代码:1 while(str < en 阅读全文
posted @ 2012-08-05 20:35 Naix_x 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 题目链接这是线段树的模版题。我用二分查找做的,自己二分太弱了,最近一直发现我不会写二分,在我还没有调试出二分查找求上界的时候,队友已经用线段树过了。。。。又托了好久,今天想起来,系统的学习一下二分。 1 #include <stdio.h> 2 #include <string.h> 3 #include <stdlib.h> 4 struct node 5 { 6 __int64 da; 7 int id; 8 }p[200001]; 9 int cmp(const void *a,const void *b)10 {11 return (*(struct 阅读全文
posted @ 2012-08-05 17:25 Naix_x 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 题目链接简单求反射点。。。这种几何题,写成程序怎么这么容易错啊。4Y。。。中间各种小错误。。#include <stdio.h>#include <string.h>#define eps 0.00000001double xmi,ymi,xx,yy;void line(double x1,double y1,double x2,double y2,double xs,double ys)//求(xs,ys)在直线上的对称点{ double k1,k2,b1,b2; if(y2 == y1) { xmi = xs; ymi = 2*y1 - ys;... 阅读全文
posted @ 2012-08-05 14:01 Naix_x 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 题目链接这算是最简单的几何了吧。。。比赛的时候都没敢去做。。。唉,对积分信心不足啊。。各种变量,各种算。。。竟然还是1Y。。 1 #include <stdio.h> 2 #include <string.h> 3 #define eps 0.00000001 4 int main() 5 { 6 double x1,x2,x3,y1,y2,y3,w1,w2,q1,q2,q3,q4; 7 double a,b,k1,ans1,ans2,k2,c,ans; 8 int t; 9 scanf("%d",&t);10 while(t--)11 {1 阅读全文
posted @ 2012-08-04 16:00 Naix_x 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 题目链接也知道应该是用扩展欧几里得做,而且是裸模版题,无奈方程一直想错,想了30分钟后,放弃去搞更坑爹的连连看。。。 1 #include <stdio.h> 2 #include <string.h> 3 int x,y; 4 int ext_eulid(int a,int b) 5 { 6 int t,d; 7 if(b == 0) 8 { 9 x = 1;10 y = 0;11 return a;12 }13 d = ext_eulid(b,a%b);14 t = x;15 x = y... 阅读全文
posted @ 2012-08-04 15:04 Naix_x 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 题目链接以前做个一个题,n很小,今天又发现这个问题,没想到n这么大还要取模,在改了以前那个,无奈第三组数据就是过不了,不是WA就是TLE。。。唉,看了讨论,发现需要找规律,思维被前一个题局限住了。简化版的HDU1207题解。 1 #include <stdio.h> 2 #define N 50001 3 int p[N]; 4 int main() 5 { 6 int i,j = 1,k = 2,u = 2; 7 p[1] = 1; 8 for(i = 2;i <= 50000;i ++) 9 {10 p[i] = p[i-1] + k;11 ... 阅读全文
posted @ 2012-08-03 16:22 Naix_x 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 题目链接这不是逼我吗,写了个BFS居然超时了。 1 #include <stdio.h> 2 #include <string.h> 3 int main() 4 { 5 int i; 6 while(scanf("%d",&i)!=EOF) 7 { 8 if(i == 0) break; 9 if(i == 1)printf("1\n"); 10 else if(i == 2)printf("10\n"); 11 else if(i == 3)printf("111\n"); 12 阅读全文
posted @ 2012-08-03 15:41 Naix_x 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 题目链接题目描述难懂。简单一句话,找和0在一个集合的。 1 #include <stdio.h> 2 #include <string.h> 3 int p[30001]; 4 int find(int x) 5 { 6 int t,r; 7 r = x; 8 while(x != p[x]) 9 {10 x = p[x];11 }12 while(r != x)13 {14 t = p[r];15 p[r] = x;16 r = t;17 }18 retur... 阅读全文
posted @ 2012-08-03 13:07 Naix_x 阅读(141) 评论(0) 推荐(0) 编辑
上一页 1 ··· 30 31 32 33 34 35 36 37 38 ··· 44 下一页