题目描述 无向连通图G 有n 个点,n - 1 条边。点从1 到n 依次编号,编号为 i 的点的权值为W i ,每条边的长度均为1 。图上两点( u , v ) 的距离定义为u 点到v 点的最短距离。对于图G 上的点对( u, v) ,若它们的距离为2 ,则它们之间会产生Wu×Wv 的联合权值。 请 ...
分类:
其他好文 时间:
2017-08-11 23:51:37
阅读次数:
221
题意:n个点,m条边,两种边,第二种边只能走其中的一条,问起始位置到终点的最短距离 ...
分类:
其他好文 时间:
2017-08-09 00:13:45
阅读次数:
148
个人心得:就是最小生成树的运用,还是要理解好每次都是从已搭建好的生成树里面选择与她的补集中最短距离,所以那个book数组的更新 需要好生体会。不过还是有缺陷,算法的复杂度为O(n^2),看介绍说用优先队列加堆会达到O(n*long n),不过很可惜看不懂,太菜了 某省调查乡村交通状况,得到的统计表中 ...
分类:
编程语言 时间:
2017-08-07 20:32:10
阅读次数:
236
题目链接:http://poj.org/problem?id=1661 解题思路: 离散化处理 + DP。 首先,纵坐标除了用来判断老鼠是否会摔死之外基本没用,主要考虑横坐标,只要求出在横坐标上必须走的最短距离,加上题目给出的Y就是答案了。由题目知-20000 <= X, X1[i], X2[i] ...
分类:
其他好文 时间:
2017-08-06 12:43:55
阅读次数:
105
数学上来先打表 SRM 10 描述 给出 n个点(不同点之间有区别),求出满足下列条件的连边(双向边)方案:1.每条边连接两个不同的点,每两个点之间至多有一条边2.不存在三个点a,b,c使三个点间两两可以互相到达且两两之间最短距离相等3.边的长度均为1 输入格式 一行,一个整数n 输出格式 一行,一 ...
分类:
其他好文 时间:
2017-08-06 12:27:42
阅读次数:
137
题目链接:http://poj.org/problem?id=2253 题意:青蛙要从点1到点2,给出各点的坐标,如果点A到点B可以通过A->C,C->B,A到B的距离可以用A->C和C-B中较长的一边代替(如果A直接到B更短的话就不用了),求点1到点2的最短距离。 题解:本来想用dijkst,但是 ...
分类:
其他好文 时间:
2017-08-05 23:32:43
阅读次数:
185
学习了极角排序的一些套路 UVA11696 给你一些圆和一些点,保证点不在圆内,两点相连通当且仅当两点联结的线段不与任何一个圆相交,问联通块个数 跟之前那道UVA很类似 其实更加简单 枚举每个点 把其他所有点和圆对他极角排序 用set维护圆到当前点的切线的最短距离 因为点不在圆内 所以直接判断距离就 ...
分类:
其他好文 时间:
2017-08-05 20:32:06
阅读次数:
129
上题: T1:又是老掉牙的meet in middle,我们枚举前一半的数,枚举后一般的数,用一趟线扫搞定。但是哪里写炸了只有20~~ T2:暴力很简单的想到了DP,dist[i][j]表示到第i行第j列的最短距离,30分。 正解是贪心。关于这道题的解法这篇blog不错http://blog.csd ...
分类:
其他好文 时间:
2017-08-04 22:56:27
阅读次数:
192
http://codeforces.com/gym/100269/attachments 首先建图,然后图中每条边的权值是会变化的,是由dis[x] + dis[y] > dis[make],然后就相当于新增加一个原点0,求0到1的最短距离 #include <bits/stdc++.h> #def ...
分类:
其他好文 时间:
2017-08-04 16:47:37
阅读次数:
183
http://acm.hdu.edu.cn/showproblem.php?pid=2586 给定一棵带权有根树,对于m个查询(u,v),求得u到v之间的最短距离 那么仅仅要求得LCA(u,v),dis(u,v)=dis[u]+dis[v]-2*dis[LCA(u,v)]。当中dis[i]表示节点i ...
分类:
其他好文 时间:
2017-08-04 12:52:47
阅读次数:
130