Dfs:大部分是直接递归枚举,即求满足约束条件下的解,虽不用剪枝,但也需要代码能力。练习递归枚举的题目:1241
Oil Deposits (dfs的连通块个数)1016 Prime Ring Problem1584
蜘蛛牌(简单dfs,简单的剪枝,还有人用DP做(???))1426 Sudoku ...
分类:
其他好文 时间:
2014-05-23 02:54:33
阅读次数:
301
version 1
从右到左排序,每次都尽可能的选打击范围内最右边的点安装雷达(由于浮点,所以不要一棒子打死的判断是大是小,给出一个精度范围,一开始范围给打了就WA),拿这个雷达去覆盖其他点,最后雷达总数一定是最少的
/*
poj 1328
264K 16MS
*/
#include
#include
#include
#include
#define MAXN 10...
分类:
其他好文 时间:
2014-05-23 02:23:38
阅读次数:
239
看到这种填合适的运算符之类的题目,第一感觉就是用dfs来枚举递归。
但邮箱道题目算法设计里面那么大的数据,想到有可能会超时。
用最直白的简单的方法dfs一遍后交上,超时。
——需要判重和边界结束条件。
在所有能剪断的地方痛下狠手,狂加特判+return;
然后就炒鸡快了
#include
#include
#include
#define ADD 32000
using namespa...
分类:
其他好文 时间:
2014-05-23 02:06:42
阅读次数:
285
题意:给你个矩阵,里面有n个标记的点,许多只青蛙在上面跳,每次跳的距离都是一样的且轨迹是直线,目标是从一边跳到另一边,求最多步数的青蛙
思路:排序后,枚举判断
#include
#include
#include
#include
using namespace std;
const int MAXN = 5050;
struct point{
int x,y;
void ini...
分类:
其他好文 时间:
2014-05-22 18:50:02
阅读次数:
255
最近不知道怎么了,一直在纠结,一直在摇摆。不知道为什么老是坐立不安,甚至得了焦虑症,我一直在担心未来,可我在担心什么呢?我不知道,害怕未来没有工作,害怕未来年龄大了,还没嫁出去。害怕未来不知道拿什么面对我的“三十而立”。可是害怕能解决什么问题呢?我又习惯地逃避着。麻木地习惯着,但未来不会因我的逃避而...
分类:
其他好文 时间:
2014-05-22 16:41:49
阅读次数:
238
什么叫魔法数字?就是在写代码的时候,我们经常会使用到一些数字,或者是用来switch,或者是用来赋值,虽然我们自己知道这些数字代表什么,但是别人可能有所疑惑,这样造成程序的可读性变差,这就是魔法数字。在程序开发中需要避免出现魔法数字解决办法:使用枚举或者是宏定义,来诠释数字1.枚举类型实质上就是一....
分类:
其他好文 时间:
2014-05-22 14:50:24
阅读次数:
520
题目链接:uva 11038 - How Many O's?
题目大意:写出m到n之间的数,问需要写多少个0.
解题思路:f(x)表示从0到x需要写多少个0,于是给出区间[m,n]就有答案等于f(n)-f(m-1)。剩下的就是f(x)该如何求。枚举每个位置上可能为0的情况,这样就将这个数分成两个部分,在保证组成的数小于x的前提下,计算可以的组成方法。
例:x=12345,枚举十位为0...
分类:
其他好文 时间:
2014-05-21 15:01:51
阅读次数:
192
POJ 3278 Catch That Cow
题目大意:
告诉你起点位置和终点位置,你可以有三种操作,从某个位置x,可以到达x-1,x+1,2*x,问你从起点到终点最短时间?
解题思路:
利用bfs枚举位置即可
但是刨除以下情况,也就是剪枝一下
1、当x终点位置时,x+1和2*x均不能到达
解题代码:见本文详细...
分类:
其他好文 时间:
2014-05-21 14:33:08
阅读次数:
241
活动安排问题要求高效地安排一系列争用某一公共资源的活动,贪心算法提供了一个简单的方法,使尽可能多的活动能兼容地使用公共资源。贪心算法并不总能求得问题的整体最优解,但对于活动安排问题,贪心算法却能做到,使得最终所确定的相容活动集合的规模最大,证明不在这里给出。代码如下:
def greedyManage(meeting):
length=len(meeting)
meeting.sort(ke...
分类:
编程语言 时间:
2014-05-21 14:13:42
阅读次数:
232