Dijkstra:裸的算法,O(n^2),使用邻接矩阵:算法思想:定义两个集合,一开始集合1只有一个源点,集合2有剩下的点。STEP1:在集合2中找一个到源点距离最近的顶点k:min{d[k]}STEP2:把顶点k加入集合1中,同时修改集合2中的剩余顶点j的d[j]是否经过k之后变短,若变短则修改d...
分类:
其他好文 时间:
2014-07-27 22:21:39
阅读次数:
440
题目来源:POJ 1984 Navigation Nightmare
题意:给你一颗树 k次询问 求2点之间的曼哈顿距离 并且要在只有开始k条边的情况下
思路:按照方向 我是以左上角为根 左上角为原点 dx[i]为i点距离根的x坐标 dy[]是y坐标 这两个可以通过路径压缩求出 只不过是二维而已
#include
#include
#include
using namespace st...
分类:
Web程序 时间:
2014-07-26 17:19:52
阅读次数:
358
题目:已知三点,求到三点距离相同的点。
分析:计算几何。分三类情况讨论:
1.三点共线,不成立;
2.多点重叠,有多组解;
3.是三角形,输出中点。
说明:注意绝对值小于0.05的按0计算;负数的四舍五入与正数不同,-0.05的%.1lf输出是 -0.0。
#include
#include
#include ...
分类:
其他好文 时间:
2014-07-24 12:26:25
阅读次数:
258
题意:三维空间给出n个蚊子的初始位置(ax,ay,az)和移动趋势(dx,dy,dz),那么每个蚊子坐标随时间变化的函数就是(ax+dx*t, ay+dy*t, ax+dz*t)。每次射杀一枪,可以把距离原点距离len之内的蚊子全部杀死。问最多能射杀几只蚊子,这时至少要射杀几次?
解法:先求出每只蚊子在射程之内的时间区间,即(ax+dx*t, ay+dy*t, ax+dz*t)^...
分类:
其他好文 时间:
2014-07-22 00:26:36
阅读次数:
217
点击打开链接
题意:给你一张N个节点的无向图,然后给出M条边,给出第 I 条边到第J条边的距离。然后问你是否存在子环,如果存在,则输出最成环的最短距离和
解析:构图:选定源点及汇点,然后将源点至个点流量置为1,花费置为0.然后使用最小费用流,当返回值流量和,即flow
其余和tour一样求法,处理一下某两点距离为最短距离即可。
#include
#include
#include
#...
分类:
其他好文 时间:
2014-07-21 22:28:07
阅读次数:
251
距离变换:计算区域中的每个点与最接近的区域外的点之间距离,把二值图象变换为灰度图象。对于目标中一个点,距离变换的定义为改点与目标边界最近的距离。目标点离边界约近则值越小,转换的点越暗;越远,值越大,转换的点约亮。a是原图,b是以图像边缘看做B,c是以两个白点看做B计算方法:1、串行实现:模板:将a分...
分类:
其他好文 时间:
2014-07-19 12:15:36
阅读次数:
247
题目来源:HDU 3047 Zjnu Stadium
题意:给你一些人 然后每次输入a b c 表示b在距离a的右边c处 求有多少个矛盾的情况
思路:用sum[a] 代表a点距离根的距离 每次合并时如果根一样 判断sum数组是否符合情况 根不一样 合并两棵树 这里就是带权并查集的精髓
sum[y] = sum[a]-sum[b]+x 这里y的没有合并前b的根
#include
#in...
分类:
其他好文 时间:
2014-07-18 18:06:11
阅读次数:
264
题目来源: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数组是变化的 对应每一条边的变化 他修改的是一个区间 用时间戳处理每个点管辖的区域 然后用线段树修改 线段树的叶子节点村的是根到每一个点的距离...
题目要求必须按照L O V E 的顺序行走,且必须至少有一个完整的LOVE,说明可以经过同一个点多次
对每个点拆分为4个点,分别为从L,O,V,E到达。起始点看做是从E到达的
spfa时发现当前点距离相同,比较经过的边数,此时若边数更大,也要入队列!因为要更新后面的点经过的边数
trick 是点可以有自环,当N = 1时
1 4
1 1 1 L
1 1 1 O
1 1 1 V
1 ...
分类:
其他好文 时间:
2014-07-13 00:11:22
阅读次数:
356
点集配对问题 空间里n个点,使它们配成n/2对点,使得每个点恰好在一个点对中。
要求所有点队中,两点距离之和尽量下 n
d(s) = min(d{S - {i} - {j}+ |Pi Pj| | j属于S, j > i, i = min{S}}
//#pragma comment(linker, "/STACK:102400000,102400000")
//HEAD...
分类:
其他好文 时间:
2014-07-09 10:19:06
阅读次数:
244