
二分法
文章平均质量分 72
nlj1999
这个作者很懒,什么都没留下…
展开
-
2144: 跳跳棋
跪跪跪跪跪跪。二分+LCA什么的根本想不出来啊。只好翻题解了。大概就是每一个状态有两种决策。两边的往中间跳。中间的往两边跳。第一种对应树上的两个儿子。第一种对应树上的父亲。然后就是二叉树了。就可以倍增/二分了。然后就乱搞出来了。#include#include#include#includeusing namespace std;const i原创 2015-12-23 15:21:15 · 434 阅读 · 0 评论 -
BZOJ 4552: [Tjoi2016&Heoi2016]排序
BC #76这题目好鏼啊!(我也不知道怎么就满足二分性了)#include#include#include#include#include#include#include#include#include#define rep(i,l,r) for(int i=l;i<=r;i++)#define per(i,r,l) for(int i=r;i>=l;i--)#d原创 2016-05-20 15:49:21 · 592 阅读 · 0 评论 -
BZOJ 4592: [Shoi2015]脑洞治疗仪
多写线段树有利于治疗脑洞0,2操作都好说操作1需要二分一下能够填脑洞的范围复杂度m(logn)^2(rank1怎么跑得辣么快啊,难道有1个Log的做法?)#include#include#include#include#include#include#include#include#include#include#include#include#de原创 2016-05-25 14:14:37 · 563 阅读 · 0 评论 -
BZOJ 4590: [Shoi2015]自动刷题机
显然n递增的时候k会递减于是可以二分n的值,检查一下与k的大小关系(不要问我怎么证,感觉就是这样的)#include#include#include#include#include#include#include#include#include#include#include#include#define rep(i,l,r) for(int i=l;i<=r;原创 2016-05-24 20:38:44 · 396 阅读 · 0 评论 -
BZOJ 2732: [HNOI2012]射箭
首先分析一下题目设抛物线为y=a*x^2+b*x然后就是看是否存在a,b满足条件了即y1所以就是半平面交了二分判断一下就……卡精度了QAQ所以要用long double不过判断半平面交是否为空集好像有期望O(n)的随机增量法,但是我不会啊#include#include#include#include#includeusing namespace std;原创 2016-04-08 10:54:25 · 752 阅读 · 0 评论 -
LA 3270 - Simplified GSM Network
还是觉得应该先把论文刷完感觉好像掌握了构造维诺图的特殊技巧论文的方法真是奥妙重重但是时间复杂度怎么算,我有点方O(ans)?#include#include#include#include#include#define sqr(x) ((x)*(x))using namespace std;const int inf=1e9;struct point{ dou原创 2016-03-23 08:13:56 · 342 阅读 · 0 评论 -
BZOJ 3672: [Noi2014]购票
近年来的趋势都是把动态规划出成计算几何吗?这题首先我们有个n^2的动规设v为u的祖先f[u]=min{f[v]+(d[u]-d[v])*p[u]+q[u]}且d[u]-d[v]~~~~~我要变形了~~~~~~f[u]=min{-d[v]*p[u]+f[v]}+d[u]*p[u]+q[u]哎,前面这个好像什么东西啊y=kx+b于是我们发现u的祖先是好多线假设p[u]为原创 2016-04-04 20:28:25 · 707 阅读 · 0 评论 -
POJ 2750 Potted Flower
题目大意:给定一长度为n的环形序列求最大连续和,连续和长度不能超过n-1,单点修改。最大连续和?我会动规/贪心环形序列?我会乱搞带修改?我会线段树限制长度?!@#¥%……&*()我们先忽略掉环形序列首先,限制很特殊,是n-1,于是我们可以很简单地求出[1,n-1]和[2,n]的最大连续和,取两者的最大值。(不要问我限制为k的时候怎么做,我不会啊)然后我们看环形序列,首先原创 2016-02-15 11:37:18 · 307 阅读 · 0 评论 -
POJ 2976
又发现新东西了哇咔咔话说每天都能学到新的是不是因为我太弱了(什么都没见过%>_传说中的01分数规划问题的裸题。从n组数中干掉k组数使最后的比例最大,于是二分答案排序一下再判定就好了。#include#include#include#includeusing namespace std;double a[1005],b[1005],d[1005];int n,k;boo原创 2016-01-18 19:34:51 · 353 阅读 · 0 评论 -
POJ3621 Sightseeing Cows
又被G++坑了一次。。。。。算了不提也罢。题意要找一个环游路线使得 收益/花费 最大,显然是基环,于是分数规划,判断是否有正权圈。然后弃疗发现好像不会求正权圈唉。算了,取反。改求负权圈,spfa一下就好了。#include#include#include#include#includeusing namespace std;const int N=1000+原创 2016-01-18 21:09:16 · 307 阅读 · 0 评论 -
POJ 2728 Desert King
最优比例生成树。首先是个完全图,所以Kruskal算法不好用,于是写Prim。第一次写Prim算法,表示不知道nlogm怎么优化出来的,感觉我怎么想都是mlogm。于是果断弃疗用邻接矩阵。由于懒得学Dinkelbach算法,于是就用二分来水一水。不妨设F(L)=sigma(h[i]-l[i]*L)*x[i],假如F(L)的最小值大于0,即无论x[i]怎么取(要按照基本法来),都原创 2016-01-18 20:41:39 · 234 阅读 · 0 评论 -
BZOJ 4310: 跳蚤
(我当然不是因为标题才点进这道题的啦(打死不承认)) 最大字典序的串最小,听起来就很像二分嘛于是我们考虑一共m个本质不同的子串,从这里面二分就好了首先我们需要求第k大(小?)(即二分时的mid)的子串:我们从前往后扫sa数组,即从小到大枚举后缀,若当前后缀贡献的字串数不够k,则让k减去这些贡献,否则答案即是这些后缀所构成的贡献(就是一个后缀上的一大堆前缀区间啦)中的第k个。原创 2016-06-17 18:41:25 · 1332 阅读 · 0 评论