码迷,mamicode.com
首页 >  
搜索关键字:剪枝    ( 1397个结果
poj 2585 Window Pains 暴力枚举排列
题意: 在4*4的格子中有9个窗口,窗口会覆盖它之下的窗口,问是否存在一个窗口放置的顺序使得最后的结果与输入相同。 分析: 在数据规模较小且不需要剪枝的情况下可以暴力(思路清晰代码简单),暴力一般分为枚举子集(for(s=0;s 代码: //poj 2585 //sep9 #include #include using namespace std; int order[10]; in...
分类:Windows程序   时间:2015-03-18 14:05:25    阅读次数:188
POJ 2676/2918 数独(dfs)
思路:记录每行每列每个宫已经出现的数字即可,数据比较弱 另外POJ 3074 3076 必须用剪枝策略,但实现较麻烦,还是以后学了DLX再来做吧 //Accepted 160K 0MS #include #include #include #include using namespace std; const int N =15; char sudo[N][N]; bool visr[N][...
分类:其他好文   时间:2015-03-15 15:17:40    阅读次数:126
uva529 迭代加深+必要剪枝
// // main.cpp // 529 // // Created by Fangpin on 15/3/14. // Copyright (c) 2015年 FangPin. All rights reserved. // #include #include using namespace std; int a[10005]={1,2},n; bool ok; void dfs...
分类:其他好文   时间:2015-03-15 13:54:33    阅读次数:130
HDU 1560 IDA*搜索
用N个串中找到最短的公共串(不要求连续,只要相对位置一样即可) 迭代加深搜索即可 剪枝:当前的深度+最少还有加深的深度是否大于限制的长度,若是,则退回。 #include "stdio.h" #include "string.h" const char ch[10]="ATCG"; int deep,n; char s[10][10]; int pos[10]; int Max(...
分类:其他好文   时间:2015-03-13 18:52:07    阅读次数:190
poj2531——dfs递归枚举+小剪枝
POJ 2531 dfs递归枚举Network SaboteurTime Limit:2000MSMemory Limit:65536KTotal Submissions:9580Accepted:4560DescriptionA university network is composed of ...
分类:其他好文   时间:2015-03-13 16:18:40    阅读次数:155
UVa 208 救火车
题意:先给出离出火地点最近的路口,然后给出一些之间通畅的路口。要求给出所有从1号路口到火灾事故点的不含回路的简单路径。 思路:方法很容易想到,dfs即可。但是简单的dfs会超时,3s+. 之后看别人用了并查集,去了解了下并查集的思想。这里可以通过并查集提前判断一个路口是否和火灾路口想通,如果不通,则直接剪枝了。别看仅这一个优化,最后AC时间0.022,性能提升还是很多的。因为你早早地剪去一个结点...
分类:其他好文   时间:2015-03-12 22:39:11    阅读次数:190
140 - Bandwidth(DFS+回溯)
第一次写回溯。。发生了很多错误(虽然回溯应该是很简单的算法了,就是剪剪枝而已) 可能也有思考不全的因素,一开始老是想多减点枝,结果减多了。。虽然第一次的时间确实很可观。~ 有一点可能很uva上题目的描述不一样,uva上说a single upper case character in the the range `A' to `Z'), followed by a `:'   节点只有一个的...
分类:其他好文   时间:2015-03-12 19:20:25    阅读次数:144
hdoj--1010<dfs+奇偶剪枝>
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1010题目描述:在n*m的矩阵中,有一起点和终点,中间有墙,给出起点终点和墙,并给出步数,在该步数情况下走到终点,走过的点不能再走;题目要点:dfs+奇偶剪枝;输入; 本题用dfs可以做出结果,但是会.....
分类:其他好文   时间:2015-03-11 00:24:27    阅读次数:227
HDU 1175 连连看(BFS)
题意解析:其实就是判断起始点能否到达终止点。如果起始点和终止点值不同,直接输出NO。bfs,dfs都行。 附加条件:①不能出边界                   ②不能走值为0的点                   ③路径不能转向两次以上 节点需要记录该点的坐标,方向,转向次数。下面是BFS代码(注意剪枝:超过两次的就不要再加入队列了) #include #include #inc...
分类:其他好文   时间:2015-03-10 19:31:53    阅读次数:138
Codeforces 484B Maximum Value(高效+二分)
题目链接:Codeforces 484B Maximum Value题目大意:给定一个序列,找到连个数ai和aj,ai%aj尽量大,而且ai≥aj解题思路:类似于素数筛选法的方式,每次枚举aj,然后枚举k,每次用二分找到小于k?aj而且最大的ai,维护答案,过程中加了一些剪枝。#include #i...
分类:其他好文   时间:2015-03-10 13:37:12    阅读次数:182
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!