[BZOJ4476] [JSOI2015] 送礼物 (01分数规划+ST表) 题面 给出n,k,l,r和序列a,要求从a中选一段连续的区间[i,j]出来,使得M(i,j)-m(i,j)/(j-i+k)最大,且[i,j]长度在区间[l,r]内. M(i,j)表示[i,j]中的最大值,m(i,j)表示[i,j]中的最小值. Ai< =10^8,N,K< = 50,000 分析 看到\(\frac{max(i,j)-min(i,j)}{j-i+k}\)的形式,我们敏感的想到01分数规划.考虑最终答案…
LINK:送礼物 原本想了一个 \(nlog^2\)的做法 然后由于线段树常数过大 T到30. 以为这道题卡\(log^2\)没想到真的有神仙写\(log^2\)的过了 是我常数大了 抱歉. 能过的\(log^2\)的做法是看到了一个 决策单调性优化的dp 证明我不会. 不过由此得到的启示是 一些类似或者就是dp的题目 要多往决策单调性上想 大胆猜想 不管证明. 线段树的做法是二分之后 也是维护dp的决策最优性.发现换set很难更换 所以放弃治疗. 正解是一个log的做法: 考虑 M(i,j)…
化简式子 $M>=m+ans*(r-l+k)$ 发现$M,m$确定时,总区间长度越小越好,于是假定右端点为最小值$M+ans*l>=m+ans*r+ans*k$, 右面都确定了,但最大值仍然有两种情况,一是最大值就在要求的区间内,二是在要求的区间右侧, 对于第一种情况,直接把每个点的val扔进单调队列就可以了,第二种呢,因为要求区间长度最小,所以左端点即为$r-L+1$,单调队列维护$i-L+1~i$的最大值即可, 左端点为最小值也一样. 而且不需要判断在我们选的区间内是否有比$a[i]$更小…
看到这个式子当然先二分答案.得max-min-(j-i+k)ans>=0. 显然max-min相同的情况下所选区间长度越短越好,所以max和min都应该取在边界.那么实际上我们根本不用管端点是否真的是max或min,因为即使不是将他们计入也不会对最终答案造成影响.不妨设右端点是max,则要最大化aj-ai-(j-i)ans=(aj-jans)-(ai-ians),单调队列维护即可.左端点是max同理. 为了防止不存在长度在l~r的这样的区间,先对长度l的区间单调队列暴力跑一次. #include…
题意 题目链接 分析 分数规划之后可以得到式子:\(max-min-r*mid+l*mid\geq k*mid\) . 贪心选择,肯定区间的端点是极小或者极大值.特殊处理区间长度 \(\leq L\) 的情况. 有两种情况分别对应 \(r\) 作为最大和最小值. \(r\) 作为最大值:枚举 \(a_r-r*mid\),查询 \(min\{a_l-l*mid\}\)并减去. \(r\) 作为最小值:枚举 \(a_l+l*mid\),查询 \(min\{a_r+r*mid\}\)并减去. 单调队列…
[BZOJ4476][Jsoi2015]送礼物 Description JYY和CX的结婚纪念日即将到来,JYY来到萌萌开的礼品店选购纪念礼物.萌萌的礼品店很神奇,所有出售的礼物都按照特定的顺序都排成一列,而且相邻的礼物之间有一种神秘的美感.于是,JYY决定从中挑选连续的一些礼物,但究竟选哪些呢?[问题描述]假设礼品店一共有N件礼物排成一列,每件礼物都有它的美观度.排在第i1< =i< =N个位置的礼物美观度为正整数Ai,.JYY决定选出其中连续的一段,即编号为礼物i,i+1,…,j-1,j的…
BZOJ_4476_[Jsoi2015]送礼物_01分数规划+单调队列 Description JYY和CX的结婚纪念日即将到来,JYY来到萌萌开的礼品店选购纪念礼物. 萌萌的礼品店很神奇,所有出售的礼物都按照特定的顺序都排成一列,而且相邻 的礼物之间有一种神秘的美感.于是,JYY决定从中挑选连续的一些礼物,但究 竟选哪些呢? [问题描述] 假设礼品店一共有N件礼物排成一列,每件礼物都有它的美观度.排在第i 1< =i< =N个位置的礼物美观度为正整数Ai,.JYY决定选出其中连续的一段, 即…
P6087 [JSOI2015]送礼物 01分数规划+单调队列+ST表 题目背景 \(JYY\) 和 \(CX\) 的结婚纪念日即将到来,\(JYY\) 来到萌萌开的礼品店选购纪念礼物. 萌萌的礼品店很神奇,所有出售的礼物都按照特定的顺序都排成一列,而且相邻 的礼物之间有一种神秘的美感.于是,\(JYY\) 决定从中挑选连续的一些礼物,但究 竟选哪些呢? 题目描述 假设礼品店一共有 \(N\) 件礼物排成一列,每件礼物都有它的美观度.排在第 \(i\ (1\leqslant i\leqslant…
题目链接 题意:给你n个礼物重量,给你一个M力量,看你一次性搬动不超过M的礼物重量. 思路:看似背包,但M太大.所以要用DFS,但n也有45,所以考虑双向DFS先搜前半部分满足情况的所有重量,然后去重,再往后半部分搜索,并二分找答案. #include<cstdio> #include<cstring> #include<algorithm> #include<vector> #include<map> #include<queue>…
[BZOJ4476] [JSOI2015]送礼物 Description JYY和CX的结婚纪念日即将到来,JYY来到萌萌开的礼品店选购纪念礼物. 萌萌的礼品店很神奇,所有出售的礼物都按照特定的顺序都排成一列,而且相邻的礼物之间有一种神秘的美感.于是,JYY决定从中挑选连续的一些礼物,但究竟选哪些呢? [问题描述] 假设礼品店一共有N件礼物排成一列,每件礼物都有它的美观度.排在第i1< =i< =N个位置的礼物美观度为正整数Ai,.JYY决定选出其中连续的一段,即编号为礼物i,i+1,-,j-…