题目大意:给定一个n个点m条边的无向连通图,k次询问两点之间所有路径中最长边的最小值
NOIP2013 货车运输,几乎就是原题。。。只不过最小边最大改成了最大边最小。。。
首先看到最大值最小第一反应二分答案 但是二分答案O(kmlogn)明显做不了 这里我们考虑最小生成树
先生成一棵最小生成树,然后每次询问利用倍增LCA求出路径上的最大权值即可
本蒟蒻居然把LCA写挂了。。。 而且样例还过...
分类:
Web程序 时间:
2014-10-03 17:28:54
阅读次数:
275
题目大意:紧急疏散。有一张地图,‘.’表示人,‘D’表示门,人需要走曼哈顿距离的单位时间才1能到达门。一个门一个时刻只能通过一个人。求多长时间能疏散完毕。
思路:二分答案+最大流满流判定。先BFS处理出每个人与门的距离。二分最小时间,然后连边。S向每个人连流量为1的边,每个人向二分的时间之内能到达的门连流量为1的边。每个门向T连流量为t的边。然后最大流判定是否满流。
(数组大小我是瞎开...
分类:
其他好文 时间:
2014-10-02 19:42:43
阅读次数:
227
题目:求从s开始的递增序列(每次加1),求出他们加和不小于D的那个最后的加数。
分析:数学题,分治。s + s+1 + ... + n = n*(n+1)/2 - s*(s-1)/2 = (n+s)*(n-s+1)/2。
直接二分答案即可(二分范围0~10^8)。
说明:(⊙_⊙)。
#include
#include
using namespace st...
分类:
其他好文 时间:
2014-09-29 20:56:21
阅读次数:
275
区间k大,分块大法好,每个区间内存储一个有序表。二分答案,统计在区间内小于二分到的答案的值的个数,在每个整块内二分、零散的暴力即可。还是说∵有二分操作,∴每个块的大小定为sqrt(n*log2(n))比较快呢。 1 #include 2 #include 3 #include 4 #include ...
分类:
其他好文 时间:
2014-09-29 09:48:57
阅读次数:
229
1901: Zju2112 Dynamic Rankings
经典的带修改求区间第k小值问题
树套树模板,我是用的线段树套splay实现的,而且用的数组模拟的,所以可能空间略大,bzoj过了,zoj过不了。
思路很简单,用线段树维护区间,用splay维护区间内的权值,然后询问的时候,二分答案key,然后在区间内找小于key的数有多少个。
贴上模板:
#include
#include
#...
分类:
其他好文 时间:
2014-09-28 22:40:15
阅读次数:
305
A:应该是道语文题,注意边界就好;B:开始考虑的太复杂,没能够完全提取题目的思维。但还是A了!我愚蠢的做法:二分答案加暴力枚举,枚举的时候是完全模拟的,比如每次取得时候都是从大到小的去取,最后统计答案!好吧!忽略这种SB做法,只是提供一种当你想不到的时候,一种暴力破解的思路!看到的一种正解:我们每次...
分类:
其他好文 时间:
2014-09-28 16:56:23
阅读次数:
137
第一题:有 N 个人顺时针围在一圆桌上开会,他们对身高很敏感。 因此决定想使得任意相邻的两人的身高差距最大值最小。 如果答案不唯一,输出字典序最小的排列,指的是身高的排列。N<=50解题过程:1.最大值最小的问题直接想到二分答案。。然后就变成判断环的问题,但是想不到什么好的算法,就直接爆搜了。。事实...
分类:
其他好文 时间:
2014-09-27 10:56:19
阅读次数:
281
题目:http://dev.codevs.cn/problem/1183/分析:这个和最优比率生成树很像,都可以二分答案的,只不过判定方面一个是求是否有最短路径,一个是求是否有生成树。假设等待判定的是ans,那么我们可以把每条边的边权改成s[i][j]-ans*t[i][j],然后跑最长路。如果d[...
分类:
其他好文 时间:
2014-09-26 02:33:18
阅读次数:
156
有n头牛,m个牛棚,每头牛对牛棚的满意程度有一个排序,每个牛棚有牛数限制。
问如何分配各个牛,使得所有牛的满意程度的差值最小。
这题首先可以想到二分答案,对于每一种差值来求是否可行。
不想再搞网络流,学习了下二分图匈牙利解法。。
匹配时,对于每一种选择(牛棚),若满足范围,且有多余的容量,则匹配;
否则,对于该牛棚已经匹配过的牛进行增广。
#include ...
分类:
其他好文 时间:
2014-09-25 15:20:49
阅读次数:
178
题目大意:给定一个序列,求区间内小于等于某数的元素数量
首先区间排名一看就是划分树 不过和第k小不一样 我们需要做一些处理
第一种处理方式是二分答案 然后转换成区间第k小 好方法我喜欢 但是这里说的不是这种方法
首先建树,然后对于每个询问,我们讨论k与a[mid]的关系
若k
若k>=a[mid],则左子树内一定所有数都小于等于k,于是我们将查询区间中进入左子树的元素的数量记入ans,然...
分类:
其他好文 时间:
2014-09-24 15:49:37
阅读次数:
194