题目来源:POJ 2763 Housewife Wind
题意:给你一棵树 2种操作0 x 求当前点到x的最短路 然后当前的位置为x; 1 i x 将第i条边的权值置为x
思路:树上两点u, v距离为d[u]+d[v]-2*d[LCA(u,v)] 现在d数组是变化的 对应每一条边的变化 他修改的是一个区间 用时间戳处理每个点管辖的区域 然后用线段树修改 线段树的叶子节点村的是根到每一个点的距离...
Arbitrage
Problem Description
Arbitrage is the use of discrepancies in currency exchange rates to transform one unit of a currency into more than one unit of the same currency. For example, ...
分类:
其他好文 时间:
2014-07-16 10:05:49
阅读次数:
260
Wormholes
Time Limit: 2000MS
Memory Limit: 65536K
Total Submissions: 29971
Accepted: 10844
Description
While exploring his many farms, Farmer John has discovered a ...
分类:
其他好文 时间:
2014-07-15 12:40:21
阅读次数:
341
这同样是一道搜索题,所不同的是要搜索的图是三维的而不是二维的。但这并没什么大的改变,只是增加了两个搜索的方向而已。
要注意的地方是,所给出的起点终点的坐标是按照 列,行,层的顺序。
与DFS不同,BFS能保证所搜到的路径一定是最短路径,所以我们不需要维护一个多维(此处为3维)数组来记录访问到每一点的最小步数,只需要维护一个多维数组来标记是否走过就可以了。DFS中是要不停回溯来找最短路径的,但是BFS是不需要的。这是BFS本身的性质所决定的,BFS能保证第一次搜索到某一点时所走的路径就是到该点的最短路径。以后...
分类:
其他好文 时间:
2014-07-14 13:42:05
阅读次数:
181
点击打开链接
类似A strange lift的写法,之前一直返回RE,感觉有点不科学,数据较小。后来看discuss,居然输入还要考虑去重。
题意:略;
解析:最短路问题,但是有两种情况,因此需要根据具体情况来考虑。我采用的是构造两张图,然后在使用Dijkstra中将dis与cost放在一个结构体中,便于理解。其它就是A strange lift的一点变形
#include
#inc...
分类:
其他好文 时间:
2014-07-14 13:13:17
阅读次数:
288
#include
#include
#include
using namespace std;
#define inf 0x7ffffff
struct Edge
{
int u,v,cost;
}edge[2000];
int pre[200];//父亲
int dis[200];//到源点的距离
int n,m,src;//点的个数,边数,源点
bool relax(int...
分类:
其他好文 时间:
2014-07-14 12:59:28
阅读次数:
265
点击打开链接
题意:有n条村落连接线路,给你m个草儿附近的村落,在给出t个草儿想去的地方。从草儿附近的村落出发到她想去的地方所有线路中的花费时间最少的一个。
解析:多源多点最短路,暴力枚举
#include
#include
#include
using namespace std;
const int maxn = 1005;
const int Max = 0xfffffff;
i...
分类:
其他好文 时间:
2014-07-14 12:57:00
阅读次数:
214
求最少去掉几个公交站使得从s到t的最短路径大于k。迭代加深搜索。#include #include #include using namespace std;#define maxn 60#define maxm 50000int n,m,K,cnt,up;int head[maxn],pre[ma...
分类:
其他好文 时间:
2014-07-14 09:29:57
阅读次数:
221
点击打开链接
题意:有n层楼层,现在在每一层有两个按钮,分别为up和down,按动按钮时,可以向上或向下跳动num[ i ]层;问能否以最少的次数从A到B层,不能输出-1;
解析:构图,将从i层到按动按钮后跳转的楼层,看作连通状态,赋值为1,这样就转换成单源最短路问题;
#include
#include
#include
using namespace std;
const int m...
分类:
其他好文 时间:
2014-07-13 18:37:00
阅读次数:
231
之前我们介绍了用动态规划的方法来解决一些最优化的问题。但对于有些最优化问题来说,用动态规划就是“高射炮打蚊子”,采用一些更加简单有效的方法就可以解决。贪心算法就是其中之一。贪心算法是使所做的选择看起来是当前最佳的,期望通过所做的局部最优选择来产生一个全局最优解。...
分类:
其他好文 时间:
2014-07-13 18:06:01
阅读次数:
377