搜索
softrice
这个作者很懒,什么都没留下…
展开
-
HDU 2833——wukong
dijskra算法+搜索首先分别求出悟空和唐僧各自的最短路径,然后记忆化搜索。#include#include#includeusing namespace std;#define maxn 302#define INF 10001int map[maxn][maxn],dis1[maxn],dis2[maxn];int dp[maxn][maxn];void dij1(i原创 2013-04-28 21:18:09 · 996 阅读 · 0 评论 -
hdu 4628 ——Pieces
记忆化搜索一直超时,看了标程后改了一个地方。#include#include#includeusing namespace std;#define maxn 16#define INF 1<<30char a[maxn+1];int pali[1<<maxn];//是否是回文 int dp[1<<maxn];int n;int dfs(int x){ if(dp[x原创 2013-07-30 20:39:11 · 849 阅读 · 0 评论 -
hdu 4618——Palindrome Sub-Array
枚举#include#includeusing namespace std;int map[400][400];int n,m;int ans;bool is_reverse(int x,int y,int len){ for(int i=x;i<=x+len-1;i++) for(int j=1;j<=len/2;j++) if(map[i][y+j-1]!=ma原创 2013-07-27 14:27:53 · 815 阅读 · 0 评论 -
4124: Kakaxi
大神的代码#include#include#includeusing namespace std;int n;int a[110];int b[110];int vis[110];bool dfs(int x){ if(x==n) return 1; int pre=-1; for(int i=0;i<n;i++) if(!vis[i原创 2013-08-09 22:59:18 · 858 阅读 · 0 评论 -
hdu 4740—€—The Donkey of Gui Zhou
bfs#include#include#include#includeusing namespace std;struct Node{ int dx,dy,dd; int tx,ty,td;}tmp;int n;int dir[4][2]={0,1,1,0,0,-1,-1,0};int tvis[1100][1100],dvis[1100][1100];v原创 2013-09-15 21:13:37 · 706 阅读 · 0 评论 -
hdu 4460—— Friend Chains
bfs#include#include#include#include #include#includeusing namespace std;#define maxn 1100#define maxm 221000map mat;int head[maxn],v[maxm],next[maxm];int cnt;int dis[maxn];int原创 2013-10-10 22:57:50 · 1046 阅读 · 0 评论 -
hdu 4514—— 湫湫系列故事——设计风景线
tarjan+bfs搜索#include#include#include#include#pragma comment(linker, "/STACK:1024000000,1024000000") //扩栈 using namespace std;#define maxn 110000#define maxm 2100000int n,m;int head[原创 2013-09-26 18:32:51 · 685 阅读 · 0 评论 -
hdu 4527 ——小明系列故事——玩转十滴水
bfs#include#include#include#includeusing namespace std;int a[10][10];int dir[4][2]={0,1,0,-1,1,0,-1,0};struct Node{ int x,y; int flag; int d; Node(int _x=0,int _y=0,int原创 2013-09-28 10:40:14 · 843 阅读 · 0 评论 -
hdu 4528——小明系列故事——捉迷藏
bfs#include#include#include#includeusing namespace std;struct Node{ int x,y; int t; int flag1,flag2; Node(int xx,int yy,int tt,int ff1,int ff2) { x=xx; y=yy; t=tt; flag1=ff1原创 2013-09-29 00:24:53 · 741 阅读 · 0 评论 -
hdu 3720——Arranging Your Team
#include#include#include#include#includeusing namespace std;struct Player{ string name; int score; int pos; Player(){} Player(string nn,int ss,int pp) { name=nn;原创 2013-10-30 18:49:41 · 834 阅读 · 0 评论 -
hdu 1429 胜利大逃亡(续)
状态压缩+宽搜#include#include#include#includeusing namespace std;int n,m,t;int sx,sy;int vis[25][25][1<<12];char map[25][25];int dir[4][2]={1,0,-1,0,0,1,0,-1};struct state{ int x,y,k原创 2013-11-07 13:14:02 · 2418 阅读 · 0 评论 -
ZOJ 3675 Trim the Nails
状态压缩+暴搜#include#include#include#includeusing namespace std;#define LL long longstruct State{ int state,step; State(int sta=0,int ste=0) { state=sta; step=ste; }};LL cli1;LL cli原创 2013-11-13 15:14:56 · 3444 阅读 · 0 评论 -
hdu 1035——Robot Motion
宽搜#include#include#include#includeusing namespace std;struct Node{ int x; int y;};int n,m,sx,sy;char map[20][20];int vis[20][20];int step[20][20];void bfs(){ Node start,temp1,tem原创 2013-07-06 16:25:43 · 852 阅读 · 0 评论 -
hdu 1495——非常可乐
记忆化搜索+宽搜#include#include#include#includeusing namespace std;struct Node{ int a,b,c; int step;};int a,b,c;int dp[105][105][105];int flag;int min(int a,int b){ return a<b?a:b;原创 2013-07-06 15:24:23 · 888 阅读 · 0 评论 -
HUD 1978——How many ways
记忆化搜索。 假设起点变成(n,m),终点变成(1,1)。dp[i][j]存储到起点该点的路径数。赋值dp[n][m]=1.从(1,1)往回搜索,一旦遇到dp>0.说明已经被搜索过了,直接返回。#include#include#includeusing namespace std;#define maxn 105#define mod 10000int map[ma原创 2013-04-29 10:08:42 · 755 阅读 · 0 评论 -
HDU 1010——Tempter of the Bone
深搜注意剪枝。#include#includeusing namespace std;int flag;char map[10][10];int X,Y,t;int n,m;int dir[4][2]={1,0,-1,0,0,1,0,-1};void dfs(int x,int y,int time){ if(x==X&&y==Y&&time==t) {原创 2013-05-10 20:07:15 · 782 阅读 · 0 评论 -
hdu 2514—— Another Eight Puzzle
深搜#include#include#includeusing namespace std;int num[10], a[10] ,vis[10],ans[10];int k,flag;void dfs(int x){ int i,j; if(x==k) { flag++; for(i=0;i<8;i++) ans[i]=num[i]; ret原创 2013-07-06 21:22:41 · 799 阅读 · 0 评论 -
dp
Problem Description爱编程的小明同样也爱滑雪。为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。小明想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 81原创 2013-07-07 14:46:29 · 828 阅读 · 0 评论 -
1016 hdu
暴力深搜#include#include#includeusing namespace std;int num[22];int a[22];int prime[51];int n;void dfs(int k){ int i; if(k>n) { if(!prime[num[1]+num[n]]) { printf("%d",num[1]);原创 2013-06-29 20:42:08 · 850 阅读 · 0 评论 -
hdu 1175——连连看
深搜+剪枝#include#includeusing namespace std;int map[1010][1010];int dir[4][2]={-1,0,1,0,0,-1,0,1};// 上下 左右 int flag;int n,m;int x1,x2,y1,y2; void dfs(int x,int y,int k,int d){原创 2013-07-01 15:06:05 · 846 阅读 · 0 评论 -
hdu 1518——Square
深搜#include#include#include#includeusing namespace std;int num[40];int s;int vis[40];int flag;int n;bool cmp(int a,int b){ if(a>b) return 1; return 0;}bool dfs(int x原创 2013-07-03 17:55:57 · 703 阅读 · 0 评论 -
hdu 2717——Catch That Cow
宽搜裸题#include#include#include#includeusing namespace std;queueq;int num[100005];int vis[100005];int x,n; void bfs(int cnt){ int temp; while(!q.empty()) q.pop(); vis[x]=1; q.push(原创 2013-07-05 13:28:39 · 751 阅读 · 0 评论 -
hdu 1258_Sum It Up hdu
深搜#include#include#include#includeusing namespace std;int t,n,num[105];int ans[105],flag;void dfs(int x,int k,int sum){ int i,j; int last=-1; if(sum>t) return ; if(sum==t) { fla原创 2013-07-04 17:15:03 · 698 阅读 · 0 评论 -
hdu 1455 ——sticks
深搜——剪枝#include#include#include#includeusing namespace std;bool cmp(int a,int b){ return a>b;}int num[1000],vis[1000];int n,Sum;int s,K;int flag;//木棍序号 已完成边数 当前木棍长度 void dfs(int原创 2013-07-05 18:44:01 · 768 阅读 · 0 评论 -
hdu 2209——翻纸牌游戏
http://www.cnblogs.com/yangcl/archive/2012/01/14/2322433.html#include#include#include#includeusing namespace std;int n,ans;int vis[1<<20+1],dis[1<<20+1];int bfs(int x){ if(0==x) r转载 2013-07-06 13:50:41 · 1336 阅读 · 0 评论 -
HDU 1254—— 推箱子
宽搜#include#include#include#includeusing namespace std;#define INF (1<<30)struct Node{ int x,y; int step; int dir; Node(){} Node(int xx,int yy) { x=xx; y=yy; } Node(int xx,原创 2014-03-08 21:47:32 · 1032 阅读 · 0 评论