搜索
文章平均质量分 50
ijbuhv
这个作者很懒,什么都没留下…
展开
-
hdu 4563XCOM Enemy Unknown dfs
/*dfs枚举所有的进攻国家*/#include#include#include#includeusing namespace std;#define maxn 20#define maxm 10#define maxk 110struct node{ int belong; int panic;}country[maxn];原创 2014-12-17 19:47:05 · 567 阅读 · 0 评论 -
hdu5339Untitled 暴搜
//给一个数a和一个数组b//问从数组选最少个数数ci使得a mod c1 mod c2 mod… mod cr=0//由于b的长度<=20 先从大到小排序,然后直接暴搜就行#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>using namespace std ;const int maxn原创 2015-08-02 11:27:03 · 553 阅读 · 0 评论 -
hdu5305Friends dfs
//给一个无向图 , 每条边可以是online边也可以是offline边,问//有多少种方法使得每个节点的online边和offline边一样多#include#include#includeusing namespace std;const int maxn = 110 ;int on[maxn] , off[maxn];int x[maxn] , y[maxn]原创 2015-07-23 17:56:15 · 1284 阅读 · 0 评论 -
hdu5335Walk Out bfs+贪心
//n行长度为m的01串,//从(1,1)走到(n,m)的所经过的点中形成的二进制数最小的为多少//对于第一位是1,则只能往下和往右走,//每次处理距离终点距离一样的点,如果这样的点中有0那么只走0的点//如果没有0的点,那么都要走//对于第一位是0,那么先找到距离终点距离最近的1,再从那个点开始和//上面一样的走#include<cstdio>#include<cstring>#原创 2015-08-05 09:19:04 · 685 阅读 · 0 评论 -
hdu4876ZCC loves cards 暴搜+剪枝
//n(1<=n<=20)个数 , 选k个数 , 让这k(1<=k<=6)个数围成一个圈//可以在这个圈中选长度为m(1<=m<=k)连续的点//将其异或 得到值x//给定一个l , 问最大的r ,使得[l,r]这个圈中的x能构成[1.r]区间的所有数//先从n个数中选k个点 , 复杂度为c(n,k)//然后将k全排列 求得最大值//一个剪枝是对于已经有了一个 ans 对于已经选出来的原创 2015-09-06 20:26:00 · 383 阅读 · 0 评论 -
hdu4739Zhuge Liang's Mines 暴搜dfs
//给出n个位置,问最多能找到几个正方形//直接排序然后暴搜就行#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std ;const int maxn = 30 ;struct node{ int x , y ; bool operator <原创 2015-09-30 22:25:27 · 404 阅读 · 0 评论 -
hdu5444 Elven Postman 二叉树建树
//给一颗二叉树 , 这颗树是从左到右编号的 , 问 //给出一个树的序列,问从根节点到每一个节点的 //路线 , 向左走是'E' , 向右走是'W' #include<cstdio> #include<cstring> #include<iostream> using namespace std ; const int maxn = 1010原创 2015-09-17 22:26:35 · 346 阅读 · 0 评论 -
hdu5128The E-pang Palace dfs暴力
//给n个点坐标 , 找出两个矩形//这两个矩形不相交且不接触 , 问两个矩形围的最大面积//n很小 , 直接暴力即可 , 只是需要注意一个矩形包含在//另一个矩形中时其面积是大的那个矩形的面积#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std ;cons原创 2015-09-17 22:24:42 · 335 阅读 · 0 评论 -
hdu5135Little Zu Chongzhi's Triangles dfs
#include#include#include#include#includeusing namespace std ;const int maxn = 20 ;double a[maxn] ;double b[maxn] ;int vis[maxn] ;int n ;double get_sum(){ double sum = 0 ; for(int i原创 2015-09-17 20:10:33 · 243 阅读 · 0 评论 -
hdu5137How Many Maos Does the Guanxi Worth
#include#include#include#includeusing namespace std ;const int maxn = 1010 ;typedef long long ll ;const ll inf = 1e18 ;struct Edge{ int v , next ; ll w ;}edge[maxn<<1] ;int head[max原创 2015-09-17 20:08:37 · 265 阅读 · 0 评论 -
hdu5113Black And White dfs暴搜 +剪枝
//n(n<=5)*m(m<=5)的格子//k种颜料,每种颜料有ai个//问这k种颜料能否将这n*m涂满且//每相邻的格子颜色不同//暴搜 , 剪枝剩下的颜色的数量大于剩下(sum+1)/2//直接return#include#include#includeusing namespace std ;const int maxn = 30 ;int map[maxn][maxn原创 2015-11-11 21:27:31 · 399 阅读 · 0 评论 -
hdu4740The Donkey of Gui Zhou dfs水题
//一头驴和一只虎在n*n的格子中跑//它们都一直往前走,且它们不会对一个格子重复走//它们走到不能向前走后,驴会一直向右转//虎会一直向左转,当转了一次后还是无法向前走//它们会待在原地//问驴和虎最终能相遇吗//直接dfs就行#include<cstdio>#include<cstring>#include<iostream>using namespace std ;con原创 2015-09-25 22:49:05 · 526 阅读 · 0 评论 -
hdu4597Play Game 记忆化搜索
//两堆数量为n(n<=20) 的牌,每个牌都有份数//两个人轮流拿牌,可以取两堆数的头或者尾中的一张//每个人都取最优解//问第一个人能够取得的最大分数//记忆化搜索 dp[sa][ta][sb][tb] 表示第一堆剩下sa,ta,第二堆剩下//sb,tb的最大值#include#include#includeusing namespace std ;const int m原创 2015-11-15 17:35:12 · 395 阅读 · 0 评论 -
hdu4499Cannon dfs暴搜
//在一个n*m(n,m<=5)的棋盘上原来放着棋子//在棋盘的空位上放炮,要求一个炮不能吃到//另一个#include#include#includeusing namespace std ;const int maxn = 10 ;int map[maxn][maxn] ;int n , m ;int judge(int i , int j){ int flag原创 2015-11-17 16:06:24 · 377 阅读 · 0 评论 -
hdu4784Dinner Coming Soon bfs搜索
//给出一个图//有n个点,m条边 ,通过每条边需要一定的时间和金钱//每个点对salt的价格不一样,Coach Pang 可以通过买卖salt赚钱//有k(2<=k<=5)个平行的空间,Coach Pang 从一个空间到另一个空间的时间为1,花费为0//在1和n点不能进行salt的买卖,且到达1和n点只能在空间0//问Coach Pang 刚开始身上钱有r//剩下时间t(0<=t<=原创 2015-11-01 19:42:16 · 406 阅读 · 0 评论 -
递归方法产生格雷码
#include#include#includeusing namespace std ;const int maxn = 110 ;int n ;int a[maxn] ;void show(){ for(int i = 1;i <= n;i++){ printf("%d%c" , a[i] , i == n ?'\n':' ') ; }}原创 2016-03-26 20:41:41 · 401 阅读 · 0 评论 -
hdu5355Cake 构造+dfs
//n块蛋糕,大小从1到n//将其平均分为m块//比赛的时候用贪心策略从大往小凑成这个蛋糕水过//结果发现是spj出问题,这样的贪心策略有问题//因为前面的蛋糕凑好可能会影响后面使得后面的凑不出来//数据:/*1723 627 728 731 832 835 936 939 1040 1045 953 959 1071 999 999 10100 10原创 2015-08-09 13:12:40 · 667 阅读 · 0 评论 -
poj1011Sticks 经典搜索
//给n个小木棒,拼成任意个长度相等的长木棒//求长木棒的最短长度#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std ;const int maxn = 110 ;int a[maxn] ;int vis[maxn] ;int num , len ,n原创 2015-07-29 19:22:51 · 585 阅读 · 0 评论 -
hdu4277USACO ORZ dfs暴力枚举+map
//给N个 问rails用着N个rails能构成几个不同的三角形//dfs暴力枚举+(map)#include<cstdio>#include<cstring>#include<map>#include<iostream>using namespace std ;int ans ;int a[20] ;int n ;int sum = 0 ;struct node{原创 2015-07-27 13:27:09 · 866 阅读 · 0 评论 -
Hdu2822Dogs bfs+优先队列
代码:#include#include#include#includeusing namespace std;#define maxn 1010char str[maxn][maxn];struct node{ friend bool operator { return a.原创 2014-12-04 19:42:17 · 574 阅读 · 0 评论 -
CodeForces 520B Two Buttons bfs+优先队列
#include#include#include#includeusing namespace std;const int maxn = 10010;const int inf = 0x7fffffff;int vis[maxn*10] ;int n,m;int ans = inf;struct node{ int step ; int value ;};原创 2015-03-25 22:12:11 · 773 阅读 · 0 评论 -
hdu5025 Saving Tang Monk bfs+状态压缩
//开一个四维数组,前面两维表示在图中的位置//后面两维表示到达该位置有多少个钥匙和经过的路线有多少条蛇//由于时间和步数不同步,所以得用优先队列来做//或者遍历所有情况得到最大值//由于钥匙需要按照顺序找,所以能直接记录最后一个钥匙的大小//而对于经过蛇不是特定的顺序,所以对于蛇的记录可以运用一个二进制数表示#include#include#include#i原创 2015-03-26 22:19:48 · 481 阅读 · 0 评论 -
hdu5094Maze bfs+状态压缩
//开一个四维数组记录墙和门的情况//开一个三维数组标记在该位置时有哪些钥匙//钥匙的记录用状态压缩//注意在同一个位置可以有多把钥匙,在这卡了一个晚上。。。。。。。#include#include#include#includeusing namespace std;const int maxn = 60 ;int vis[maxn][maxn][1i原创 2015-03-27 21:49:50 · 544 阅读 · 0 评论 -
hdu 1429 bfs+状态压缩
//开一个三维标记数组,标记Ignatius有没有以拿到钥匙的状态到达该位置//由于钥匙的个数最多十个,所以可以用状态压缩来做//用1和0表示有没有第i种钥匙,这样对于这个人拿到的钥匙状态就可以用二进制数表示//用bfs找到最小值#include#include#include#includeusing namespace std ;const int maxn原创 2015-03-27 19:10:48 · 523 阅读 · 0 评论 -
hdu2614Beat dfs水题
#include#include#includeusing namespace std;const int inf = 0x7fffffff;const int maxn = 30;int map[maxn][maxn];int vis[maxn];int N;int dfs(int u,int sum,int pre){ int ans = sum原创 2015-03-24 19:36:44 · 727 阅读 · 0 评论 -
hdu 2181 dfs水题
哈密顿绕行世界问题Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1506 Accepted Submission(s): 957Problem Description一个规则的实心十二面体,它的 20原创 2015-03-24 15:37:48 · 905 阅读 · 0 评论 -
hdu 3152Obstacle Course bfs+优先队列
#include#include#include#include#includeusing namespace std ;const int maxn = 130;const int inf = 0x7fffffff;int N;int dx[4] = {-1,0,1,0};int dy[4] = {0,1,0,-1};int line[maxn][m原创 2015-03-24 19:14:23 · 531 阅读 · 0 评论 -
poj1548Robots dfs做法
//搜索每一行//将该行的所有点都清除//然后再一改行的最后一个点的位置向下走一步//然后将下面一行的所有点清除//然后再重复上述操作#include#include#includeusing namespace std;const int maxn=30;int line[maxn][maxn];int C,R;int ans = 0;void原创 2015-03-18 20:50:39 · 693 阅读 · 0 评论 -
hdu1728逃离迷宫 bfs
//bfs用vis[i][x][y][k] 表示从i的方向到x,y且剩下的转弯数是k#include#include#include#includeusing namespace std;const int maxn = 110 ;int vis[4][maxn][maxn][maxn] ;char map[maxn][maxn] ;struct node{原创 2015-04-07 16:26:55 · 526 阅读 · 0 评论 -
Codeforces Round #153 (Div. 1) C Number Transformation bfs
//到达2 , 3 ... k的最小公倍数为lcm//当x到达lcm的倍数时,x只能减一//又从a到b一定会过lcm的倍数//我们将a,b以lcm分割//那么完整的lcm段的最小数是相同的,所以我们只需要计算一个lcm段的最小值乘以完整lcm段的个数//以及首尾的不全的lcm段的和即为答案#include#include#include#includeusi原创 2015-04-28 13:02:31 · 585 阅读 · 0 评论 -
codeforce543B
//当s1,t1与s2,t2两条线路没有交点时// ans = min(ans , m - dis[s1][t1] - dis[s2][t2])//当s1,t1与s2,t2两条线路有交点时,则它们的交点必定是连续的//设,x1,x2为s1,t1最短路和s2,t2最短路的交点//那么x1,x2,必然在这两条最短路上,那么dis[x1][x2]也在这条线上//枚举相交线段i,j,找原创 2015-05-15 21:56:10 · 713 阅读 · 0 评论 -
hdu5254
//给一个n*m的棋盘,//如果是//01//10//的情况,可以将这两个0变成1//给出棋盘中哪些位置是1,//问这棋盘最后有多少1//bfs找每一个1的斜对角是否为1//如果找到一对斜对角为1的数//斜对角对应的旁边的0变为1//对于每一个新生的1其旁边的4个点的标记数组改为0#include#include#include#includ原创 2015-05-31 22:05:57 · 622 阅读 · 0 评论 -
hdu4403A very hard Aoshu problem 线段树
//给一个长度为大于2小于15的字符串//在其中间加‘+’或‘=’使得其成为一个等式的方法的个数//枚举等号位置,暴力搜索加号加的位置#include<cstdio>#include<cstring>#include<iostream>using namespace std ;const int maxn = 20;typedef __int64 ll ;int ans;int原创 2015-07-27 09:51:24 · 731 阅读 · 0 评论 -
hdu4770Lights Against Dudely 暴力搜索
//n*m grid//一个灯的照亮区域为(x,y),(x-1,y) ,(x,y+1)//问最少用多少个灯等可以将'.'区照亮而不会照到‘#’区//其中有一个灯可以的照亮区域可以旋转0,90,180,270度//由于题目已知'.'区的个数少于15,可以直接爆搜'.'区是否放灯//选好哪些区域放灯后枚举,是哪个灯可以旋转,旋转的角度#include<cstdio>#include<cst原创 2015-07-27 16:37:09 · 805 阅读 · 0 评论