poj2749 Building roadshttp://poj.org/problem?id=2749二分答案,以后构造布尔表达式。 相互讨厌是!((a and b)or(!a and !b) 化简得 (!a or !b)and(a or b) 相互喜欢是!(a and !b)or(!a an.....
分类:
其他好文 时间:
2014-07-16 18:55:39
阅读次数:
203
考试的时候写的dfs找自环然后求平均值当时感觉复杂度不是太高结果Wa和T了一些后只有40分。。。正解是二分答案再将所有边减去答案后用SPFA找有无负环即可 1 #include 2 #include 3 #include 4 using namespace std; 5 #define N 6...
分类:
其他好文 时间:
2014-07-13 00:47:36
阅读次数:
293
题目大意:有n个节点p条无向边,现在可以选择其中的任意K条免费,如果必须的边多与K跳,则花费多余所需边中权值最大的一个,求最小花费多少。分析:最短路+二分我们可以二分答案mid,对于每一个mid求最短路,将最短路中大权值大于mid的边作为免费的集合,否则作为不免费的集合,验证免费集合大小是否大于K这...
分类:
其他好文 时间:
2014-07-07 23:07:21
阅读次数:
234
题目大意:
求在m个串中同时出现两次以上且不覆盖的子串的长度。
思路分析:
二分答案,然后check是否满足,判断不覆盖的方法就是用up down 来处理边界。
#include
#include
#include
#include
#include
#include
#define maxn 110005
using namespace std;
char ...
分类:
其他好文 时间:
2014-07-03 16:55:30
阅读次数:
350
题目大意:
求出在m个串中出现过大于m/2次的子串。
思路分析:
如果你只是直接跑一次后缀数组,然后二分答案扫描的话。
那么就试一下下面这个数据。
2
abcdabcdefgh
efgh
这个数据应该输出
efgh
问题就在于对于每一个串,都只能参与一次计数,所以在check的时候加一个标记数组是正解。
#include
#include
#inc...
分类:
其他好文 时间:
2014-07-03 15:35:12
阅读次数:
171
题目大意:
求可覆盖的出现k次的子串的最大长度。
思路分析:
同样是二分答案的长度,然后扫描height判断是否成立。
#include
#include
#include
#include
#define maxn 1000005
using namespace std;
int str[maxn];
int sa[maxn],t1[maxn],t2[maxn]...
分类:
其他好文 时间:
2014-07-02 09:02:19
阅读次数:
258
题目大意:
刚才上88个键弹出来的音符。
如果出现重复的,或者是高一个音阶的重复的都算。
思路分析:
具体可以参考训练指南222.
height数组表示按照排序后的sa最近的两个后缀的最长前缀。
将height 分块。然后二分答案,二分答案之后去判断是否满足。
要考虑到不重合,还有大于5。
所以二分的时候要从5开始,然后判断的时候要加一个 up - down >le...
分类:
其他好文 时间:
2014-06-30 19:27:18
阅读次数:
242
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1486题意:给出一个有向图,边有权值。找到一个环,使得环上边的权值之和除以环上边的个数最小。思路:二分答案x,每条边权值减去x,之后 找负环。从每个顶点开始DFS,记录到达某个顶点的距离,设...
分类:
其他好文 时间:
2014-06-23 07:12:27
阅读次数:
236
1.floyd。一个点到另一个点的最大距离,为所有路径最大距离的最小值(二分)。2.答案输出。%.3lf,%.3f,遇到精度问题,要多尝试。**********************************************#include#include#include#includeus...
分类:
其他好文 时间:
2014-06-08 06:51:38
阅读次数:
202
http://poj.org/problem?id=2728
大致题意:有n个村庄,输入每个村庄的位置和高度,这n个村庄要连在一起,村与村之间的长度为他们之间的欧几里得距离,花费是两村之间的高度差,要求连在一起的花费和与距离和之比的最小值。
思路:明显的最优比率生成树。二分答案λ,每条边重新赋权c[i] - λd[i] ,因为要求比值最小,那么对于所有的生成树,它们的f[λ]必须>...
分类:
其他好文 时间:
2014-06-05 04:18:42
阅读次数:
162