随笔分类 - 动态规划
摘要:~~我是不会说我是想写林克卡特树才来学这个东西的~~ dp凸优化/带权二分 这个东西其实挺有用的, dp凸优化是来解决这类问题的 你有一些操作,操作$i$会对答案有贡献$w_i$,选的操作越多,$w_i$越小/大 问恰好进行$k$次操作所得到的最大/小答案 普通解法 额外记一维$k$表示进行了$k$
阅读全文
摘要:"$ProblemLink$" 题意 你正在玩一个关于长度为$n$的非负整数序列的游戏。这个游戏中你需要把序列分成 $k+1$ 个非空的块。为了得到 $k+1$块,你需要重复下面的操作$k$次: 1. 选择一个有超过一个元素的块(初始时你只有一块,即整个序列) 2. 选择两个相邻元素把这个块从中间分
阅读全文
摘要:题目大意 "$ProblemLink$" $Sunke$有一棵N + 1个点的树,其中0为根,每个点上有0或1个石子,$Sunke$会不停的进行如下操作直至整棵树没有石子: 把0上面的石子从树上拿走放入口袋; 把每个点上的石子移到其父亲上; 对于每个点,若其石子数$\gt1$,则移除该点所有石子(不
阅读全文
摘要:对每个右端点, 记录它向左第一次出现某种颜色的位置 设$f[i][r][g][b]$表示当前考虑到第i位,最后一个r,g,b颜色的出现的位置。 显然有$i=max(r,g,b)$ 然后就直接$dp$就可以了。 cpp / @Date : 2019 10 05 11:48:12 @Author : A
阅读全文
摘要:题目大意 给出 $n$个数$a_i$,以及$n$个数 $b_i$ ,要求两两配对使得$a b$的对数减去$ab$的对数就可以算出来对数之差。 设$dp[i][j]$表示枚举到第$i$个,$a b$对数为$j$的个数 。 。。 。。。 然后你做不下去了。 你并不知道你转移的是大还是小的情况。 于是我们
阅读全文
摘要:显然有$f[i]=min(f[j]+w(i,j)),w(i,j)=|sum[i] sum[j] L 1+i j|^P$ $sum_i=\sum\limits_{j=1}^ilen_j$ ~~通过打表,~~我们可以发现$w$满足四边形不等式。 于是我们用单调队列来维护决策点。 二分找出最优位置的分界点
阅读全文
摘要:用Splay维护凸包 以后还是建议用CDQ吧。 Splay比较难调试
阅读全文
摘要:$O(n^2k)$比较好想 $dp[i][j]=\min\limits_{k using namespace std; define IL inline define RG register define int long long define gi getint() define gc getc
阅读全文
摘要:好像不是很难,就是普通的CDQ分治,每次统计左边对右边的贡献 cpp / @Date : 2019 08 15 20:38:48 @Author : Adscn (adscn@qq.com) @Link : https://www.cnblogs.com/LLCSBlog / include usi
阅读全文
摘要:题意:将序列分成若干段,区间 l,r有代价,求最小代价。 显然有二维方程式 $\large f_i=min\lbrace f_j+\sum_{k=j+1}^{i}p_i(x_k x_i)\rbrace +c_i$ $\large f_i=min\lbrace f_j+\sum_{k=j+1}^i P
阅读全文
摘要:"$ProblemLink$" ~~在题解的滋养下~~ 我们观察到你的自信值并不会因为你去执行1,3,4,5操作而被影响。 而且1,3,4,5操作也与操作时的天数无关。 于是我们可以先做一个简单$dp$,让你刷水题的次数尽量少。 $f[i][j]$代表在第$i$天还活着,且自信值为$j$的最多能空出
阅读全文
摘要:"$ProblemLink$" 设$S_i=\sum_{i=1}^n C_i$ 易得$n^2$方程 设$f[i]$为处理前$i$个玩具的最小费用 $f_i=min(f_j+(i j+s_i s_j L)^2)(j using namespace std; define IL inline defin
阅读全文
摘要:斜率优化$dp$入门题。 "$ProblemLink$" 先从$n^2$的$dp$开始 设$S_i=\sum_{i=1}^n a_i$ $f_i$为输出前$i$个的最小代价。 显然有$f_i=min(f_j+(S_i S_j)^2+M)(jk)$更优当且仅当 $f_j+(S_i S_j)^2 usi
阅读全文

浙公网安备 33010602011771号