06 2019 档案
摘要:Luogu Description 你收到的礼物是一个非常聪明的机器人,行走在一块长方形的木板上.不幸的是,你知道它是坏的,表现得相当奇怪(随机).该板由n行和m列的单元格组成.机器人最初是在i行和j列的某个单元格上.然后在每一步机器人可以到另一个单元.目的是去底层(n次)行.机器人可以停留在当前单
阅读全文
摘要:为什么牛可以睡这么久我不可以
阅读全文
摘要:Luogu Description 求一个长度为n的序列a的最长下降子序列的长度,以及这个长度的子序列种数,注意相同的几个子序列只能算作一个子序列. n<=5000,a[i]不超过long范围 Sol 求最长下降子序列的长度: 1.f[i]表示以a[i]结尾的最长下降子序列长度 2.f[i]表示以i
阅读全文
摘要:Poj Description 有一个树形的水系,由n-1条河道与n个交叉点组成.每条河道有一个容量,联结x与y的河道容量记为c(x,y),河道的单位时间水量不能超过它的容量.有一个结点是整个水系的发源地,可以源源不断地流出水,为源点.树中度为1的点是入海口,可以吸收无限多的水,为汇点.待整个水系稳
阅读全文
摘要:Luogu CH Sol f[i]表示走到第i个格子时获得的最大分数 发现转移与各个爬行卡片的数量有关,一共只有4种卡片 所以就把这四种卡片的已使用张数也放进状态,f[i][a][b][c][d]... 发现知道a,b,c,d后已得知i,所以减去i的一维,只剩下f[a][b][c][d] 综上,最终
阅读全文
摘要:loj Description 有一些宫殿,它们呈树形结构,相邻的宫殿之间可以互相望见.在一些宫殿设立士兵,使得所有的宫殿都有士兵或是被士兵望见.求最小士兵数. Sol 状态: f[x][0] 表示结点i被父结点覆盖,以i为根的树需要的最小士兵数 f[x][1] 表示结点i被自己覆盖,以i为根的树需
阅读全文
摘要:洛谷loj Desription Bob 喜欢玩电脑游戏,特别是战略游戏。但是他经常无法找到快速玩过游戏的方法。现在他有个问题。 现在他有座古城堡,古城堡的路形成一棵树。他要在这棵树的节点上放置最少数目的士兵,使得这些士兵能够瞭望到所有的路。 注意:某个士兵在一个节点上时,与该节点相连的所有边都将能
阅读全文
摘要:loj Description 如果一个数x的/约数和/y(不包括他本身)比他本身小,那么x可以变成y,y 也可以变成x.限定所有数字变换在不超过n的正整数范围内进行,求不断进行数字变换且不出现重复数字的最多变换步数. 注意断句QwQ,是x的/约数和/y,不是x的约数/和/y Sol 先预处理出每个
阅读全文
摘要:luogu Sol 首先需要根据题目条件把苹果树建出来 容易想到f[i][j]表示以i结点为根的苹果树上保留j个结点所能保留的最大苹果树 需要注意的是f[i][j]包括i结点(根)与它的父亲联结的枝条上的苹果 转移的话就枚举i的第一个子结点保留的结点数k,那么另一个子结点保留的就是j-k-1 这题的
阅读全文
摘要:CH Sol f[l][r]表示l到r这段区间对应的金字塔结构种数 发现是f[l][r]是可以由比它小的区间推出来的 比如已知f[l+1][k],f[k+1][r],不难想到f[l][r]+=f[l+1][k]*f[k+1][r],if(s[l+1]==s[k]&&s[k+1]==s[r]) 为什么
阅读全文
摘要:CH 是很有趣的一道题 : ) Sol 第一反应就是f[i][j]表示前i个小朋友分j块饼干的最小怨气值 但是一个孩子所产生的怨气值并不固定,它与其他孩子获得饼干的情况有关 这里可以用到一个贪心,就是贪婪度大的孩子应该获得尽量多的饼干 所以先按照贪婪度由大到小排序,那么获得的饼干数也会是非严格单调递
阅读全文
摘要:就是<算法导练>&<一本通>上的例题+练习题
阅读全文
摘要:CH Sol ”凸联通块“是什么意思呢? 其实就是图形的左端点先减小再增大,右端点先增大再减小 阶段 考虑到第k行,已经选了i个格子 状态 1.第i行的左端点与右端点 2.这一行的左端点相对于上一行的左端点是递增还是递减 这一行的右端点相对于上一行的右端点是递增还是递减 所以,f[k][i][l][
阅读全文
摘要:luogu Sol 阶段和状态都是树形DP板子题,这里只讲一下背包的部分(转移)叭 它其实是一个分组背包模型,具体理解如下: 对于一个结点x,它由它的子结点y转移而来 在子结点y为根的树中可以选不同数量的课程,这些就可以看成一个组内的物品 具体来说,f[y][1],f[y][2],f[y][3]..
阅读全文
摘要:洛谷 Sol 首先状态是已经完成的请求数量 这题只有三个员工跑来跑去,只有三个.... 一般像这种人数特别少的DP题就会把它们都放到状态里去 于是:f[i][x][y][z]表示现在已经完成了i个请求,一个员工在x,一个员工在y,一个员工在z的最小花费 转移: f[i+1][pi+1][y][z]=
阅读全文
摘要:洛谷传送门 $Sol$ 这是一道具有多个“体积维度”的$0/1$背包问题。 把$N$个候选人看做$N$个物品,那么每个物品有如下三种体积: 1.“人数”,每个候选人的“人数”都是$1$,最终要填满容积为$M$的背包 2.“辩方得分”,$a[i]$ 3.“反方得分”,$b[i]$ 要求的是辩方总分$D
阅读全文
摘要:Vjudge传送门 $Sol$ 首先发现这是一个多重背包,所以可以用多重背包的一般解法(直接拆分法,二进制拆分法...) 但事实是会TLE,只能另寻出路 本题仅关注“可行性”(面值能否拼成)而不是“最优性”,这是一个特殊之处。 从这里找优化 在“最优性”的问题中,$f[j]$从$f[j]$或$f[j
阅读全文
摘要:在多重背包的直接拆分法中,个数为$c[i]$的物体被拆成$c[i]$种不同的物体 这样就使得物体的种类增加了很多,使得算法效率很低。 上述方法把$c[i]$拆成$c[i]$个1,于是任意选择可以表示出$1$到$c[i]$之间的所有数,从而达到多重背包的目的 想到,从$2^0,2^1,2^2,...,
阅读全文
摘要:传送门 Sol 首先状压大概是很容易想到的 一般的做法大概就是枚举每种状态然后判断转移 但是这里其实可以轮廓线dp 也就是从上到下,从左到右地放方块 假设我们现在已经放到了$(i,j)$这个位置 那么影响这个位置怎么填的其实就只有这个位置上面的位置到它左边的位置这一段的状态 于是把这一段从上到下从左
阅读全文

浙公网安备 33010602011771号