![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
二分
MirrorGray
这个作者很懒,什么都没留下…
展开
-
BZOJ2525: [Poi2011]Dynamite
刚看的时候看错题了…被调侃了一发,以为只能选择1个点… 考虑二分答案,我们只需要判定是否存在个点能够在mid范围内到达所有关键点。 最暴力的judge是从每个点bfs一遍看看mid范围能是否能覆盖到所有的点,这样我们得到了一个n^2logn的优秀算法… 之所以要二分是因为二分完了之后可以贪心嘛…所以考虑树形贪心。一个关键点要么被它的子树内的点管理,要么被它子树外的点管理,于是我们记录两个值,f原创 2016-04-07 00:08:25 · 1083 阅读 · 0 评论 -
BZOJ3232: 圈地游戏
膜拜下whx大爷…好神的做法… 首先比值类型的最大值一般要二分答案转判定。现在要你找到一个环使得C*mid-V<0。这十分类似spfa判负环… 所以我们考虑建图找负环,每个网格线的交点向周围四个方向建边,边权怎么办呢?将格子上的数在列方向做前缀和,a[i][j]表示第j列,前i行格子的权值和,b[i][j]是横向的格线上的费用,那么横向格线的边从左向右方向的权值是b[i][j]*mid+a[i]原创 2016-04-09 08:23:17 · 1154 阅读 · 0 评论