自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (3)
  • 收藏
  • 关注

原创 hdu 2955 Robberies(01背包变形)

题目链接:hdu2955思路:将各个银行的总资产当做背包的容量V,然后求最大的逃跑率初始化:抢劫的金额为0时,一定是安全的,所以d[0]=1;其他金额初始为逃跑概率最小,全为0#include#include#includeusing namespace std;double d[10005],v[105];int c[105];int main(){ int

2013-07-31 09:32:29 907

原创 hdu 2095 find your present (2)(位异或)

题目链接:hdu2095位异或的运算法则:1、a^b = b^a 2、(a^b)^c = a^(b^c)  3、a^b^a = b。对于一个任意一个数n:1、0^n = n。2、n^n = 0。不断的位异或运算,剩下的就是出现奇数次的那个数#includeint main(){ int n; while(scanf("%d",

2013-07-30 18:21:52 914

原创 hdu 1171 Big Event in HDU(多重背包+二进制优化)

题目链接:hdu1171思路:将多重背包转为成完全背包和01背包问题,转化为01背包是用二进制思想,即件数amount用分解成若干个件数的集合,这里面数字可以组合成任意小于等于amount的件数比如:7的二进制 7 = 111 它可以分解成 001 010 100 这三个数可以组合成任意小于等于7 的数,而且每种组合都会得到不同的数; 如果13 = 1101 则分解为 0001 0010

2013-07-29 17:55:00 982

原创 hdu 1114 Piggy-Bank(完全背包)

题目链接:hdu1114大意:给出存钱罐本身的重量和装钱后的重量,以及存钱罐中钱的面值和重量,求存钱罐装满时,钱的总和最小是多少思路:完全背包解题,每种钱币都可以装无限个,注意初始化的值#include#include#include#define N 1005#define INF 0xffffffffusing namespace std;int d[10005],c[

2013-07-29 16:26:04 2054

原创 hdu 2780 Su-Su-Sudoku(DFS数独)

题目链接:hdu2780#include#include#include#include#include#define N 15using namespace std;int map[N][N],v1[15],v2[15];int flag,n,ok;struct node{ int x,y;}s[6];void judge1()//判断行和列{ in

2013-07-27 17:25:14 1271

原创 hdu 2822 Dogs(优先队列)

题目链接:hdu2822会优先队列话这题很容易AC。。。。#include#include#include#include#define N 1005using namespace std;char map[N][N];int v[N][N],d[4][2] = { {-1,0},{1,0},{0,-1},{0,1} };int begin_x,begin_y,end_x,

2013-07-27 10:29:31 1174

原创 hdu 2612 Find a way(BFS)

题目链接:hdu2612思路:题意是求两个人到某一个KFC花费时间和最小,其实就是求最短距离和,用两个BFS,分别以两个人为起点,分别记录下两人到每个KFC的距离,然后求出最小的和#include#include#include#include#define N 205using namespace std;char map[N][N];int v[N][N],ans1[N]

2013-07-27 09:55:36 971

原创 hdu 1381 Crazy Search(hash)

题目链接:hdu1381第一次做hash题目,看的别人的思路,先将字符串传为数学,然后每一段数字(长度为n)转换为m进制的数,再判断是否重复#include#include#define N 16000005char a[N];int cnt[N];int hash[8000000],d[28];int ans,n,m;void hashs(){ int i,j,k

2013-07-26 10:21:43 879

原创 hdu 1213 How Many Tables(并查集练习)

题目链接:hdu1213赤裸裸的并查集。。。。。水题一个。。。。#include#include#include#include#define MAXN 10using namespace std;int father[1005];void build(int n){ for(int i = 0 ; i <= n ; i ++) father[i] = i;

2013-07-25 09:53:06 762

原创 hdu 1495 非常可乐(BFS)

题目链接:hdu1495共有6种操作,x-->y,x-->z,y-->x,y-->z,z-->x,z-->y#include#include#include#include#define MAXN 105using namespace std;int v[MAXN][MAXN][MAXN];int a,b,c,flag;struct node{ int x,y,z

2013-07-24 15:49:20 894

原创 hdu 4198 Quick out of the Harbour(BFS+优先队列)

题目链接:hdu4198题目大意:求起点S到出口的最短花费,其中#为障碍物,无法通过,‘.’的花费为1 ,@的花费为d+1。需注意起点S可能就是出口,因为没考虑到这个,导致WA很多次.......#include#include#include#includeusing namespace std;char map[505][505];int d[4][2] = {{0,

2013-07-24 09:15:00 951

