随笔分类 -  DP--多维状态动态规划

摘要:A - Sorted Arrays 直接贪心地从前往后取即可。 B - Hamiltonish Path 考虑随便取一条路径 \((u,w_1,w_2,w_3,...,w_k,v)\) 。 那么我们对于 \(v\) 的所有没取过的点,随便选一个取下去即可,这样一定会有终点。 然后对于 \(u\) 同 阅读全文
posted @ 2022-01-10 21:09 __Anchor 阅读(62) 评论(0) 推荐(0)
摘要:题目 分析 首先 \(n^2\) 很显然是个 \(dp\) ,然后显然是需要从低位到高位考虑,因为这样可以让前面的位不对后面造成影响。(比如NOIP2021T2) 然后考虑设状态 \(dp[i][j]\) 表示现在选了前 \(i\) 位,第 \(i\) 位当前有 \(j\) 个数的最大贡献值。 转移 阅读全文
posted @ 2021-12-01 16:35 __Anchor 阅读(55) 评论(0) 推荐(0)
摘要:题目 CF38H The Great Marathon 分析 毒瘤 \(O(n^5)\) 的 \(dp\) 。 首先可以枚举一个金牌线和银牌线,\(O(n^2)\) 。 然后对于每一类线进行一个 \(dp\) ,求方案数表示 \(dp[i][j][k]\) :前 \(i\) 个人,当前已经有了 \( 阅读全文
posted @ 2021-10-26 21:32 __Anchor 阅读(69) 评论(0) 推荐(0)
摘要:题目 CF101E Candies and Stones 分析 毒瘤恶心题目。 很明显就是一个 \(dp\) ,时限开这么大就是想让我们直接暴力转移即可。 但是又明显卡了空间,于是考虑直接滚动数组来 \(dp\) ,但是还要输出方案,于是考虑使用 \(bitset\) 来维护转移的方向。 但是还是要 阅读全文
posted @ 2021-09-14 09:49 __Anchor 阅读(47) 评论(0) 推荐(0)
摘要:题目 P5746 [NOI2002] 机器人M号 分析 这道题足以显示我 \(dp\) 水平真是菜到家了。。才做了不久又不会了。。 首先题目里面说: 对于编号为 \(m\) 的机器人,如果能把 \(m\) 分解成偶数个不同奇素数的积,则它是政客,例如编号 \(15\); 否则,如果 \(m\) 本身 阅读全文
posted @ 2021-08-21 15:51 __Anchor 阅读(235) 评论(0) 推荐(0)
摘要:题意 传送门 分析 悬线法板子 和上一题一样的套路,不过注意这样要求的矩阵的类型是"01相间",所以我们改变一下判断的部分即可 然后求正方形的话直接取$up[i][j]$和$r[i][j]-l[i][j]+1$中的较小值作为正方形的边长然后平方即可 代码 #include<bits/stdc++.h 阅读全文
posted @ 2020-12-12 20:11 __Anchor 阅读(70) 评论(0) 推荐(0)
摘要:题面 传送门 给定一个$n*m$的$0/1$矩阵,求最大子矩阵:满足矩阵内所有元素均为$1$. 输出矩阵大小$*3$ 分析 悬线法,最大子矩阵板子题 (也可以单调栈和并查集,但是窝不会) 维护三个值$l[i][j]$和$r[i][j],up[i][j]\(,分别代表当前点\)(i,j)$向左最长的延 阅读全文
posted @ 2020-12-12 19:49 __Anchor 阅读(92) 评论(0) 推荐(0)