题目:https://www.luogu.org/problemnew/show/P3515 决策单调性... 参考TJ:https://www.cnblogs.com/CQzhangyu/p/7258256.html 注释WA???最近似乎总是WA在二分上... 代码如下: #include<iostream> #include<cstdio> #include<cstring> #include<cmath> using namespace std; ;…
传送门 我们相当于要求出\(f_i = \max\limits_{j=1}^{n} (a_j + \sqrt{|i-j|})\).这个绝对值太烦人了,考虑对于\(i>j\)和\(i<j\)分开做. 当\(i>j\)时,\(f_i = \max\limits_{j=1}^{i-1}(a_j + \sqrt{i-j})\).注意到这是一个典型的\(f_i = \max\limits_{j=1}^{i-1}f_j + w(i,j)\)的形式,考虑决策单调性.不难证明\(\sqrt{x + 1}…
点此看题面 大致题意: 给你一个序列,对于每个\(i\)求最小的自然数\(p\)使得对于任意\(j\)满足\(a_j\le a_i+p-\sqrt{|i-j|}\). 证明单调性 考虑到\(\sqrt{|i-j|}\)的增长是逐渐变慢的,所以若当前位置\(i\)受\(x\)影响,那么对于任意\(y<x\),\(i\)之后的位置都不可能再受\(y\)影响. 也就可见其具有单调性. 决策单调性 这里的决策单调性我用的是闪指导指导我的分治做法. 我们对于当前区间\([l,r]\),再记录一个决策区间\…
给定一序列,求对于每一个$a_i$的最小非负整数$p_i$,使得$\forall j \neq i $有$ p_i>=a_j-a_i+ \sqrt{|i-j|}$. 绝对值很烦 ,先分左右情况单独做.现在假设j都在i左边,则$ p_{i} = max \{ a_{j}-a_{i}+ \sqrt{i-j} \} = max \{ a_{j}+ \sqrt{i-j} \} - a_i$.带根号,不易斜率优化,考虑证决策单调性. 假设最优决策为j,j之前的任意决策称之为$j'$,只与$j$有关的项令之…
[BZOJ2216][Poi2011]Lightning Conductor Description 已知一个长度为n的序列a1,a2,...,an.对于每个1<=i<=n,找到最小的非负整数p满足 对于任意的j, aj < = ai + p - sqrt(abs(i-j)) Input 第一行n,(1<=n<=500000)下面每行一个整数,其中第i行是ai.(0<=ai<=1000000000) Output n行,第i行表示对于i,得到的p Sample I…
传送门 鉴于FlashHu大佬讲的这么好(而且我根本不会)我就不再讲一遍了->传送 //minamoto #include<iostream> #include<cstdio> #include<algorithm> #define upd(A,L,R) {cmax(A[i][j],A[k][j]+tot[L][R]);\ if(j>=tot[L][R]) cmax(A[i][j],A[k][j-tot[L][R]]);} #define calc(y) m…
传送门 这个思路很妙诶->这里 以下为了方便,我把自信说成血量好了 虽然表面上看起来每一天有很多种选择,然而我们首先要保证的是不死,然后考虑不死的情况下最多能拿出多少天来进行其他操作.不死可以dp,最大伤害可以枚举 首先我们要保证不死.设$dp[i][j]$表示在第$i$天,血量为$j$时最多多少天不刷题,那么这个可以直接dp出来 我们设$D$为dp数组的最大值,即最多有多少天可以使用 在这$D$天里,我们只需要选3,4,5操作,剩下的就可以多退少补 我们假设两次怼大佬的情况分别为$(d1,f1…
BZOJ_2216_[Poi2011]Lightning Conductor_决策单调性 Description 已知一个长度为n的序列a1,a2,...,an. 对于每个1<=i<=n,找到最小的非负整数p满足 对于任意的j, aj < = ai + p - sqrt(abs(i-j)) Input 第一行n,(1<=n<=500000) 下面每行一个整数,其中第i行是ai.(0<=ai<=1000000000) Output n行,第i行表示对于i,得到的p…
洛谷 P4093 [HEOI2016/TJOI2016]序列 CDQ分治优化DP 题目描述 佳媛姐姐过生日的时候,她的小伙伴从某宝上买了一个有趣的玩具送给他. 玩具上有一个数列,数列中某些项的值可能会变化,但同一个时刻最多只有一个值发生变化.现在佳媛姐姐已经研究出了所有变化的可能性,她想请教你,能否选出一个子序列,使得在任意一种变化中,这个子序列都是不降的?请你告诉她这个子序列的最长长度即可. 输入格式 输入的第一行有两个正整数 \(n,m\),分别表示序列的长度和变化的个数. 接下来一行有 \…
洛谷题面传送门 考虑一个平凡的 DP:我们设 \(dp_i\) 表示前 \(i\) 辆车一来一回所需的最小时间. 注意到我们每次肯定会让某一段连续的火车一趟过去又一趟回来,故转移可以枚举上一段结束位置,设为 \(j\),那么有转移 \[dp_i=\min\limits_{j}\{\max(dp_j+i-j-1,a_i)+2s+i-j-1\} \] 在这里我们不妨假设 \(a_i<a_{i+1}\),这个可以通过从左到右扫一遍并执行 \(a_i\leftarrow\max(a_{i-1}+1,a_…