上一页 1 ··· 3 4 5 6 7 8 9 10 11 12 下一页

2012年8月5日

poj1029

摘要: 这一题和前面做的一道题几乎是一样的,只不过是有个地方犯傻了,唉,wa了好几次说下思路,如果是=,则把每个值都赋为2000(这个数一定要比比较的次数大啊,我刚开始开了100,wa了好几次,唉,你说这能不让人窝火吗)如果是<,把左边的值不为2000的数减一,右边不为2000的数加1如果是>,则反过来最后查找不为2000的绝对值最大的数,则该数必为假币,至于是否会输出0这个结果,那就要看不为2000的绝对值最大的数知否只有一个,如果只有一个,那就是要求的结果,如果多个,那么就输出0 1 #include <iostream> 2 #include <stdlib.h&g 阅读全文

posted @ 2012-08-05 19:03 矮人狙击手! 阅读(875) 评论(0) 推荐(0) 编辑

2012年8月4日

poj2560(prim)

摘要: 日啊,g++一直过不去,c++一次过,这是为什么啊啊啊啊啊啊啊 1 #include 2 #include 3 #include 4 using namespace std; 5 6 struct point 7 { 8 double x; 9 double y;10 };11 point a[105];12 int visited[105];//是否访问过13 double len[105][105];//任意两个点之间的长度14 int n;15 16 double prim()17 {18 double sum=0;19 double lowcos... 阅读全文

posted @ 2012-08-04 11:25 矮人狙击手! 阅读(229) 评论(0) 推荐(0) 编辑

poj1062

摘要: 转自:http://blog.sina.com.cn/s/blog_676070110100mjya.html 1 题意:昂贵的聘礼,好题!!! 2 算法:分两步:1、建图 2、从底到上逐个求每个点的最小费用。具体实现见程序注释。 3 #include <iostream> 4 using namespace std; 5 const int MAX=120; 6 int M,N,X,T,V; //等级限制 物品总数 替代品总数 替代品的编号 优惠价格 7 int map[MAX][MAX]; //初始化全为0 map[i][j]=-1:i和j不... 阅读全文

posted @ 2012-08-04 09:15 矮人狙击手! 阅读(315) 评论(0) 推荐(0) 编辑

2012年8月3日

最短路径问题

摘要: Description平面上有n个点(n<=100),每个点的坐标均在-10000到10000之间.其中的一些点之间有连线.若有连线,则表示可从一个点到达另一个点,即两点间有通路,通路的距离为两点间的直线距离.现在的任务是找出从一点到另一点之间的最短路径.Input共n+m+3行第一行为整数n.第2行到第n+1行,每行两个整数x和y,描述了一个点的坐标(以一个空格分开)第n+2行为一个整数m,表示图中连线的个数.以后的m行,每行描述一条连线,由两个整数i和j组成,表示第i个点和第j个点之间有连线.最后一行;两个整数s和t,分别表示源点和目标点.Output仅一行,一个实数(保留两位小数),表示 阅读全文

posted @ 2012-08-03 20:14 矮人狙击手! 阅读(338) 评论(0) 推荐(0) 编辑

poj1065

摘要: 其实是水题一道啊其实还是要好好想想到底按照什么排序的 1 #include <iostream> 2 #include <algorithm> 3 using namespace std; 4 5 struct stick 6 { 7 int l; 8 int w; 9 int flag;10 };11 stick a[5005];12 13 14 int cmp( stick a, stick b)15 {16 if(a.l!=b.l) return a.l<b.l;17 else return a.w<b.w;18 }19 20 int main(... 阅读全文

posted @ 2012-08-03 18:42 矮人狙击手! 阅读(146) 评论(0) 推荐(0) 编辑

poj1011

摘要: 这篇文章我参考了很多http://hi.baidu.com/jobxys/blog/item/d11aa30086863a13728b6594.html题目大意:给出一些长度不大于 50 的木棍, 要求你把这些小木棍拼成* 长度相同木棍,当然长度越小越好。* 解题思路:这个题最近做了很多次,我比较有发言权了。* 思想很简单,一个接一个的把木棍拼起来,最后把木棍用光。* 关键的地方是几个剪枝技巧:* 设所有木棍的总长度为 Sum, 最终的答案是 L。* 1. 首先要明白, Sum一定要能被 L 整除。* 2. L 一定 大于等于 题目给出的最长的木棍的长度 Max。* 由上述两点,我们想到,可以 阅读全文

posted @ 2012-08-03 15:52 矮人狙击手! 阅读(2972) 评论(0) 推荐(3) 编辑

2012年8月2日

hdu4217

摘要: 这个代码超时了,不知道为什么会这样,已经用了线段树啊 1 #include <iostream> 2 3 using namespace std; 4 5 int pos; 6 7 int tree[600000]; 8 void build(int left ,int right ,int i) 9 {10 tree[i]=right-left+1;11 if(left==right)12 {13 return;14 }15 int mid=(left+right)/2;16 build(left,mid,2*i);17 ... 阅读全文

posted @ 2012-08-02 22:18 矮人狙击手! 阅读(250) 评论(0) 推荐(0) 编辑

写给一些acmer

摘要: 当做不出来题时,不要灰心丧气,这种东西短期是不可能有什么成效的,别人搞了一两年,你想一两个月出成果,难,真的很难,如果你搞ACM的时间没有半年,那么你经常做不出来题,很正常除非你是天才当不理解一个算法时,不要一直盯着看,动动手,按照程序的描述过程,用几个简单例子试下,亲自体验下,程序到底是怎么实现的其实算发只有那么几种,做多了都有套路,就跟高考数学一样(听大牛说的)做什么事情都有一个量变到质变的过程,如果你一直在做题,但是没有感觉到进步,不要着急,你在积蓄力量,厚积薄发,量变肯定会引起质变,不要放弃,继续努力不要过早的说自己不合适ACM,往前面多走一段时间吧虽然我是个菜鸟,但我相信上面所说的, 阅读全文

posted @ 2012-08-02 20:45 矮人狙击手! 阅读(162) 评论(0) 推荐(0) 编辑

hdu4027

摘要: 又是一个runtime error的代码,求高手指教 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <math.h> 4 5 long long a[100005]; 6 struct node 7 { 8 int left; 9 int right; 10 long long sum; 11 int flag; 12 } b[100005*2]; 13 14 15 void build(int left , int right , int i)//为left,right ... 阅读全文

posted @ 2012-08-02 17:00 矮人狙击手! 阅读(223) 评论(0) 推荐(0) 编辑

hdu1754

摘要: 线段树的问题,不知道为什么我的代码老是runtime error ,哪位大牛能告诉我啊#include <stdio.h>int max(int d,int b)//这里如果用inline会加速好多啊{ return d>b?d:b;}#define MAXN 2000000int a[MAXN+5];struct node{ int left; int right; int sum;} b[MAXN*2];void build(int left , int right , int i)//为left,right ,sum赋值{ int mid; b[i... 阅读全文

posted @ 2012-08-02 09:15 矮人狙击手! 阅读(1302) 评论(0) 推荐(0) 编辑

上一页 1 ··· 3 4 5 6 7 8 9 10 11 12 下一页

导航