求公共前缀的问题可以用hash+二分来解决,但这个是动态的,所以我们用平衡树来维护区间的hash值 复杂度$O(mlog^2n)$ ...
分类:
其他好文 时间:
2018-11-14 14:14:47
阅读次数:
162
这个操作十分的复杂 但是可以拿平衡树维护 直接二分答案然后用$hash$值判断即可 复杂度$O(10000 * log^2 n + n \log n)$ ...
分类:
Web程序 时间:
2018-11-13 17:23:07
阅读次数:
159
UVA - 11090 思路: 二分答案 + spfa判负环 ...
分类:
其他好文 时间:
2018-11-10 19:12:15
阅读次数:
208
二分答案本质已经出来了 就是每次根据m次比较,找最值(只要有m次操作,有序单调基本都可用) 最小最大和最大最小略有不同(走的方向更新解的方向刚好相反,理解了本质都一样) 关键和难点还是写judge函数怎么找到每次枚举答案的次数,怎么找到写出m次。 ...
分类:
其他好文 时间:
2018-11-09 23:27:23
阅读次数:
310
看到求最小值最大,很容易联想到二分答案。 考虑二分答案后检验,因为对每一个点只能做一次有效操作(假设第一次加+d1,第二次+d2,可以简化成+(d1+d2))。因此考虑对每一个点的操作值重新建图。 设从i到j有一条初始权值为v的边,当前要验证的最小值为mid,每个点的操作值为x[i];很容易得到:v ...
分类:
其他好文 时间:
2018-11-09 00:49:14
阅读次数:
249
二分答案,大于二分值的边直接不走,看最后是否存在一条路径即可 c++ include include include include include using namespace std; define debug(x) cerr 1; if(SPFA(g[mid])) { ans = g[mid ...
分类:
其他好文 时间:
2018-11-06 22:35:07
阅读次数:
119
题意:给你列数,有一个中位数的定义,然后求出每一个区间的中位数,然后打印这些中位数的中位数 思路:没见过,真的学不来,看了聚聚们的博客以后,才学会。我们直接二分答案,我们有了答案以后,小于等于的mid的标记为1,其他的为-1,这样从一定程度上反应了区间大于和小于中位数的个数,对这个数组求前缀和,这样 ...
分类:
编程语言 时间:
2018-11-06 20:56:53
阅读次数:
176
"题目传送门" 题意 有$n$根竹子,竹子$i$初始高度为$h_i$,每天 晚上 会长高$a_i$。 每天 白天 ,你可以选择$k$根竹子(同一根竹子在同一个白天可以多次选择),把他们的高度减少$p$,若竹子当前高度$ p$后$ include include include int read(){ ...
分类:
其他好文 时间:
2018-11-04 12:40:44
阅读次数:
240
<题目链接> 题目大意: 一个圆台型的杯子,它的上底半径和下底半径已经给出,并且给出它的高度,问你,体积为V的水倒入这个杯子中,高度为多少。 解题分析: 就是简单的二分答案,二分枚举杯中水的高度,然后根据几何计算出该高度下,水的上半径,然后计算出该高度下水的体积,在与实际水的体积进行比较,从而确定最 ...
分类:
其他好文 时间:
2018-11-03 02:20:09
阅读次数:
167