原创 并查集

并查集:并查集的一般用途就是用来维护某种具有自反、对称、传递性质的关系的等价类。并查集一般以树形结构存储,多棵树构成一个森林,每棵树构成一个集合,树中的每个节点就是该集合的元素,找一个代表元素作为该树(集合)的祖先。并查集支持以下三种操作:1、Make_Set(x)把每一个元素初始化为一个集合初始化后每一个元素的父亲节点是它本身,每一个元素的祖先节点也是它本身。2、Fi

2013-07-23 17:05:04 1101

原创 hdu 1285 确定比赛名次(拓扑排序)

题目链接:hdu1285拓扑排序,但题目要求按序号排出,按普通的拓扑排序不行,所以就每次从前往后搜#include#include#includeusing namespace std;int map[505][505];int ans[505],du[505];int n,i,j;void toposort(){ for(i = 1 ; i <= n ; i ++

2013-07-23 15:46:07 858

原创 hdu 1258 Sum It Up(DFS)

题目链接:hdu1258水题一道.....................#include#include#includeusing namespace std;int map[15],v[15],ans[15];int sum,n,flag;void dfs(int x,int num,int cur){ int i; if(num == sum)

2013-07-23 11:21:51 1013

原创 hdu 1455 Sticks(经典搜索)

题目链接:hdu1455给你若干根短棒,将其组合成等长的木棒,尽可能短 ,并输出其长度#include#include#includeusing namespace std;int n,map[70],v[70];int sum;//所有木棒的长度和int total,length,flag;bool cmp(int x,int y){ return x > y;

2013-07-21 10:05:00 1412

原创 hdu 2616 Kill the monster(DFS)

题目链接:hdu2616暴力求解#include#include#include#includeusing namespace std;int a[15],b[15],v[15];int limit,n,ans,flag;void dfs(int blood,int cur){ if(blood <= 0) { ans = min(ans,c

2013-07-20 17:06:14 888

原创 poj 1088/nyoj 10 滑雪(记忆化搜索/DP)

题目链接:poj1088  nyist10#include#include#define max(a,b) (a>b?a:b)int map[105][105];int d[4][2] = {{1,0},{0,1},{-1,0},{0,-1}};int dp[105][105];int n,m;int dfs(int x,int y){ if(dp[x][y] > 1)

2013-07-18 10:10:34 779

原创 hdu1078 zoj1107(记忆化搜索/DP)

题目链接:点击链接题目大意:老鼠从(0,0)出发,每次在同一个方向上最多前进k步,且每次到达的位置上的数字都要比上一个位置上的数字大,求老鼠经过的位置上的数字的和的最大值#include#include#define max(a,b) a>b?a:bint n;int k;//前进的步数int map[105][105];int ans[105][105];//记忆化搜索,保存

2013-07-16 16:06:47 1279

原创 hdu 1253 胜利大逃亡(BFS)

题目链接:点击链接三维的BFS,刚开始一直超内存,超无语......  改了n多次终于AC了#include #include #include #include using namespace std;int map[50][50][50];int d[6][3] = { {1,0,0},{-1,0,0},{0,-1,0},{0,1,0},{0,0,-1},{0,0,1} }

2013-07-13 18:00:30 804

原创 hdu 1728 逃离迷宫(BFS)

题目链接:点击链接DFS做法:点击链接之前用DFS做的,结果超时,看了别人的做法才做出来,现在用BFS做了,明显感觉用BFS容易多了#include #include #include #include using namespace std;char map[105][105];int v[105][105];//记录起点到达每个点的最少转弯次数int d[4][2]

2013-07-13 15:47:41 942

原创 hdu 1240 Asteroids!(BFS)

题目链接:点击链接简单BFS,和二维的做法相同(需注意坐标)题目大意:三维的空间里,给出起点和终点,“O”表示能走,“X”表示不能走,计算最少的步数#include #include #include #include using namespace std;char map[11][11][11];int v[11][11][11],d[6][3] = { {1,0,0}

2013-07-13 14:46:04 992

原创 hdu 1372 Knight Moves(BFS)

题目链接:点击链接简单的BFS,需注意knight的走法跟象棋中马的走法相同,都是“日”字形走法#include#include#include#includeusing namespace std;int map[10][10];int begin_x,begin_y,end_x,end_y;int ans,d[8][2] = { {-2,1},{-1,2},{1,2},{2

2013-07-12 19:04:45 863

原创 hdu 2553 N皇后问题 (经典DFS)

