本题解法很多,因为给出的数据特殊性故此可以使用DFS和BFS,也可以使用01背包DP思想来解。
这里使用BFS,缺点是比DFS更加耗内存,不过优点是速度比DFS快。
当然也比DFS难写点:
int N, B;
int Height[21];
inline int mMin(int a, int b) { return a > b? b : a; }
inline int mMax(int a...
分类:
其他好文 时间:
2014-06-28 08:11:26
阅读次数:
238
UVA 10317 - Equating Equations 贪心 dfs
ACM
题目地址:UVA 10317 - Equating
Equations
题意:
给一个等式,但是这个等式不一定是正确的,要你对等式中的数字重新排序,使得等式成立。等式只有+和-,数字个数小于16。
分析:
以a + b - c = d - e为例子。
1. 我们把等式右边的各...
分类:
其他好文 时间:
2014-06-27 23:40:58
阅读次数:
260
问题 对某个库新增了一个订阅节点,然后需要把一些应用切到新订阅库,以分散负载。当应用切换后,有一个应用每次启动不到30秒,总是报超时的错误,而error log中又没有任何记录: Timeout expired. The timeout period elapsed prior to complet...
分类:
数据库 时间:
2014-06-26 15:42:25
阅读次数:
252
Description
在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。
Input
只有一行,包含两个数N,K ( 1
Output
方案数。
Sample Input
3 2
Sample Output
16
HINT
Sou...
分类:
其他好文 时间:
2014-06-26 14:33:46
阅读次数:
148
就是欧拉判定,判定之后就可以使用DFS求欧拉回路了。图论内容。
这里使用邻接矩阵会快很多速度。
这类题目都是十分困难的,光是定义的记录的数组变量就会是一大堆。
#include
#include
#include
#include
using namespace std;
struct Edge
{
int ed, des;
Edge(int e = 0, int d ...
分类:
其他好文 时间:
2014-06-26 13:16:05
阅读次数:
250
前面通过阅读代码知道了如何判断各个模块处理某个消息的先后顺序,那么内部是如何实现的呢?
每当一个模块表示对一个消息感兴趣的时候,就会调用IFloodlightProviderService(具体有Controller类实现)的addOFMessageListener方法进行注册订阅,核心工作是由 ListenerDispatcher类来完成:1)每次增加一个观察者的时候都会判断其是否是...
分类:
其他好文 时间:
2014-06-26 10:23:09
阅读次数:
237
做这个题的时候想到了,先来一遍最短路,判断是否可以到达,若可以减去最短路的花费,再在剩下的花费里进行DP求最优解,想到了但是没做到,很多细节没有处理好,结果崩盘了,唉,看题解很多人都是两边dfs,不过这位大牛也是先spfa了一遍, 给我这个弱菜看看 刚好,这篇好好记录下来,
最后参考了大牛的:http://blog.csdn.net/acm_cxlove/article/details...
分类:
其他好文 时间:
2014-06-26 07:07:46
阅读次数:
199