上一页 1 ··· 4 5 6 7 8 9 10 11 12 13 下一页
摘要: http://ac.jobdu.com/problem.php?id=1394写代码前先提醒自己牢记师姐的话~好像九度上没考虑某个数字重复的情况如果不考虑那种,那么,先排序,然后每个数字依次找,在长度范围内,如果有小于num+4的,需要添加的数字便少一个,然后找出所有数字中,这个值最小的 1 #include <stdio.h> 2 #include <algorithm> 3 using namespace std; 4 int N; 5 int num[1005]; 6 bool check(int i,int j) 7 { 8 if(i+j<N&&a 阅读全文
posted @ 2012-02-07 09:53 linyvxiang 阅读(179) 评论(0) 推荐(0) 编辑
摘要: http://ac.jobdu.com/problem.php?id=1377首先庆祝昨天晚上没头疼~~~WA了无数次,找不到错误,两天之后双重写了一遍,一次就神奇的AC了。。从小往大放,因为,对于最小的数来说,肯定后面要放比它大1的数,依次类推,贪心是可行的。 1 #include <stdio.h> 2 #include <stdlib.h> 3 #define INF 0x7fffffff 4 int N; 5 int num_array[10005]; 6 void init() 7 { 8 int i; 9 for(i=0;i<=10000;i++)10 阅读全文
posted @ 2012-02-07 08:42 linyvxiang 阅读(225) 评论(0) 推荐(0) 编辑
摘要: http://ac.jobdu.com/problem.php?id=1376N^2的算法超时优化算法想了好久没想出来,就当是学习一下STL的set了吧 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <math.h> 4 #include <set> 5 #include <iostream> 6 #define INF 0x7fffffff 7 using namespace std; 8 set<long long> S; 9 long long a,aa, 阅读全文
posted @ 2012-02-01 15:21 linyvxiang 阅读(358) 评论(1) 推荐(0) 编辑
摘要: http://ac.jobdu.com/problem.php?id=13751.大于N的,肯定需要被改变2.在N以内的,还没出现过的数字,不需要改变3.在N以内的,已经出现过的数字,需要改变 1 #include <stdio.h> 2 int N; 3 bool flag[100002]; 4 void init() 5 { 6 int i; 7 for(i=0;i<=N;i++){ 8 flag[i]=false; 9 }10 }11 12 int main()13 {14 while(scanf("%d",&N)!=EOF){15 ... 阅读全文
posted @ 2012-01-30 18:53 linyvxiang 阅读(253) 评论(0) 推荐(0) 编辑
摘要: http://ac.jobdu.com/problem.php?id=1365基本BFS,好像一个月没写题了。。。写完这题继续看linux源码去。一定要坚持 1 #include <stdio.h> 2 #include <string.h> 3 #include <queue> 4 using namespace std; 5 int N; 6 int num[102][102]; 7 queue<int> Q; 8 int start_x,start_y,end_x,end_y; 9 int x_dire[]={-2,-2,-1,-1,1,1 阅读全文
posted @ 2012-01-30 14:58 linyvxiang 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 转几篇关于linux下AT&T汇编的帖子1、寄存器前面要加“%”,如 mov %eax,%ebx这里要注意的一点是,AT&T汇编中,源寄存器和目的寄存器的顺序和intel汇编刚好相反,AT&T汇编中,左边的是源寄存器,右边的是目的寄存器,在上边那个例>子中,%eax是源寄存器,%ebx是目的寄存器。2、立即数/常数前面要加$,如 mov $4,%ebx 把4这个数装入ebx这个寄存器。符号常数直接用, 如 mov value,%eax 即把value代表的那个值装入eax寄存器。mov $value,%eax 即把value的值作为地址,而把对应那个地址中的值装入 阅读全文
posted @ 2012-01-21 18:42 linyvxiang 阅读(596) 评论(0) 推荐(0) 编辑
摘要: // linux/fs/buffer.c205 #define BADNESS(bh) (((bh)->b_dirt<<1)+(bh)->b_lock)206 struct buffer_head * getblk(int dev,int block)207 {208 struct buffer_head * tmp, * bh;209 210 repeat:211 if (bh = get_hash_table(dev,block))212 return bh;213 tmp = free_list;214 do {215 if... 阅读全文
posted @ 2011-12-30 22:12 linyvxiang 阅读(494) 评论(0) 推荐(0) 编辑
摘要: http://ac.jobdu.com/problem.php?id=1364经典01背包,没有用空间逆序优化。 1 #include <stdio.h> 2 #include <string.h> 3 #include <stdlib.h> 4 int S,C; 5 int force[102]; 6 int space[102]; 7 int mat[102][1002]; 8 int max(int a,int b) 9 {10 return a>b?a:b;11 }12 int main()13 {14 while(scanf("%d 阅读全文
posted @ 2011-12-27 16:21 linyvxiang 阅读(176) 评论(0) 推荐(0) 编辑
摘要: http://ac.jobdu.com/problem.php?id=1363按规则来就可以 注意,可能有多副牌 一开始按一副牌处理的,一个数据也过不了 另外,还有 每次找两个相同的牌时,从3开始找,找不到再去1和2中找。代码写的比较乱,大概是好久不写的缘故. 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 int N; 5 int num_count[20]; 6 int comp[5]; 7 int main() 8 { 9 10 while(scanf("% 阅读全文
posted @ 2011-12-27 09:41 linyvxiang 阅读(233) 评论(0) 推荐(0) 编辑
摘要: http://ac.jobdu.com/problem.php?id=1358好久没做题了,真希望没有任何考试,大家学自己喜欢学的,太多的规则束缚。。DFS,暂时还没想到别的好办法 下面是几个剪枝1)所有数字总合为奇数2)当前总合已大于所有总合一半一次AC,没排序,不知道排序后能不能有更好的剪枝,不过看了下榜,第一名了已经,应该没有太好的办法了 1 #include <stdio.h> 2 int N,num[10]; 3 int A,B; 4 int res=0; 5 bool flag=false; 6 void dfs(int cur_num,int cur_pos) 7 { 阅读全文
posted @ 2011-12-22 09:53 linyvxiang 阅读(202) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 13 下一页