摘要:
斜率优化dp 考虑一类$dp$方程 $$dp[i]=\min_{L(i)\le j\le R(i)}{f(j)+val(i,j)}$$ $min$改成$max$也是可以的 其中$val$中含有$ij$乘积这一项 例题: "任务安排" 转移方程 $$dp[i]=\min_{0\le j using n 阅读全文
摘要:
~~现在才开始写这种彩笔东西qaq~~ 01背包 这个不想多讲了 完全背包 这个也没什么好讲的 就是把循环顺序换一下 单调队列优化 首先我们有普通的转移方程 设$vol$为体积,$wei$为价值,$num$为数量 令$lim=\min(\left \lfloor \frac{V}{vol} \rig 阅读全文
摘要:
A 题面:51nod 1850 题解:概率DP ~~话说为什么背包对这些神仙们这么简单,直接带过去的啊~~ 首先我们来看一下$O(n^4)$的做法 首先枚举人,枚举他抽到的牌$O(n^2)$ 然后用背包转移$O(n^2)$ 由于是用背包转移,所以要先对每个人的卡$sort$一遍 背包求出有$k$个人 阅读全文
摘要:
题面: "Luogu" 题解:线段树优化建图+差分约束+toposort 可以发现$[l,r]$区间被分成了$k+1$段区间 然后发现这是典型的差分约束,从区间向单点连边 大概就是建一颗出树 每一次区间连边,就把这些区间对应的点连向一个新建的虚拟节点,然后再从这个节点连向对应位置 具体看代码 我也不 阅读全文
摘要:
题面: "Luogu" 题解: 首先我们发现,每一次打~~longge~~龙的剑是可以算出来的,所以全部丢到$multiset$里就好了 于是我们要求解的就是 $$ \begin{cases} K_1x\equiv a_1~(~mod~p_1) \\ K_2x\equiv a_2~(~mod~p_2 阅读全文
摘要:
题面: "Luogu" 题解:线段树优化连边+最短路 像这种区间连边的问题我们考虑直接上线段树优化(因为一条一条连复杂度太高了) 标准模板就是建两颗线段树,一颗入一颗出 入的树父亲向儿子连边 表示能到父亲必定能到儿子 出的树儿子向父亲连边 表示能从儿子出来必定也能从父亲出来 以上连边边权为 0 给的 阅读全文
摘要:
A 汽油补给 题面:51nod 1288 题解:贪心+单调栈 显然每个点加油加到能到右边第一个比这个点便宜的地方即可 B 选址 题面:51nod 2558 题解:最短路+贪心 代码实现能力还是太弱了啊 以及吐槽一下这个题解,没有$LaTex$还一大段真的是看瞎眼 把原来的题解美化了一下 首先用$\t 阅读全文
摘要:
题面: "Luogu" 题解:$\text{dp}$ 两个的状态方程都很显然 $$ \begin{split} f[i] &=\sum_{j=1}^{m}{f[i j]} \\ g[i] &=\sum_{j=0}^{i 1}{g[j] f[j+1...i]} \end{split} $$ 其中$g[ 阅读全文
摘要:
题面: "Luogu" 题解:缩点+树形dp 题目还是很简单的,缩一下点,在新图上跑dp 这个dp连我都能一眼,可知难度多低 注意缩完点,建完新图后,再新建一个根,连到每一个入度为0的点上,再dfs include using namespace std; inline void read(int& 阅读全文