![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACM-搜索
但求-_-心安
充满鲜花的世界到底在那里,如果他真的存在那么我一定会去。
展开
-
poj 1154 LETTERS
#include#include#include#include#include#includeusing namespace std;int m,n;int dir[4][2]={-1,0,1,0,0,1,0,-1};int a[25][25];int visit[30],max1,cnt;void dfs(int x,int y){ for(int i=0;原创 2016-10-18 17:45:42 · 285 阅读 · 0 评论 -
Educational Codeforces Round 37 E. Connected Components?(bfs)
没看出来这是bfs,dfs搞不动,思路和正确思路差不多,还是没能搞出来。。弱啊,多想上次蓝多想打次div1在寒假。不急不躁,慢慢搞吧,量变引起质变就差不多了,每次把div200人以上的自己做一遍,不信上不去了。这个题就是想着怎么不超时。ban数组没想到,遍历没访问过的数,#include#define pb push_back#define mp make_pairusing namespa原创 2018-02-03 16:54:25 · 181 阅读 · 0 评论 -
Wannafly模拟赛5 D Aria
抠脚了开始,练next_permutataion()都不会用了,差点就手打出来了。。。抠脚了#include #include #include #include using namespace std;int maxn=0,n,a[6];void dfs(int tmp,int cnt){ maxn=max(maxn,tmp); if(cnt>=n)return原创 2017-11-03 21:43:31 · 280 阅读 · 0 评论 -
Codeforces Round #442 (Div. 2) Olya and Energy Drinks(搜索 bfs 套路题)
根据题目可知,这个只允许每个节点搜一次,4个方向,所以只要访问过,就可以break;因为深搜的话,同一个方向,如果已经搜过,不可能再有一个比以前的节点小。这个深搜新套路,学习了,虽然我开始也想搜索,但是我掌握的搜索没有一个在这个时间复杂度过题的直接看了别人的代码,并找了队友错误代码,给他改成正确的,学到了这个套路。#includeusing namespace std;typedef _原创 2017-10-25 16:21:01 · 328 阅读 · 0 评论 -
hdu 6201 transaction transaction transaction
暴力搜索+剪枝直接过,和一个简单的dp思想有点关系,就是那个最大连续子序列和#include using namespace std;const int maxn=100009;vector>g[maxn];int a[maxn];int dfs(int k,int fa){ // printf("%d %d\n",k,fa); //getchar(); i原创 2017-09-10 20:49:59 · 352 阅读 · 0 评论 -
Ilya And The Tree
题意:求根节点到所有叶子节点,所有路径上的点的最大公约数,可以让一个点为0,暴力搜索,set去重#includeusing namespace std;typedef long long ll;#define pb push_backvector g[200005];sets[200005];int a[200005];void dfs(int x,int fa,int now)原创 2017-08-30 19:40:45 · 352 阅读 · 0 评论 -
UPC 1053 Mysterious Treasure (记忆化搜索)
DescriptionWNJXYK and DIDIDI is playing a game. DIDIDI draws a directed graph G on the paper which contains n points, m directed edges and no cycle. WNJXYK starts from point 1. For every round, WN原创 2017-08-28 12:31:31 · 415 阅读 · 0 评论 -
hdu 6113 度度熊的01世界
中文题竟然都没静下心去看题,不得不说现在的我有点飘了,简单的dfs。。。#include#include#include#include#includeusing namespace std;bool vis[105][105];int map1[105][105];int dir[4][2]= {0,1,0,-1,1,0,-1,0};int n,m,N;void dfs(原创 2017-08-14 10:29:24 · 260 阅读 · 0 评论 -
HDU1728 逃离迷宫
好久不练搜索,也停更了很长时间。一做题忘了很多注意事项,做了两个小时,发现很多不对的地方,最后发现思路不太对,这种要更换思路。慢慢开始参考下别人的代码(1)即一条路走到底,如果出队拓展路径或者一直往前延展且没有被标记那么则step++;(2)遇到已经走过的(已标记),说明这个节点的最小拐弯数不是它,经过它,但拐弯数不增加,继续往前走。(3)比较最先一个到达出口的拐弯原创 2017-07-26 16:38:45 · 250 阅读 · 0 评论 -
hdu 6060 RXD and dividing (dfs)
怎么说呢,比赛的时候没看懂题,对就是没看懂题,应该多读几遍题,不要浮躁,浮躁解决不了问题,求得是最大的res,f(s)是最小的,就是求1-s的最短路径吧,说的应该是唯一的那条路径,不要走1-2-1-2-3直接1-2-3;然后求res最大原创 2017-08-08 09:26:03 · 225 阅读 · 0 评论 -
L2-016. 愿天下有情人都是失散多年的兄妹-PAT团体程序设计天梯赛GPLT
#include #include #include #include using namespace std;struct node { int f, m, sex;};node v[100010];int level[100010];bool exist[100010];int main(){ int n,m,id,father,mother,a,b;原创 2017-03-20 20:41:02 · 413 阅读 · 0 评论 -
poj 2531 Network Saboteur
题意就是把节点分成A、B两组,节点间距C给了,要求解分组的方法,使得∑Cij (i∈A,j∈B)最大。#include #include #include #include #include #define MAX 25using namespace std;int a[MAX],b[MAX],map1[MAX][MAX],n;int max1=0;void cnt(int原创 2017-03-03 13:13:39 · 321 阅读 · 0 评论 -
poj 3126 Prime Path
问题描述:给定两个素数a b,求a变幻到b需要几步 并且变幻时只有一个数字不同,并且是素数思路:我开始怎么都没想到用bfs 我只记得做过这个,看了别人的思路才想起来,一天不做,费3天.。把所有的素数打表,然后bfs深搜#include #include #include #include #include #include using name原创 2017-02-02 11:24:59 · 333 阅读 · 0 评论 -
HDU1226 超级密码
#include #include #include #include #include using namespace std; #define MAXN 555 #define MAXM 5555 /* 先解释下,这个是用bfs广度搜索是否成立,不断让那些数字打入数组num,看是否成立 大数模运算,只要成立就输出退出,不成立就继续,因为不能有重复的余数,所以不会死循环 不原创 2016-10-19 20:11:14 · 410 阅读 · 0 评论 -
poj 1011 stick
这里有两个重要的剪枝一个是去重复,一个是sum%max1 ,开始用的直接深搜,时间超了,应改用最大的棒长度往后面加,尽量减少运算时间,剪枝。。你还要我怎样,要怎样,才能减到你满意。。。#include#include #include #include using namespace std; bool cmp(int a,int b) { return a>b;原创 2016-10-19 17:16:38 · 315 阅读 · 0 评论 -
poj 1020 Anniversary Cake
有一块边长为Big的正方形的大蛋糕,现在给出n块不同尺寸的正方形的小蛋糕的边长,问是否能把大蛋糕按恰好切割为这n块小蛋糕,要求每块小蛋糕必须为整块。思路:把每块小蛋糕放进边为big的盒子里,dfs从大块到小块放,想到了这个思路,但还是不会敲代码,可能是敲得少,想不出怎么设置数组,怎么来判断错误的条件。参考acm之家的Java代码写出c的#include#include int s原创 2016-10-19 16:05:39 · 371 阅读 · 0 评论 -
hihoCoder 搜索一·24点
这是一道神奇的题,神奇的不可描述ac#include #include #include using namespace std; double a[4]; bool flag; double cnt(double a,double b,int k) { double s=0.0; switch(k) {原创 2016-10-18 20:55:09 · 299 阅读 · 0 评论 -
CCF 201604-4 游戏(100)
试题编号: 201604-4 试题名称: 游戏 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 小明在玩一个电脑游戏,游戏在一个n×m的方格图上进行,小明控制的角色开始的时候站在第一行第一列,目标是前往第n行第m列。 方格图上有一些方格是始终安全的,有一些在一段时间是危险的,如果小明控制的角色到达一...原创 2019-02-20 14:52:15 · 262 阅读 · 0 评论