
单调
huanghongxun
这个作者很懒,什么都没留下…
展开
-
POJ 2796 Feel Good 单调
题意:n≤106n\leq 10^6 max1≤i≤j≤n⎧⎩⎨mini≤k≤jak×∑i≤k≤jak⎫⎭⎬\max_{1\leq i\leq j\leq n} \left\{ \min_{i\leq k\leq j} a_k\times\sum_{i\leq k\leq j} a_k \right\} 不知道能不能这么写。。 总之就是给出一串数,求某个区间的其内最小值与其和的乘积的最大值。由原创 2016-02-15 17:03:49 · 469 阅读 · 0 评论 -
POJ 3250 Bad Hair Day 单调
唔,是poj 2796的弱化版。 http://blog.youkuaiyun.com/huanghongxun/article/details/50669323#include <cstdio>const int N = 80005;typedef long long ll;inline int read() { int s = 0, f = 1; char ch = getchar();原创 2016-02-15 17:36:10 · 340 阅读 · 0 评论 -
BZOJ 3238 AHOI 2013 差异 后缀数组 单调
lcp(Ti,Tj)=min{hi,⋯,hj}lcp(T_i, T_j)=\min\{h_i,\cdots,h_j\} 因此考虑hih_i对于其在hh上所能向左向右延伸的区间内的所有lcp都是其答案。因此参考poj 2796。。 代码稍后3238: [Ahoi2013]差异Time Limit: 20 Sec Memory Limit: 512 MB Submit: 1342 Solved原创 2016-02-15 23:17:39 · 448 阅读 · 0 评论 -
POJ 3017|Cut the Sequence|动态规划|单调队列
给定一个数列{an}\{a_n\},任意将连续的aia_i分块,使所有块的和都不超过MM,最小化各块的最大值的和。dp[i]=min{dp[j]+max{a[j..i−1]}} dp[i]=\min\{dp[j]+\max\{a[j..i-1]\}\} 其中∑i−1k=jak≤M\sum_{k=j}^{i-1} a_k\leq M 时间复杂度是O(n2)O(n^2),通过打表我们可以发现决策单原创 2016-04-26 18:21:48 · 1118 阅读 · 0 评论 -
BZOJ 4509 USACO 2016 Jan Gold Angry Cows
Bessie设计了一个游戏,将奶牛投掷到一个有多个草堆数轴上,奶牛的能量为R表示奶牛可以引爆半径R内的所有草堆,接着被引爆的这些草堆的能量为R-1,第二次被引爆的为R-2,以此类推,最后为0。问最小的R使得存在一个投掷点能引爆所有草堆。发现,一个奶牛/草堆被引爆,其左右部分是不会影响的,可以考虑正反扫一次。 令dp1[i]表示i左边全部被引爆的最小半径,有: dp1i=min{ai−aj,dp1原创 2016-04-19 20:19:17 · 1246 阅读 · 0 评论 -
BZOJ 4506|USACO 2016 Jan Platinum|Fort Moo
人工翻译好辛苦。。4506: [Usaco2016 Jan]Fort MooDescriptionBessie和她的朋友Elsie正在建筑一个堡垒,与任何一个好的堡垒一样,这个需要一个强固的框架。Bessie想造一个轮廓是1m宽的空心矩形框架,这样堡垒就可以造在框架上了。 Bessie以及选了一个地点建筑堡垒,一片N*M(1<=N,M<=200)的平地。不幸的是,这个地方有一些沼泽地而不可以支撑框原创 2016-04-20 10:06:50 · 1241 阅读 · 0 评论 -
POJ 3245|Sequence Partitioning|动态规划|单调队列
题意真是难懂。。一个长度为NN的序列(每个元素是(ai,bi)(a_i,b_i)这样的数对),连续地分成若干组。每组左右边界是(l1,r1),(l2,r2),⋯,(lp,rp)(l_1,r_1),(l_2,r_2),\cdots,(l_p,r_p),满足li=ri−1+1,li≤ri,l1=1,rp=nl_i = r_{i − 1} + 1, l_i ≤ r_i, l_1 = 1, r_p = n。原创 2016-04-26 17:56:50 · 1039 阅读 · 1 评论