摘要:
链接 题意: 有n个人,每个人可能会说: 第x个人是好人/坏人 如果第x个人是好人/坏人,则第y个人是好人/坏人 思路: 状压dp,首先每个人所说的人只能是他前面10个人,所以对于第i个人记录下,他前面十个人的情况。 对于第i个人,如果他说的话一个状态不冲突,那么i可以由这个状态转移。 注意:对于“ 阅读全文
摘要:
链接 思路 斜率优化dp。 代码 阅读全文
摘要:
链接 思路 状压dp,dp[i][s]表示当前是第i次选择,吃过的宝物的状态是s,的期望得分。 如果一个宝物可以吃,那么可以选择吃或不吃,取最大的。 zz的我:50010的空间开成了500100,然后提示tle,醉了。。 代码 阅读全文
摘要:
链接 题意 给n张卡片,每张卡片都有出现的概率,求收集到全部的卡片的期望次数。 思路 状压dp。dp[i] 表示收集了i张,的期望次数。dp[n]=0;可能自己转移到自己,解一下方程。 记zz的bug:1、1<<20在计算器中算完了之后是1048576,然后就少看了一位,开了110000,然后就一直 阅读全文
摘要:
链接 题意: n+1个点,求从0开始,走完所有的点,再回到0号点的最小距离。 思路 状压dp。首先Floyd预处理出任意两个点之间的距离。dp[s][i]表示走过的点的状态是s,其中到达i点的最小距离(i点属于走过的点,即s状态下的点)。当然s是二进制数1表示走过,0表示为走过。 那么dp[s][i 阅读全文