
搜索
JW_7066
这个作者很懒,什么都没留下…
展开
-
CSU 1569 Wet Tiles(水~~)
题目吓到我了,看到那么长就不想做了,后来发现挺简单的。。。。其实就是裸的bfs 给定n*m的矩阵 时刻t L个起点 W个墙下面给出L个点的坐标下面每4个数字给出每个墙的起点终点(墙要么平行于轴,要么45°倾斜)问每个点bfs出去t下后,整个图被遍历了多少点。 #include #include #include #include #include usi原创 2015-04-21 22:37:07 · 648 阅读 · 0 评论 -
CSU 1657 Ways(bfs)
题目链接:【CSU 1657】有一个n*n的正整数矩阵,要你求一条从第一行第一列的格子到第n行第n列的路,使得你走过的格子里面的数乘起来的值末尾的零的个数最小。输出最小个数。统计并记录每一格2的个数以及5的个数,搜索到第i行第j列时,记录以下四个数据:1、dp[i][j][0][0]:2比较少时2的个数2、dp[i][j][0][1]:2比较少时5的个数3、dp[i][j][1原创 2016-02-28 16:23:46 · 468 阅读 · 0 评论 -
HDU 3220 Alice’s Cube(逆向搜索)
题目链接:【HDU 3220】输入超立方体的16个点的状态,0表示灯是关着的,1表示灯是开着的,每一个点都连着3条边,如果一条边上的等的状态不同,那么可以将这两个状态对调,问最终变成前8个点是0,后8个点是1最少需要几步,小于等于3的直接输出,大于3的输出more从前往后考虑比较烦,直接从后往前预处理,用二进制表示16个点的状态最终的状态000000001111111,就是(1从最原创 2016-02-23 22:47:47 · 507 阅读 · 0 评论 -
codeforces 618D Hamiltonian Spanning Tree(dfs)
题目链接:【codeforces 618D】给出一个由n个节点和(n-1)条边组成的生成树,这棵生成树是从包含这n个节点的完全图中出来的,生成树上边的权值是x,在完全图中但是不在生成树上的边的权值是y,求将所有的几点遍历一遍的最短路径最短路径中每个点最多连着两条边,分两类讨论:1、x 使得最短路径中的边尽可能多的在生成树中随便定义一个点作为起点,dfs跑一边,边跑边记录节点v还剩下原创 2016-01-30 22:58:01 · 1035 阅读 · 0 评论 -
codeforces 616C The Labyrinth(bfs)
题目链接:【codeforces 616C】输入n*m的方格,有*和.组成,输出n*m的矩阵,如果str[i][j] = '.'直接输出'.',如果str[i][j] = '*',则假设str[i][j]='.',上下左右四个方向相连的'.'的个数先预处理原先就有的'.'块,用vis[i][j]表示ij这个点属于第几个区块,用p[]这个数组储存每个区块所求点的个数,输出时将上下左右四个方向原创 2016-01-13 15:51:22 · 1134 阅读 · 0 评论 -
Codeforces Round 306 B Preparing Olympiad(简单dfs)
http://http://codeforces.com/contest/550/problem/B题意:输入n,l,r,x以及n个数在这n个数中找出i(i>=2 && i)个数,使得它们的和>=l&&=x 解题思路:用dfs一个一个搜过去#include #include #include #include #include #include using原创 2015-06-05 20:20:42 · 697 阅读 · 0 评论 -
FZU 2124 吃豆人(BFS 坑有点多)
题目链接:【FZU 2124】题目描述:吃豆人是一款非常经典的游戏,游戏中玩家控制吃豆人在地图上吃光所有豆子,并且避免被怪物抓住。这道题没有怪物,将游戏的画面分成n*m的格子,每格地形可能为空地或者障碍物,吃豆人可以在空地上移动,吃豆人每移动一格需要1s时间,并且只能朝上下左右四个方向移动,特别的是吃豆人还能吐出舌头,舌头每移动一格需要0.1s时间,舌头只可以走直线。不必考原创 2016-01-27 22:11:03 · 1102 阅读 · 0 评论 -
UVALive 4627 Islands(BFS+并查集)
题目链接:【UVALive 4627】输入n*m的数字矩阵,矩阵上的数字表示的是水的深度,在第i年,水的深度应该是i,输入num个年份,输出每个年份里,水的深度高出的区块有几个第二年,水的最高深度是2,超出的部分就是上述的阴影区域,是3块,输出3先用优先队列,按水的深度排序,深度大的在前面,并查集是用来记录他们是不是属于同一个区块#include #include #i原创 2016-01-27 10:31:30 · 460 阅读 · 0 评论 -
HDU 1560 DNA sequence(BFS+hash)
题目链接:【HDU 1560】输入n个字符串,找出最短的序列(从前往后,这n个字符串均能在这个序列中找到,不要求连续)枚举第i个位置的可能性,一共四个字母“ACGT”,我一开始直接记录前i个字符,结果MLE了用哈希优化,has用来记录枚举到第i个位置时,所有的字符串已经匹配掉后得到的哈希值,v[]用来记录目前已经有多少个字母已经匹配掉了看题目中的数据,ACGT、ATGC、CGTT、原创 2016-01-27 19:46:45 · 520 阅读 · 0 评论 -
UVALive 4622 Decision(bfs)
题目链接:【UVALive 4622】ABCDEF代表着6种不同的 区块,输入n*m的由A~F组成的字符矩阵,问这个矩阵有几个阴影区块,有公共边的是相连的从边入手,用结构体储存四条边,有阴影的边是1,无阴影的边是0,比如B这个图像,n.l=1, n.d=1, n.r=0,,n.f=0,bfs搜索,将公共边都是1的标记#include #include #include #incl原创 2016-01-27 09:35:40 · 376 阅读 · 0 评论 -
POJ 3279 Fliptile(二进制+暴 力) UVALive 3953
题目链接:【POJ 3279】n*m的棋盘,由每一格都是由0和1组成的,将ij这格翻转(就是0变1,1变0),相邻的四个方向也要翻转,即上下左右这四个方向这题跟UVALive 3953几乎是一模一样的,UVALive 3953只是多了一步,将字符矩阵转化为01矩阵,剩下的做法一样棋盘翻转是每一小格最多翻转一次,翻多次是没有意义的,因为每一格就只有两种状态,翻多次也就是这两种状态在变来变原创 2016-01-25 13:14:17 · 482 阅读 · 0 评论 -
POJ 1426 Find The Multiple(dfs)
题目链接:【POJ 1426】输入n(1深搜m,m的初始值是1,对于每一个m都朝两个方向找,一个是m*10,另一个是m*10+1#include #include #include #include #include #include using namespace std;#define ll __int64int n;ll ans;void dfsans(ll原创 2016-01-22 15:11:49 · 387 阅读 · 0 评论 -
UVA 11624 Fire!(两次bfs)
题目链接:【UVA 11624】n*m的迷宫是由.跟#组成的,.表示这是路,#表示这是墙,一个人在迷宫里面,迷宫着火了,J表示这个人在迷宫中的位置,F表示着火的地方,J想逃出来,每一分钟,J只能往前后左右四个方向走,但是火却能同时往四个方向蔓延,问J能不能顺利逃出迷宫,如果能,输出逃出迷宫的最少时间,如果不能,输出IMPOSSIBLE这个题目有点坑,迷宫中J这个位置有且仅有一个,但是F可以原创 2016-01-22 13:02:39 · 410 阅读 · 0 评论 -
hdu 1010 Tempter of the Bone(dfs)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1010题意:在n*m的矩阵里面,走一步用去一秒X表示墙,不能走过S表示初始位置D终点如果从S走到D刚好用了T秒,输出YES,否则就输出NO解题思路:搜索求出从S到D的时间,与T比较剪枝没弄好,TLE了很多次剪枝一:从当前位置到终点,如果已用时间+最短路原创 2015-07-17 22:49:26 · 405 阅读 · 0 评论 -
codeforces 339E Three Swaps (搜索 dfs)
题目链接:http://http://codeforces.com/problemset/problem/339/E题意:给出由1~n组成的序列,每次可将一个区间翻转问如何从1~n的递增序列变成给出的序列,输出操作次数以及每次操作的区间最多翻转3次,保证有解,输出的操作次数不一定是最小的解题思路:每次先翻转最长的连续区间#include #in原创 2015-07-15 16:35:17 · 1474 阅读 · 3 评论 -
POJ 1088 滑雪 记忆化搜索(搜索 + dp)
解题思路:先搜索,每访问一个点就用dp记录在这个点上能滑的最长距离,当下次再访问到它时,直接调用#include #include #include using namespace std;int a[105][105],dp[105][105];int f[4][2] = {0,1,1,0,0,-1,-1,0};int r,c;int dfs(int j, int k){原创 2015-03-31 16:28:15 · 609 阅读 · 0 评论 -
HDU 3085 Nightmare Ⅱ(双向BFS)
题目链接:【HDU 3085】输入n*m的字符矩阵,矩阵中的M速度是3格/m,G的速度是1格/m,Z是鬼,初始有两个,每秒可以变出很多的分身Z(变出的分身在下一秒钟仍然可以变出无数个分身),占领跟Z距离是2的方格,直到占领所有的方格,每次都是鬼先占领方格,然后是M跟G走,M跟G可以同时都走,也可以有一个在原地不动,一个在走一般先想到的是预处理Z,求出Z占领方格ij时的时间,但是,在这一题没原创 2016-01-28 23:16:59 · 1843 阅读 · 3 评论