题目链接:点击链接思路:用一维数组hang[num] = i,num表示第num行,i表示第i列,计算n = 1~10皇后的不同放置数量,然后打表#include#includeint hang[11],n,sum;int ans[11];bool judge(int num){ for(int i = 1 ; i < num ; i ++) if(hang[nu

2013-07-12 11:17:23 1729

原创 zoj1088(模拟/约瑟夫环)

题目链接:点击链接方法一:模拟#include#includeint next[150];//保存大楼编号bool cut[150];//切断连接的大楼的编号int main(){ int n,m,i;//m表示切断连接的大楼间隔 while(~scanf("%d",&n) && n) { for(i = 1 ; i <= n - 1 ; i

2013-07-11 11:12:59 1876

原创 hdu 1559 最大子矩阵(DP)

#include#include#define max(a,b) a>b?a:bint d[1005][1005];int main(){ int T,n,m,x,y,i,j; scanf("%d",&T); while(T--) { scanf("%d%d%d%d",&n,&m,&x,&y); memset(d,0,siz

2013-07-10 19:06:51 824

原创 hdu 1257 最少拦截系统(DP)

有点水.....测试数据也很水.....#includeint dp[100];int main(){ int n,num,i,top; while(~scanf("%d",&n)) { dp[1] = 0; top = 0; while(n--) { scanf("%d",&num); for(i = 1

2013-07-10 09:48:35 1318

原创 hdu 1728 逃离迷宫(DFS)

刚开始用连连看那道题的方法做的,一直超时,不知道怎么剪枝,在网上搜了别人的解法,大部分是BFS(看来这题BFS更简单,不过还没开始大量练习BFS,等学了BFS,再做一遍),也有DFS的解法,看了看,写了一个,代码如下:#include #include int x_begin,y_begin,x_end,y_end;char map[105][105];int wan[105][105

2013-07-09 16:11:25 1493

原创 zoj 1154 Niven Numbers

思路:先转为十进制的数,在按照题目要求判断本题转为进制的方法示例,如将八进制的231转换为十进制,((0*8+2)*8+3)*8+1 =(2*8 + 3)*8 +1= 2*8²+3*8+1#include #include int main(){ int n,b;//b表示进制 char s[100]; scanf("%d",&n); wh

2013-07-08 18:42:28 1193

原创 hdu1698(线段树成段更新+lazy标记)

题目大意是:给一组棍子染色,不同的颜色有不同的值,执行一系列的区间染色后,问这组棍子的总值是多少。思路:lazy标记:就是更新时,不更新到最底层。num表示线段树结点所代表区间的染色状况,如果该区间全为同样的颜色,则用1,2,3表示,如果含有多种颜色,则用-1表示。每次执行染色操作时:(1)如果所要染的颜色与区间颜色一样,则停止。(2

2013-07-08 18:03:36 1385

原创 zoj 1152 A Mathematical Curiosity

方法:枚举做这道题,在第十行的位置WA了很多次,(n || m)不能写成(n + m),m可能是负数,一直没注意到,导致不停的WA.......#include int main(){ int T,n,m,a,b,ans,p = 0; scanf("%d",&T); while(T--) { if(p ++) printf("\n");

2013-07-08 16:56:33 820

转载 sscanf的用法

1. 常见用法。char buf[512] ;sscanf("123456 ", "%s", buf);//此处buf是数组名,它的意思是将123456以%s的形式存入buf中!printf("%s\n", buf);结果为:1234562. 取指定长度的字符串。如在下例中,取最大长度为4字节的字符串。1sscan

2013-07-07 18:20:32 698

原创 hdu 2546 饭卡(01背包)

思路:余额>=5,找出最贵的一道菜,用最后的5元来买,使得饭卡的余额最小,剩下的用01背包的来做装满#include #include #include #define max(a,b) a>b?a:busing namespace std;int c[1005],d[1005];int main(){ int n,i,j,money,V; while(scanf

2013-07-07 17:55:46 961

原创 hdu 1242 Rescue(BFS入门)

第一次用容器做的BFS题目,题目有个地方比较坑,就是遍历时的方向,比如上下左右能AC,右上左下就WA#include #include #include #include using namespace std;char map[205][205];int x_begin,y_begin,flag,n,m;int v[205][205],d[4][2] = { {-1,0},

2013-07-06 17:57:32 962

c#课程设计

c#课程设计:计算器,五子棋,贪食蛇,职工信息管理系统等

2014-06-27

上海交大ACM final选手模板

上海交大ACM竞赛 final选手模板,ACM能用到的各种算法基本都有

2014-06-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除