
二分
g1n0st
明日安在,无人能允知乎专栏: zhuanlan.zhihu.com/g1n0st
展开
-
[BZOJ2654][tree][二分+Kruskal]
[BZOJ2654][tree][二分+Kruskal]题目大意:给你一个无向带权连通图,每条边是黑色或白色。让你求一棵最小权的恰好有need条白色边的生成树。思路:可以给每条白色边都加一个权值,这个权值越大,选的白边就越少,反之就越多。对于这个权值二分就好了,然后再做一遍最小生成树。代码:#include <bits/stdc++.h>using namespace std;const int原创 2017-03-29 18:48:48 · 419 阅读 · 0 评论 -
[BZOJ3585&3339][Rmq Problem][莫队+二分+树状数组]
[BZOJ3585&3339][Rmq Problem][莫队+二分+树状数组]题目大意:有一个长度为n的数组{a1,a2,…,an}。m次询问,每次询问一个区间内最小没有出现过的自然数。思路:先把所有操作离线然后莫队,然后对于每个操作,先二分最多的从1开始一段连续的数n。(连续的一段值肯定是n)这样n+1就是最小没有出现过的自然数。然后把0特判一下就好了。有一个优化就是不考虑大于n的数,因为这些数原创 2017-03-29 18:58:40 · 417 阅读 · 0 评论 -
[BZOJ2117][[2010国家集训队]Crash的旅游计划][点分治+二分答案]
[BZOJ2117][[2010国家集训队]Crash的旅游计划][点分治+二分答案]题目大意:求树上每个点第k长的路径。思路:这道题和这道题应该是双倍经验:http://blog.youkuaiyun.com/g1n0st/article/details/58127733但是我那道题的代码交到这里来并过不了。首先还是考虑对树进行分治然后二分答案,但是维护树上路径可以直接用vector而不是线段树,因为并没有对原创 2017-03-15 08:34:24 · 1314 阅读 · 0 评论