题目大意:
在n个数中选取k个数,是他们的按位与最小。
思路分析:
开始往dp想,但是这道题是不满足子问题的。
当前的值最小,但是丢掉了和后面的1错开的最多的状态。
暴搜的剪枝:
1.与后面所有的树相与都比ans小,剪掉,因为越与越小。
2.先将所有的数排序,先取小的。
3.ans可以不断更新,不需要达到k的时候更新,原因和1相同。
#include
#incl...
分类:
其他好文 时间:
2014-08-27 16:33:38
阅读次数:
158
题意:
一幅有向图是不是仙人掌
思路:
有向图仙人掌是强连通图且每条边最多只属于一个环
一幅有向图是仙人掌当且仅当满足3个条件:
1、dfs树无横向边
2、对于节点u的所有儿子v,它们的low[v]
3、满足low[v]
证明见 http://download.csdn.net/detail/kksleric/4502360
代码:
#include
#include
#i...
分类:
其他好文 时间:
2014-08-27 14:43:58
阅读次数:
196
http://cojs.tk/cogs/problem/problem.php?pid=710近日开始刷水。。。此题我为了练一下hash。。。但是hash跑得比暴力还慢。。不言而喻。。。#include #include #include #include #include #include #in...
分类:
其他好文 时间:
2014-08-27 14:39:08
阅读次数:
208
题意:
给一个图,每个点有点权,每两个点最多有一条边相连,每个点至少和一个点通过边相连。
要找出这样一个团,使得团内所有的点两两都有边相连且边不交叉,并且点权最大。
算法:
由于两两连边且边不能交叉,可知最多有4个点。所以暴搜~
dfs出4个位置放什么元素,一边判断放的点与前面的点是否是两两连边,一边更新ans。
开始一直当做3个点和4个点在写,忘了考虑1个点和2个点。...
分类:
其他好文 时间:
2014-08-27 10:55:27
阅读次数:
200
一个非常有意思的 BFS+DFS。附 数据。本来今天的任务是多重背包,结果为了帮别人找WA点,自己也坑在这道题上了。最后想了一组自己都没过的数据…发现想法都不正确…果断换思路了。正确思路是以箱子为起点做BFS找最短。每次移动的时候DFS推断人能不能移动到箱子的后面。開始就我写一个BFS,什么数据都过...
分类:
其他好文 时间:
2014-08-27 10:52:07
阅读次数:
224
题意:找最短的木棍能够组成的长度,
hdoj 1518 的加强版
代码:
#include
#include
#include
using std::sort;
#define M 70
int s[M], vis[M];
int n, ans;
int cmp(int a, int b)
{
return a > b;
}
int dfs(int cou, int cur, ...
分类:
其他好文 时间:
2014-08-27 09:28:37
阅读次数:
158
题意:给出n个(不同长度的)棍子,问能不能将他们构成一个正方形。
策略:深搜。...
分类:
其他好文 时间:
2014-08-27 08:11:47
阅读次数:
181
先发发牢骚:图论500题上说这题是最小生成树+DFS,网上搜题解也有人这么做。但是其实就是次小生成树。次小生成树完全当模版题。其中有一个小细节没注意,导致我几个小时一直在找错。有了模版要会用模版,然后慢慢融会贯通。我要走的路还长着啊。 讲讲次小生成树的思想吧。首先,在prim算法中做一些改变,...
分类:
其他好文 时间:
2014-08-27 00:13:56
阅读次数:
321
Hadoop Datanode节点无法启动(All directories in dfs.data.dir are invalid)java.io.IOException: All directories in dfs.datanode.data.dir are invalid: "/usr/loc...
分类:
其他好文 时间:
2014-08-26 21:23:27
阅读次数:
265
埃及分数迭代加深搜索题意:将一个分数拆分成几个分子为 1 的分数的和。要求拆分出的个数最少。正解:据说是黑书上的题目。思路很明确,用 ID-DFS 每次限定深度进行搜索即可。为了使序列不重复,每次找到的分数都要比前一个分数小,即分母比前一个分数的分母大。同时要保证当前的分数加上之前的分数之和不大于题...
分类:
其他好文 时间:
2014-08-26 21:21:46
阅读次数:
213