
01分数规划
make_it_for_good
这个作者很懒,什么都没留下…
展开
-
bzoj 1758 [Wc2010]重建计划 01分数规划 点分治 单调队列
直接01分数规划,然后把树分治查找所有链,然后合并时就是查一个定长区间的最大值,宽搜离线下来然后单调队列搞就行了。不过我想说这题卡常数。。。卡常数。。。常数。。数。。 不过好像三个月之前做就没有这事了。。。树分治可以预处理快了两倍,01分数规划从二分改成迭代快了四倍+,然而bz上还是跑了20+s。。。#include <bits/stdc++.h>using namespace std;#de原创 2016-12-26 19:27:18 · 419 阅读 · 0 评论 -
bzoj 2402 陶陶的难题II 01分数规划 树链剖分 线段树维护凸包
先01分数规划一下,然后这个东西就是求(qj−kpj)+(yi−kxi)(q_j-kp_j)+(y_i-kx_i) 的最大值。 把qi−kpiq_i-kp_i 和yi−kxiy_i-kx_i分开考虑,这是一个斜率的式子,只会取上凸包的点。因此树剖把这个东西放到线段树上,线段树每个节点维护一个凸包。 然后求的时候三分就行了。 虽然这个东西看起来是log4log^4 的,不过01分数规划如果用迭代原创 2016-12-29 18:07:13 · 1011 阅读 · 0 评论