
DFS
文章平均质量分 78
kk303
这个作者很懒,什么都没留下…
展开
-
POJ3140 - 树的DFS
题目抽象成模型就是给了N个点...每个点都有权值..知道这N个点连线的关系...问..去掉一条边...使两边点的总权之差最小....不会出现环路...每条边都是双向的... 其实这个图就是一棵树...开始找这题是想练树型DP...但发现这题直接DFS就可以了... .做原创 2011-08-30 21:46:52 · 2246 阅读 · 0 评论 -
POJ-2837 DFS时不一定要用栈~
题目很简单......但DFS时不断的递归回朔不仅使得时间效率很低...在跑9这个输入时..连系统栈都给爆了..其实仔细的思考..这题是DFS..但是可以不用栈..因为搜到了一个位置..可以很明确的知道若是失败了..我该跳回哪里..并且跳回去我还要尝试搜索哪些数..直接用个while循环就可以了...Program:#include#include#include#inclu原创 2012-03-11 13:24:16 · 1274 阅读 · 0 评论 -
The 37th ACM/ICPC Asia Regional Tianjin Site Online Contest - G Travel
这道题比赛的时候我做了2个多钟头..最后还是没过..各种都觉得和谐...刚才才发现是因为一个分号..在输入里的一个if语句后加了分号..使得这个判断失效了..囧暴了...去掉分号..果断AC... 首先当然是Floyd了..得到两两间的最短距离...方法一: 也就是我比赛的时候这么写的...用DP来解旅行商问题...15个城市可以用15位二进制数表示.最大32767...用dp[原创 2012-09-10 21:00:18 · 1914 阅读 · 1 评论 -
The 37th ACM/ICPC Asia Regional JinHua Site Online Contest - D,F
D - A very hard Aoshu problem 数据范围很小呃... 暴力搜索即可...枚举等号的位置...再DFS得出左边的值..再DFS找右边有多少种方案可以等于左边的加法值...Program:#include#include#include#include#include#include#include#include#define原创 2012-09-22 19:32:18 · 2854 阅读 · 0 评论 -
第八届湖南省大学生程序设计大赛 - 笑不语@USC 随笔,感想,解题报告
第八届湖南省大学生程序设计大赛原题+最终榜单: http://pan.baidu.com/share/link?shareid=87473&uk=1124339433/ 南华大学终于在省里拿到了一等奖!继续向着省内一流队伍迈进! 其实这一向水题的手感都怪怪的..包括赛前一天的试机..状态一直都不好..直到试机中有道题..晚上想通了..瞬间感觉豁然开朗... 解题原创 2012-10-14 13:03:07 · 4983 阅读 · 17 评论 -
The 37th ACM/ICPC Asia Regional HangZhou Site Online Contest - F
本题通过率相当低....原因是绝大多数队都是直接贪心吧...找出A最小且B不为0的怪作为入口..可以将所有的B不为0的怪连起来...而中间的间隔可以把 B为0的怪干掉....最后再一一消灭 B 为0的怪...但这种思路是不全面的...如下列数据: 6 20 10 2 10 2 100 0 100 0 100 0 100原创 2012-09-23 17:10:31 · 2909 阅读 · 6 评论 -
CodeForces Round #191 (327D) - Block Tower DFS
首先将所有的.变为B 对于一个联通的B区域....可以从边界开始变R..直到只剩下一个B... 但是直接要找到边界的点..然后逼退到只剩一个B..不方便..不如DFS...从任意一个B进入..回朔的时候将B变为R...保证顺序..Program:#include#include#include#include#include#include#in原创 2013-07-15 12:31:42 · 1036 阅读 · 0 评论 -
HDOJ 4739 - Zhuge Liang's Mines 暴力DFS
题意: 给了N个点(N 题解: 直接暴力DFS就行了..每次确定一个正方形.再深入..更新答案..Program:#include#include#include#include#include#include#include#define ll l原创 2013-09-15 22:54:32 · 1621 阅读 · 0 评论 -
HDOJ 4751 - Divide Groups 暴力DFS
题意: 有一群人,有的人认识某些人(认识的关系是单向的)...现在需要将这些人分成两个部分,而一个好的部分为以下定义: 1、一个部分的人数多少与好坏无关 2、一个部分中所有的人都是两两认识的 问能否将所有的原创 2013-09-21 20:41:26 · 1610 阅读 · 0 评论 -
Aizu 1317 - Weaker than Planned 注意DFS时的顺序
题意: 已知密文和明文的转换时通过二元对应关系来的...如f(A,Z)代表在明文中的A将在密文中以Z代替...并且也代表了明文中的Z在密文中以A代替... 现在给了一些明文的单词(至多20个)...再给了一串密文..已知这串密文是由上面某些明文的单词变换而组成的..现在问能否唯一确定密文对应的明文...原创 2013-11-29 12:23:25 · 956 阅读 · 0 评论 -
POJ - 2641 ..图的最长路经..
这道题是说给出了一个无环的无向连通图..问两点间的最长距离是多少..点很多..图只能用链表来记录~~ 其实无环的无向图就是一颗树了..而最长路经必然是从一个叶子到另一个叶子..我开始直接暴力枚举每个点来DFS找最长路经~~结果不是TLE..而是WA了...不知所然.. 后面参考了下discuss里的两次DFS方法...就是从任意点DFS一次..用这次DFS最远的点再DF原创 2012-02-18 23:37:07 · 1400 阅读 · 0 评论 -
USACO Section 5.4 All Latin Squares - DFS剪枝,我只能做出5个点..
Nocow里给出的三个剪枝... 1、可以先确定第一列为(1,2,3,4,5..)再从(2,2)开始搜中间一驼...做出来的结果乘上(N-1)!就是解...这个很好想.. 2、搜出了N-1行...第N行就不用搜了..肯定是ok的...因为若最后一行不满足条件...前面是不可能都满足要求的... 3、置换圈...我只能说我搞懂置换圈是什么个原创 2012-02-16 21:47:51 · 1160 阅读 · 0 评论 -
USACO Section 1.4 packrec - 不是太好写的搜索水题
我也是开始题目看错了..以为是要着4个方块任意放置放出最小的矩阵...后来才发现也就6种情况...题目所给的那6个...输出也有点恶心..先输出最小面积..然后输出每个矩形的长宽..每个矩形输出的话先输出短边再输出长边...所有矩阵的顺序是先输出短边最短的..短边相等的输出长边较短的...依次..不重复输出矩阵... 我的方法是先枚举好4个矩阵(那个以90度或者原样对应着哪一个)...原创 2011-11-11 19:13:35 · 1078 阅读 · 0 评论 -
USACO Section 4.1 Cryptcowgraphy - BT的DFS剪枝..
开始做的时候就想到是搜索...写完了样例就跑过了..然后提交就超时..后来再一想..裸搜时间复杂度高得惊人阿..做了几个优化..还是N久跑不出结果...我以为搜索是搜不过的...就想用其他方法来解决..但纠结了很久也没有个明确方向.. 写了一天..实在是没辙了..就去网上搜了下解题报告..发现其实是搜索~~关键还是在于剪枝~~~我原来的搜索剪枝真是弱爆了.. 1.C.原创 2012-01-10 12:33:26 · 1119 阅读 · 0 评论 -
USACO Section 4.3 The Primes - 好恶心的搜索
看题目名字是质数..以为是水题...读完题目更觉得是水题..范围这么小..先打个质数表不就秒了么~~结果...纠结了一下午一晚上..写了150行代码终于整出来了...确实这题就是搜索..但要讲究策略. 1.先打表是必须的..注意的是这个表打得是既是素数且每位相加又是所要求的数的5位数..并且了为避免重复计算..在这里就可以把每个符合要求的数给拆分好记录... 2.我这里不论是确原创 2012-01-17 22:31:10 · 1293 阅读 · 0 评论 -
USACO Section 4.4 Frame Up - DFS即可~
无敌大水题一道...只可惜我太粗心了送了3次WA和1次爆数组才给过...囧..开始题目看错了...题目是要求出所有的涂色方案...并且按字典序输出..一种方案输出一行~~ 数据范围很小阿..整个图也就30*30...所出现的也就A-Z的26个大写字母..而且还没有重复...为了方便搜索..我在开始就记录好了A-Z矩形方框的X,Y最大值和最小值~~也就是定位好了每个框框...然后就一个个枚原创 2012-01-20 23:36:12 · 1241 阅读 · 0 评论 -
USACO Section 5.2 Snail Trail - 很水的枚举..
就按题目要求枚举出所有情况吧~~~就是从1,1开始DFS...值得注意的是其实一条路径结束的条件除了碰到自己~~还有就是被边境或#给夹得没地方去~~我就因为少考虑了这个WA了一次....Program:/* ID: zzyzzy12 LANG: C++ TASK: snail*/ #include #include #include原创 2012-01-26 23:43:15 · 870 阅读 · 0 评论 -
USACO Section 4.4 Shuttle Puzzle - Hash都不用的DFS水题..
龙年第一题~~~这题开始以为搜索会超时~~要用构造才行~~我这找了好久规律~~也没找出构造的方法~~~就写搜索了... 搜索的时候要注意方法和顺序...显然的是W只能往右移..B只能往左移~~否则不可能得到最小步数的解~~然后也能想到的其实只要每次都保证了W右移,B左移~~最小总步数一开始就是确定的...而如果在移的时候先尝试WB_ -> _BW...再尝试W_ -> _W 再尝试_B原创 2012-01-23 12:53:20 · 1421 阅读 · 3 评论 -
USACO Section 5.1 Starry Night - 有点麻烦写的题..
这道题应该一看~~基本思路就出来~~从左上角扫到右下角~~扫一个没更新过的连通块...就先与前面已经确定的比较...并且是翻成八种情况都来比较...若有符合的~~那么就确定这个连通块是前面哪个相同的...若无一符合~~就计数器++..发现新的连通块~~~但仔细想想...会好麻烦的感觉.. 我是这么处理的 : 1.记录前面的连通块..我就是记录了连通块上的某点坐标..因为原创 2012-01-24 23:06:32 · 865 阅读 · 0 评论 -
USACO Section 5.2 Wisconsin Squares - 按要求DFS就行了..
这题真搞~就一组数据....囧~~~ 按他的要求枚举搜索就ok了..当然要输出字典序最小的解~~~那就按字典序来搜索..除了最开始是确定D..后面的都是先确定较小的A,B,C,D,E..再确定较小的Y..再确定较小的X...如此搜出的第一个解就是字典序最小的答案... 开始还想着Hash...结果写完了样例过了...一交就A了...似乎这题不需要Hash..原创 2012-01-29 12:58:13 · 861 阅读 · 0 评论 -
USACO Section 3.3 Riding The Fences - 欧拉回路
这题要求一条路径走完所有的边并且不重复经过任意一条边...很典型的欧拉回路问题..关于欧拉回路本节的TXT就有介绍算法了... 首先一个连通的无向图如果所有的点度数位2存在欧拉回路(想象一个首尾相接的圈,如果两点间不止一条边,那么稍微变化下也能到所有点)...如果一个连通无向图有两个点的度为奇数也存在欧拉回路.并且这个回路一定是以这两点为起点终点的(想象一个直线...两端的度为1,中间的原创 2011-12-27 21:22:16 · 1619 阅读 · 0 评论 -
POJ - 2362 - 搜索顺序和方法很重要..
最开始这题我是想4条边分开看..找到一种方法填满第一条边,再填第二条....直道第四条添满..则说明找到一组解....但是WA了..不知道为什么不行..感觉上相互是没有联系的..但Discuss里的不少数据确实证明这种方法是不可行的... 然后就是搜索罗...因为长的线段显然对结果影响更大..所以将线段从大到小排序...开始我的搜索是让每个线段往4条边上分别尝试着放..直道所有线段放好.原创 2012-02-21 14:04:42 · 786 阅读 · 0 评论 -
POJ - 1011 搜索剪枝
POJ2392和这题很类似~~只是这题更加强悍些~~~除了2392里要注意的搜索方式以及搜索顺序从大的到小外还有更多要注意的.. 1、这个长度肯定是总长度的约数...再一个这个数肯定是原始木棍长度要大于等于处理后最长的木棍...所以从输入中最长的开始递增枚举答案.. 2、若a,b木棍长度相等..以a搜下去找不到答案..就没必要再从b往下搜了..具体的实现..当排好序就很方便原创 2012-02-22 11:32:19 · 1048 阅读 · 0 评论 -
Google APAC 2016 University Graduates Test Round A
今天手感还算不错,出了三个题,也有不顺的时候,要不第四题水个小数据或许可以混进前100。总的来说题目很简单,没有什么复杂的东西。A - Googol String题意:目前只考虑包含'0','1'的字符串,有两个操作Switch与Reverse...其中Switch将其中的'0'变成'1','1'变成'0', Reverse将字符串反转定义:S0=""Sn=Sn-1原创 2015-08-23 17:48:11 · 2664 阅读 · 7 评论