随笔分类 - dp-状压dp
摘要:"A. Gotta Catch Em' All!" 题意 从给定的字符串中选取字符,问可构成多少个$Bulbasaur$ // 想到柯南里一些从报纸上剪汉字拼成的恐吓信_(:з」∠)_ Code "B. Bash's Big Day" 题意 从$n$个数中挑尽可能多的数使得它们的$gcd\gt 1$
阅读全文
摘要:"A. 坑爹的售票机" 题意 用$1,5,10,25,50,100$的纸币买$n$张单价为$p$的船票,且一次性最多买$k$张,求钱数恰好时最少需要多少张纸币。 Hard: $n,k,p\leq 10^9$ 思路 Easy: dp Hard: dp + 瞎搞 当钱数过大或者张数过多时,(由直觉)其中
阅读全文
摘要:"题目链接" 题意 用$1\times 2$的骨牌铺满$H\times W(H,W\leq 11)$的网格,问方案数。 思路 参考 "focus_best" . 竖着的骨牌用$\begin{pmatrix}0\\1\end{pmatrix}$表示,横着的骨牌用$\begin{pmatrix}1&1\
阅读全文
摘要:"题目链接" 题意 $N$种气体,$i$气体与$j$气体碰撞会: 1. 产生$a[i][j]$的威力; 2. 导致$j$气体消失。 求产生威力之和的最大值。 思路 和前几题找图上路径的题不一样,该题如果抽象成图上的问题,则为: 在有向连通图中找一棵树,对于每一对$(parent,child)$关系对
阅读全文
摘要:"题目链接" 题意 给定一个$N$个点的无向图,求一条哈密尔顿路径$C_1C_2...C_n$,使其$value$最大。 $value$的计算方式如下:$$\begin{aligned}value&=\sum_{i=1}^{n}C_i\\&+\sum_{i=1}^{n 1}C_i C_{i+1}\\
阅读全文
摘要:"题目链接" 题意 给定一个$N$个点的无向图,求从任意一个点出发,经过所有点的最短路径长度(每个点 至多可以经过两次 )。 思路 状态表示、转移及大体思路 与 "poj 3311 Hie with the Pie 经过所有点(可重)的最短路径 floyd + 状压dp" 相同。 但,因为是每个点
阅读全文
摘要:"题目链接" 题意 给定一个$N$个点的完全图(有向图),求从原点出发,经过所有点再回到原点的最短路径长度(可重复经过中途点)。 思路 因为可多次经过同一个点,所以可用floyd先预处理出每两个点之间的最短路径。 接下来就是状压dp的部分。 将已经经过的点的状态用$state$表示, 则$dp[st
阅读全文
摘要:"题目链接" 题意 在$N\times M$的$0,1$格子上放东西,只有标记为$1$的格子可以放东西,且每一格的向上两个,向下两个,向左两个,向右两个格子均不能放东西。问整张图上最多能放多少东西。 思路 参考: "accry" . 因为每一行的状态与上两行有关,所以用$dp[i][j][k]$表示
阅读全文
摘要:"题目链接" 题意 在$M\times N$的$0,1$格子上放东西,只有标记为$1$的格子可以放东西,且相邻的格子不能同时放东西。问有多少种放法。 思路 参考: "swallowblank" . $dp[i][state]$表示放到第$i$行状态为$state$时的情况总数。显然有 $$dp[i]
阅读全文