UVA 11107 - Life Forms
题目链接
题意:给定一个字符串,找出重复出现超过m次的字串的最大开始下标
思路:hash大法,需要点人品,然后二分答案,每次利用hash值去找出最大下标即可
代码:
#include
#include
#include
using namespace std;
typedef unsigned long long ...
分类:
其他好文 时间:
2014-08-17 17:04:52
阅读次数:
650
链接:http://poj.org/problem?id=2391
题意:有f个草场,每个草场当前有一定数目的牛在吃草,下雨时它可以让一定数量的牛在这里避雨,f个草场间有m条路连接,每头牛通过一条路从一点到另一点有一定的时间花费,现在要下雨了,农场主发出警报牛就会立即去避雨。现在告诉每个草场的情况,以及m条边的信息。农场主至少需要提前多久发出警报才能保证所有牛都能避雨?如果不是所有牛都能成功避雨...
分类:
其他好文 时间:
2014-08-12 03:26:24
阅读次数:
247
链接:http://poj.org/problem?id=2112
题意:有k个挤奶器,编号1~k,c头牛,编号k+1~k+c,每个挤奶器最多能给m头牛挤奶,给你一个k+c的邻接矩阵,要求每头牛都能挤奶并且要求c头牛需要走的所有路程中的最大路程最小,求这个最小的路。
思路:
1. 先用floyd处理出多源最短路
2. 用二分枚举答案的可能,初始上限应该为(200+30)*200,但...
分类:
其他好文 时间:
2014-08-09 15:59:08
阅读次数:
355
题意:将一个字符串切成k块,使得字典序最大的那块最小。
ORZ WJMZBMR,几行题解读了一天才懂。
快速比较两个子串的大小可以利用LCP(最长公共前缀),比较公共前缀的下一个字符的大小就够了。
利用这种思想,首先我们可以预处理所有子串的LCP(后缀数组+记录 O(2nlog(2n))+O(n*n),dp(O(4*n*n)))
然后将这些子串利用LCP按照字典序排序,开始二分答案。...
分类:
其他好文 时间:
2014-08-02 15:38:33
阅读次数:
276
nx个挤奶器,ny头奶牛,每个挤奶器最多能供m头奶牛使用。
现给出nx+ny之间的距离矩阵,求使得全部奶牛都到某个挤奶器挤奶所走的路程中,单个奶牛所走的最大路程的最小值。
开始感觉这个类似二分图匹配,不同之处在于挤奶器可以连接m个以内的奶牛,用网络流的模型是可以求出满足条件的解的。
问题是如何满足最大路程的最小值,这一种典型的二分的问法。。
所以我们二分答案,也就是枚举最大路程...
分类:
其他好文 时间:
2014-07-30 17:29:24
阅读次数:
200
题意:n各节点其中1号是司令节点,叶子节点是收集信息的节点.现在破坏一些编使这个信息结构瘫痪(就是 让叶子节点和1号节点不连通); 要求他切割的边的最大值最小,且和不能超过M解法:很普通的的二分答案,用树形DP判断这个解是否可行。 子啊 回溯合并的时候 如果这个边的cost>枚举的答案 肯定d...
分类:
其他好文 时间:
2014-07-30 09:47:33
阅读次数:
234
时限卡的非常紧,做尽常数优化才过。。#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace...
分类:
其他好文 时间:
2014-07-27 21:36:15
阅读次数:
249
首先二分最长的边,然后删去所有比当前枚举的值长的边,算最大流,看是否能满足所有的牛都能找到挤奶的地方#include #include #include #include #include #include #include #include #include #include #include #...
分类:
其他好文 时间:
2014-07-26 14:39:40
阅读次数:
260
题目意思是,从一个n*m的乘法表(不要问我乘法表是什么)中选出第k小数(相同的数字会计算多次)。
比如样例 2 3 4
乘法表为
1 2 3
2 3 4
非减序列是:1, 2, 2, 3, 3, 4。第4个数字是3,所以输出3。
一开始我想到的是搜索,从n*m开始搜索,后来发现状态实在太多而且即便是搜索,时间复杂度是O(N * M)。
正确的解法是二分。二分答案(边界是[1, n * m]),然后在乘法表中去找比他小的数。因为乘法表是一个有规律的数表,所以针对每一列直接O(1)计算即可,总共计算N次。
总的...
分类:
其他好文 时间:
2014-07-18 11:04:12
阅读次数:
257
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=3081
有一段时间没写最大流的题了,这题建图居然想了好长时间。。。刚开始是按着最终的最大流即是做多轮数去想建图,结果根本没思路,后来想了想,可以用二分答案的思想来找最终答案。然后很明显的并查集,但是并查集学的略渣,居然卡在并查集上了。。= =。 但是也不是并查集的事。。是我建图的思想太正了,稍微用点逆...
分类:
其他好文 时间:
2014-07-16 13:06:27
阅读次数:
237