随笔分类 - DP
摘要:XVI.[HDU3507]Print Article 没什么好说的,这题比任务安排还水,随便推推完事。 代码: #include<bits/stdc++.h> using namespace std; #define int long long int n,m,s[500100],f[500100]
阅读全文
摘要:XV.[JSOI2009]火星藏宝图 一个非常显然的结论:在最优方案中,路径上的任意两个点所构成的矩形内部一定不存在其它点。不然的化,在这个其它的点多停留一下一定不会更差。 因为$a2+b2<(a+b)^2$。 但是,就算想到这个,我也得不出什么好的转移方式 考虑将所有岛屿按照行优先,如果行相同就按
阅读全文
摘要:XIII.[SDOI2016]征途 这题已经在我的任务列表里吃了大半年的灰了……(去年7月加进来的,到现在已经8个月了) 开始推式子。 我们设第$i$天的路程是$l_i$, 则我们的目的是最小化 \(s^2=\sum\limits_{i=1}^m\dfrac{(\overline{l}-l_i)^2
阅读全文
摘要:XII.[SDOI2012]任务安排 同上一题一样,不过,这题的$t_i$可能有负数,这就意味着前缀和不再是单调增的! 我们不能再像前一题一样用单调队列维护了——但是因为队尾的单调性仍然存在,我们仍然可以维护上凸包。这就启发我们使用单调栈来维护斜率,并且在单调栈中二分。 我们不妨想一想,如果这个$c
阅读全文
摘要:XII.任务安排 斜率优化真$\color\colorbox$有意思!! 设$t[i]$表示原题中的$t_i$的前缀和,$c[i]$表示原题中$f_i$的前缀和,$m$表示启动时间$s$。 思路1:$n^3$DP: 设$f[i][j]$表示:前$i$个位置,分成$j$组,的最快时间。 则有$f[i]
阅读全文
摘要:XI.[SHOI2007]书柜的尺寸 排序是各类DP题中只要出现了物品这个意象后的常客。 我们首先将书按照高度递减排序。这样,一个书柜的高度,就是第一本被放进来的书的高度。 设$f[i][j][k]$表示:DP到第$i$本书,第一层书架的长度为$j$,第二层书架的长度为$k$时,整个书柜的最小高度。
阅读全文
摘要:X.[SCOI2008]着色方案 双倍经验,双倍快乐 可以看出这题直接是上一题的无编号版,直接套上一题的板子,乘上逆元的倒数直接水过,还轻轻松松完虐正解(五维暴力DP) 代码: #include<bits/stdc++.h> using namespace std; const int mod=1e
阅读全文
摘要:IX.[AHOI2018初中组]球球的排列 论DP的百种用法之一 因为DP必须有一种全面的状态,但是这道题……似乎排列等等问题都不是DP擅长处理的地方。 首先分析性质。我们发现,这种不能放在一起的关系具有传递性。因为如果$xy=a2,xz=b2$,那么$yz=\dfrac{(xy)(yz)}{x2}
阅读全文
摘要:VIII.CF149D Coloring Brackets 考虑设$f[i][j][k=0/1/2][l=0/1/2]\(表示:将区间\)[i,j]$里的东西染色,左端染上颜色$k$,右端染上颜色$l$($0$为红,$1$为蓝,$2$不染)的方案数。 因为这个$n$是$700$,$n3$似乎过不了,
阅读全文
摘要:VII.[SDOI2009]Bill的挑战 第一眼看上去不会做。第二眼发现$n\leq 15$直觉状压。第三眼算算复杂度发现OK,然后就没问题了。 我们设$f[i][j]$表示: 当前DP到了第$i$位, 所有串的匹配成功的状态是$j$, 的方案数。 通过预处理一个状压数组$mat[i][j]$表示
阅读全文
摘要:VI.[HAOI2008]玩具取名 状压一下。 我们令$f[i][j]\(为:区间\)[i,j]$的串,能转移到字母的状态(是个 bitmask ) 至于转移吗……劈开拼一起即可。 代码: #include<bits/stdc++.h> using namespace std; int m[4],n
阅读全文
摘要:V.[SCOI2007]压缩 这种DP状态需要考虑到各种状态的题最讨厌了…… 思路1.设$f[i][j]\(表示将区间\)[i,j]$里面所有东西压一起的最小代价 有两种转移: 砍成两段拼一起 样例里面这种方法,MaRR=aaaa 这种倍增法 然后我就写出了这样的代码: #include<bits/
阅读全文
摘要:III.[SCOI2009]粉刷匠 所有的DP,只要式子一推出来(不管复杂度),那就很简单了,因为优化是成千上万种的…… 思路1.我们考虑设$f[i][j][k]$表示:当前DP到第$i$块木板的第$j$个位置,共涂了$k$次,所能获得的最大收益。因为还要枚举当前这次涂是从哪到哪的,因此复杂度为$O
阅读全文
摘要:II.[HAOI2010]计数 我不得不吐槽出题人的语文实在太……那个了。 翻译一下:给你一个数,求它是全排列中第几个。 为什么呢?我们看一下给定的那个${1,2}$的例子。显然,在任何合法的数中,所有的非零数的出现次数,在每个数中都是相同的。如果我们允许前导零,那么所有的$0$的出现次数也都相同了
阅读全文
摘要:I.[JSOI2010]快递服务 我们约定共有$n$个地点,依次登记了$m$家公司。 思路1. 设$f[l][i][j][k]$表示:当前某一个司机在第$i$家公司(注意是公司!$1000$家那个!),第二个司机在第$j$家,第三个司机在第$k$家,当前我们遍历到了第$l$家公司。依次转移即可。 复
阅读全文
摘要:"[SDOI2014]数数" 这题是AC自动机与各种dp相结合的范例。 首先,按照套路,我们建出~~自动AC机~~。然后,因为是$\le N$的所有数的总数,很容易想到 数位dp (实际上它如果是在$L,R$之间所有数的总数则更明显)。 令$f_{x,len,lim}$表示: 在自动机上$x$号节点
阅读全文
摘要:"[JSOI2007]文本生成器" 第一题自己没看题解就做出来的~~自动AC机~~题祭。 一眼看出这道题正着求不好求,必须反过来,用总方案数 不合法方案数=合法方案数。 任意一种不合法的方案,在AC自动机上$merge$时,所遍历到的每一个节点,必定都不是任何串的结尾节点,同时它在$fail$树上的
阅读全文
摘要:VIII. "[JSOI2012]分零食" 首先,暴力的DP是非常轻松的。设$f_{i,j}$为(前$i$个人,分了$j$颗糖)的种数,再设$g_i$为(一个人拿到$i$颗糖的快乐度),即$(Oi^2+Sx+U)$。 首先,我们可以将人数$A$与糖数$M$取$\min$,因为反正最多只有前$M$个人
阅读全文

浙公网安备 33010602011771号