果枫-国峰

2012年9月6日

hdu 1003 Max Sum

摘要: 题意:输出最大子序列和。解法:DPac代码:#include<iostream>using namespace std;#define mem(x,y) memset(x,y,sizeof(x));const int M=100099;int a[M];//存储输入的数int sum[M];//sum[i]代表第i个为结尾的最大和int front[M];//front[i]代表以i为结尾的最大子串和的起始位置int main(){ int t; cin>>t; int l=1; while(t--) { mem(sum,0);mem(front,0... 阅读全文

posted @ 2012-09-06 15:28 果枫-国峰 阅读(171) 评论(0) 推荐(0) 编辑

2012年9月5日

hdu 1254 需注意的地方

摘要: 题意:如题所说。注意:1.要考虑人是否能走到推箱子的地方 2.箱子经过的格子可以再次经过,而箱子经过同一个格子从同一个方向来的只能有一次 3.人不能穿过箱子解法:BFS+BFSAC代码:View Code //bfs+bfs#include<iostream>#include<queue>using namespace std;#define mem(x,y) memset(x,y,sizeof(x));//牛b的数组初始化,网上学的const int M=25;int useb[M][M][4],used[M][M];//用作标记useb[][][]之所以是三维数组是 阅读全文

posted @ 2012-09-05 15:36 果枫-国峰 阅读(193) 评论(0) 推荐(0) 编辑

2012年9月4日

hdu 1385 题意 测试数据

摘要: 题意:两点间的最短距离,并输出路径(按字典序排列),如何理解字典序,如:1>4>5>6的值等于1>2>5>6的值而且都为最短路径,此时必须输出:1>2>5>6解法:floydac代码:View Code #include<iostream>using namespace std;const int INT=0x7fffff;const int M=1000+99;int map[M][M];//存地图int d[M];//存每一个点的税金int path[M][M];//记录点i->j经过的点int n;void floy 阅读全文

posted @ 2012-09-04 21:03 果枫-国峰 阅读(187) 评论(0) 推荐(0) 编辑

hdu 1690 题意 Bus System floyd

摘要: 题意:此题唯一亢爹的就是,输入的站号可能是负数,但是起点到终点的站号不可能是负数,下面举个例你就清楚了,如输入站号顺序为:-1 ,-2, -3, -4, 1, 2, 3, 4.若L1-L4,C1-C4分别为1 2 3 4 1 3 5 7,问1到5的最短路径,答案:3.很多我想你会认为不能到达,但最短路径确是3.原因是:-1(代号为1),-2(代号为2), -3(代号为3), -4(代号为4), 1(代号为5), 2(代号为6), 3(代号为7), 4(代号为8)问:1到5的最短路径其实是问-1到1的最短路径。2到5的最短路径其实是问-2到1的最短路径。8到5的最短路径其实是问4到1的最短路径。 阅读全文

posted @ 2012-09-04 15:18 果枫-国峰 阅读(136) 评论(1) 推荐(0) 编辑

hdu 杭电 1690 题意 Bus System dijkstar

摘要: 题意:此题唯一亢爹的就是,输入的站号可能是负数,但是起点到终点的站号不可能是负数,下面举个例你就清楚了,如输入站号顺序为:-1 ,-2, -3, -4, 1, 2, 3, 4.若L1-L4,C1-C4分别为1 2 3 4 1 3 5 7,问1到5的最短路径,答案:3.很多我想你会认为不能到达,但最短路径确是3.原因是:-1(代号为1),-2(代号为2), -3(代号为3), -4(代号为4), 1(代号为5), 2(代号为6), 3(代号为7), 4(代号为8)问:1到5的最短路径其实是问-1到1的最短路径。2到5的最短路径其实是问-2到1的最短路径。8到5的最短路径其实是问4到1的最短路径。 阅读全文

posted @ 2012-09-04 15:13 果枫-国峰 阅读(153) 评论(0) 推荐(0) 编辑

2012年9月2日

vs2008 快捷键大全

摘要: VS2008快捷键大全VS2008 快捷键大全[转帖] Ctrl+m+Crtr+o折叠所有大纲 Ctrl+M+Crtr+P: 停止大纲显示 Ctrl+K+Crtr+C: 注释选定内容 Ctrl+K+Crtr+U: 取消选定注释内容 Ctrl+J : 列出成员 智能感知 Shift+Alt+Enter: 切换全屏编辑 Ctrl+B,T / Ctrl+K,K: 切换书签开关 Ctrl+B,N / Ctrl+K,N: 移动到下一书签 Ctrl+B,P: 移动到上一书签 Ctrl+B,C: 清除全部标签 Ctrl+I: 渐进式搜索 Ctrl+Shift+I: 反向渐进式搜索 Ctrl+F: 查找 Ct 阅读全文

posted @ 2012-09-02 19:02 果枫-国峰 阅读(124) 评论(0) 推荐(0) 编辑

字符串全集

摘要: c语言字符串函数详解 void *memset(void *dest, int c, size_t count); 将dest前面count个字符置为字符c. 返回dest的值. void *memmove(void *dest, const void *src, size_t count); 从src复制count字节的字符到dest. 如果src和dest出现重叠, 函数会自动处理. 返回dest的值. void *memcpy(void *dest, const void *src, size_t count); 从src复制count字节的字符到dest. 与memmove功能一样.. 阅读全文

posted @ 2012-09-02 16:08 果枫-国峰 阅读(186) 评论(0) 推荐(0) 编辑

优先队列用法

摘要: 第一种方法:在优先队列中,优先级高的元素先出队列。标准库默认使用元素类型的<操作符来确定它们之间的优先级关系。优先队列的第一种用法,也是最常用的用法:priority_queue<int> qi;通过<操作符可知在整数中元素大的优先级高。故示例1中输出结果为:9 6 5 3 2第二种方法:在示例1中,如果我们要把元素从小到大输出怎么办呢?这时我们可以传入一个比较函数,使用functional.h函数对象作为比较函数。priority_queue<int, vector<int>, greater<int> >qi2;其中第二个参数为容 阅读全文

posted @ 2012-09-02 15:19 果枫-国峰 阅读(197) 评论(0) 推荐(0) 编辑

2012年9月1日

hdu 杭电 1016 Prime Ring Problem

摘要: ac代码:View Code #include<iostream>using namespace std;int map[61];int use[21];int ss[22];int n;void dfs(int i){ if(i==n&&map[ss[i-1]+1]==0) { for(int l=0;l<n-1;l++) cout<<ss[l]<<" "; cout<<ss[n-1]<<endl; } else { for(int j=2;j<=n;j++) { ... 阅读全文

posted @ 2012-09-01 09:30 果枫-国峰 阅读(137) 评论(0) 推荐(0) 编辑

hdu 杭电 1045 Fire Net

摘要: 题意:地图中最多能放多少炮台。解法:深搜。ac代码:View Code #include<iostream>using namespace std;char map[8][8];int sum,maxi,n;bool check(int x,int y){ if(map[x][y]=='X')return 0; int i; for(i=x-1;i>=0;i--) { if(map[i][y]=='X')break; if(map[i][y]=='0')return 0; } for(i=y-1;i>=0;i--) { . 阅读全文

posted @ 2012-09-01 09:25 果枫-国峰 阅读(211) 评论(0) 推荐(0) 编辑

导航