UVA
vufw_795
Mood decides everything.
展开
-
UVA 10014(推公式)
题目链接:UVA 10014解题思路: 第一个想法是高斯消元,但貌似复杂度有点高,于是开始推公式,想了好久。 推导过程: a[i-1] + a[i+1] = 2 * ( a[i] + c[i] ) a[1] + a[n] = a[0] + a[n+1] - c[1:n] n = 1, 2, 3, … n (n+1) * a[1] = n*a[0] +a[n+1] - ( n*c[1]原创 2015-08-13 19:27:28 · 693 阅读 · 0 评论 -
UVA 11300(数学)
题目链接:UVA 11300 (on vjudge)解题思路: 首先要使用递推推出每个人给了前一个人多少金币的公式,然后将问题转化成求数列中位数的问题(数轴上找一个到所有点距离和最小的点,这个点就在中位数的位置)代码:#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespac原创 2015-10-26 13:11:58 · 427 阅读 · 0 评论 -
UVA 11021(概率DP)
题目链接:UVA 11021解题思路:这题算是一道很经典的概率入门题了吧,不过首先得知道可以用pow函数。虽然题目中讲的是K个毛球,但是其实可以考虑一个毛球的情况,之后作K次方即为答案。原创 2016-03-07 15:57:21 · 564 阅读 · 0 评论 -
UVA 10537(最短路)
题目链接:UVA 10537解题思路: 这题是大白书上的最短路例题,应用情景非常经典。首先我们在计算最短路的时候需要从终点算起,因为图中边的权值是变化的;计算的方法是一个坑,大概就是对于一个整数N,求一个整数M,使得N=M−⌈M/20⌉N=M-\lceil M/20\rceil式子是这样的M=⌈19N/20⌉M=\lceil 19N / 20 \rceil,公式的得出需要先考虑M可以被20整除的情原创 2016-04-03 21:47:27 · 1288 阅读 · 0 评论 -
UVA 11090(SPFA判负环)
题目链接:UVA 11090解题思路: 这题需要使用二分法来解决,思路类似与最大值最小化问题,我们可以把求解最小均值环的问题转化成判断负环的问题。二分的过程中,我们可以每次猜想一个最小值,然后使所有的边的权值减去这个最小值,若存在负环,则这个值太大了,最小值需要减小,否则增加。判断负环可以使用Bellman-Ford算法的优化算法,SPFA算法解决。代码设计: 因为最小均值可以为浮点数,而且只需原创 2016-04-04 14:02:40 · 899 阅读 · 0 评论 -
匹配及其相关问题(三)
前言: 第二篇博客介绍了匈牙利算法解二分图最大匹配,这次我们需要应用这个算法来解决最小点覆盖与最大点独立问题。基本定理: 根据博客(一),我们有以下定理: 定理3:二分图中,无孤立点,点覆盖数=边独立数(匹配数) 定理8:无向图中,无孤立点,最小点覆盖集与最大点独立集互补 我们这次需要使用这两个定理来解决最小点覆盖与最大点独立问题。算法思路: 根据定理3,我们有点覆盖数等于匹配数,那么原创 2016-04-05 22:24:08 · 582 阅读 · 0 评论 -
UVA 11478(差分约束系统)
题目链接:UVA 11478解题思路: 题目要求使所有的边权值为正且尽量大,可以很自然地想到最大值最大化的经典解法——二分法。我们需要二分地去寻找答案,判断答案是否合理可以通过构建差分约束系统解决。 我们假设在第 i 个点上进行的权值操作为sum[i],那么所有 i 的出边都增加sum[i],入边都减少sum[i],因为每条边本身有权值,我们要满足权值增减之后所有边权为正,即满足等式sum[i]原创 2016-04-07 18:04:02 · 981 阅读 · 0 评论 -
UVA 10972(边双连通分量)
题目链接:UVA 10972解题思路: 这题的题意很简单,就是给一个无向图,然后要求我们把所有的边都变成有向边,然后再另外添加一些有向边,最终用最少的边把有向图变成强连通的。一眼看过去是懵比的,然而仔细一想,转化后的有向图强连通即原图边双连通啊,于是题目转化成添加最少的边把原图变成边双连通图。先跑一遍Tarjan算法后缩点统计度为0和1的结点即可。代码:#include <vector>#inc原创 2016-05-03 23:19:51 · 1107 阅读 · 0 评论 -
最小瓶颈路与次小生成树
简介: 最小生成树是图论里面一类经典问题,可以有很多种变形,其中最小瓶颈路和次小生成树就是两种比较经典的变形。最小瓶颈路就是在两个结点之间求一条最长边最短的路径,而次小生成树则是所有生成树中权值排名第二的生成树(可以和最小生成树相等)。下面我们分别来看看这两个问题。最小瓶颈路: 给定一个加权无向图,并给定无向图中两个结点u和v,求u到v的一条路径,使得路径上边的最大权值最小。这个问题可以稍微加强原创 2016-05-06 14:00:41 · 7991 阅读 · 0 评论