dfs
Spidy_harker
这个作者很懒,什么都没留下…
展开
-
Treasure Map(ZOJ - 3209)
Your boss once had got many copies of a treasure map. Unfortunately, all the copies are now broken to many rectangular pieces, and what make it worse, he has lost some of the pieces. Luckily, it is po...原创 2020-03-26 08:29:08 · 390 阅读 · 0 评论 -
Sudoku (POJ3047)/Sudoku(ZOJ3122)
思路:1.情况数:9 * 9 * 9 (81格,每格有9个状态)2.条件数:每个格子是否已填写,每行,每列,每宫的数不重复(数独的规则),共9 * 9 * 4种3.情况数对应行数,条件数对应列数,这样就能转化为精准覆盖的问题了,选择81行保证每一列有且仅有一个1.4.行分配:每个格子有9种情况,则给每个格子分配9行,在该9行内,第x行填1,表示这个格子填了x(1~9)。那么坐标(i,j)填...原创 2020-03-26 07:26:02 · 268 阅读 · 0 评论 -
DLX算法模板(注释详解)
struct DLX{ int n,m;///行列的规模 int u[maxnode],d[maxnode],l[maxnode],r[maxnode];///结点四个方向的指针 int col[maxnode],row[maxnode];///结点的行列指针 int h[maxn],s[maxn]; ///h[]行首结点(额外的行结点),s[]每一列的个...原创 2020-03-25 16:50:43 · 754 阅读 · 0 评论 -
神龙的难题(FZU - 1686)
这是个剑与魔法的世界.英雄和魔物同在,动荡和安定并存.但总的来说,库尔特王国是个安宁的国家,人民安居乐业,魔物也比较少.但是.总有一些魔物不时会进入城市附近,干扰人民的生活.就要有一些人出来守护居民们不被魔物侵害.魔法使艾米莉就是这样的一个人.她骑着她的坐骑,神龙米格拉一起消灭干扰人类生存的魔物,维护王国的安定.艾米莉希望能够在损伤最小的前提下完成任务.每次战斗前,她都用时间停止魔法停住时间,然后...原创 2020-03-25 16:42:25 · 306 阅读 · 0 评论 -
DNA sequence(HDU - 1560)
The twenty-first century is a biology-technology developing century. We know that a gene is made of DNA. The nucleotide bases from which DNA is built are A(adenine), C(cytosine), G(guanine), and T(thy...原创 2020-03-17 23:28:47 · 413 阅读 · 0 评论 -
Escape(HDU - 3533)
The students of the HEU are maneuvering for their military training.The red army and the blue army are at war today. The blue army finds that Little A is the spy of the red army, so Little A has to e...原创 2020-03-17 20:37:00 · 216 阅读 · 0 评论 -
哈密顿绕行世界问题(HDU - 2181)
一个规则的实心十二面体,它的 20个顶点标出世界著名的20个城市,你从一个城市出发经过每个城市刚好一次后回到出发的城市。Input前20行的第i行有3个数,表示与第i个城市相邻的3个城市.第20行以后每行有1个数m,m<=20,m>=1.m=0退出.Output输出从第m个城市出发经过每个城市1次又回到m的所有路线,如有多条路线,按字典序输出,每行1条路线.每行首先输出是第几条...原创 2020-03-17 12:02:34 · 276 阅读 · 0 评论 -
E - Find The Multiple (POJ - 1426)
Given a positive integer n, write a program to find out a nonzero multiple m of n whose decimal representation contains only the digits 0 and 1. You may assume that n is not greater than 200 and there...原创 2020-03-16 23:17:26 · 11062 阅读 · 0 评论 -
搜索总结
组合数输出#include <iostream>#include <cstdio>#include <vector>using namespace std;typedef long long ll;int n,m;vector<int> v;void slove(int x){ if(v.size()==m)///组合数...原创 2019-10-01 16:22:12 · 581 阅读 · 0 评论 -
字母游戏(dfs+剪枝)
问题 S: 【搜索】字母游戏题目:一种单人玩的游戏,规则为:在一个R行C列的方格上,每个方格中有一个A~Z的字母。游戏从左上角(第一行,第一列)位置开始,一步一步地向相邻(上、下、左、右)方格移动。唯一的限制是路径上的方格中的字母,每种字母只能出现1次。游戏的目标是走尽可能长的路径。请你写程序算出指定棋盘上,可能走的最长步数。输入第1行两个整数R和C(1≤R,C≤20);后面R行每行...原创 2019-09-26 22:52:51 · 561 阅读 · 0 评论 -
问题 I: 递归/非递归实现组合型枚举
题目#include <iostream>#include <cstdio>#include <vector>using namespace std;int n,m;vector<int>temp,ans;void slove(int index,int len){ if(index>n+1) return; ...原创 2019-08-17 20:52:23 · 257 阅读 · 0 评论 -
问题G 送礼物(折半dfs+二分)
题目思路:先搜后一半的所有可能的组合,然后排序,搜前一半和组合的权值和加上前一半的组合的权值和(二分搜索出一个rec[i],让其和val的和不大于w的情况),更新ans;#include <cstdio>#include <iostream>#define ll long longusing namespace std;ll w,n,tot,ans;ll a[...原创 2019-08-15 23:07:25 · 296 阅读 · 0 评论 -
问题 A: 可达性统计
题目过程:一开始我直接拿bfs跑,没有用去重,导致一个节点重复算了多次,使用了bitset的位运算|去重后,答案才对,bitset大法好(bitset还省空间);思路:前向星建图,将所有的visit[u][u]初始化为1(自己和自己相连),如果一个点u只和本身相连就dfs一下,遍历所有与u相连的点v,visit[u]=visit[u]|visit[v] ,并一下则所有使visit[t][i]=...原创 2019-08-13 21:38:16 · 194 阅读 · 0 评论 -
DFS写背包问题
dfs解决背包问题#include &amp;lt;iostream&amp;gt;///用深搜写using namespace std;int weight,maxvalue=0,n;///背包中能放物品的总质量weight,最大价值maxvalue,总的物品数量int v[30],w[30];///物品的数量和价值void dfs(int index,int sumw,int sumv)///第i...原创 2019-03-13 09:06:19 · 413 阅读 · 0 评论 -
n皇后问题(深搜dfs/回溯)
直接上代码附有解析#include<bits/stdc++.h>using namespace std;struct node///坐标数组{ int x,y;}Node[15];bool visit[15]={false};int n,ans=0;bool check(node a,node b)///判断是否在同一对角线上{ if(abs(a.y-...原创 2019-03-23 10:59:49 · 394 阅读 · 0 评论 -
洛谷 P1101 单词方阵
P1101 单词方阵题解使用染色的方法,一条路染下去,注意只往一个方向染色;上代码#include <iostream>#include<string>#include<cstdio>using namespace std;const string p="yizhong";int n;///棋盘大小///增量数组,八个方向int X[8]=...原创 2019-04-05 11:18:05 · 357 阅读 · 0 评论 -
洛谷P1506(DFS染色问题)
P1506 拯救oibh总部题目背景oibh总部突然被水淹没了!现在需要你的救援……题目描述oibh被突来的洪水淹没了>.<还好oibh总部有在某些重要的地方起一些围墙,用号表示,而一个封闭的号区域洪水是进不去的……现在给出oibh的围墙建设图,问oibh总部没被淹到的重要区域(由"0"表示)有多少。输入输出格式输入格式:第一行是两个数,x和y(x,y<=500)...原创 2019-04-01 22:09:32 · 424 阅读 · 0 评论 -
P1162 填涂颜色(dfs染色问题)
题目描述由数字00组成的方阵中,有一任意形状闭合圈,闭合圈由数字11构成,围圈时只走上下左右44个方向。现要求把闭合圈内的所有空间都填写成22.例如:6 \times 66×6的方阵(n=6n=6),涂色前和涂色后的方阵如下:0 0 0 0 0 00 0 1 1 1 10 1 1 0 0 11 1 0 0 0 11 0 0 0 0 11 1 1 1 1 10 0 0 0 0 00...原创 2019-04-01 22:31:54 · 262 阅读 · 0 评论 -
洛谷P1019
题目描述单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合部分合为一部分,例如 beastbeast和astonishastonish,如果接成一条龙则变为beastonishbeastonish,另外相邻的两部分不能存在包含关系,例如atat 和 atid...原创 2019-04-11 20:14:26 · 333 阅读 · 0 评论 -
P1164 小A点菜(两种解法dfs+剪枝/dp)
题目dfs+剪枝#include <iostream>using namespace std;bool visit[1005]={false};int ans=0;int n,mon;int w[1005];///菜品价格int cnt1=0,cnt=0;///01背包用搜索解决,每个东西只能选一次,注意index的使用!!!void dfs(int money,...原创 2019-04-11 22:34:14 · 453 阅读 · 0 评论 -
P1706 全排列
题目题解:dfs,并且将每一层的数字都用一个数组path[ ]储存起来即可上代码:#include <iostream>#include <cstdio>using namespace std;int visit[10]={false};int path[10];int k;void print(int index){ if(index==k+1...原创 2019-05-20 21:39:48 · 323 阅读 · 0 评论 -
问题 B: 小猫爬山
题目题解:本题是按车来搜索,前面cars辆车能否将cats只猫装完,不行就多一辆车,接着搜#include <iostream>#include <algorithm>using namespace std;int cmp(int a,int b){return a>b;}bool visit[20]={false};int weight ,n,w[20...原创 2019-06-01 21:47:01 · 301 阅读 · 0 评论 -
POJ1321 棋盘游戏
dfs模板题直接上代码及分析#include &lt;iostream&gt;#include&lt;algorithm&gt;#include&lt;string.h&gt;using namespace std;typedef long long ll;ll n,k,qz=0,cnt=0;int visit[10];char a[15][15];void dfs(ll原创 2019-03-09 12:31:54 · 342 阅读 · 0 评论