![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
状压DP
sunyutian1998
这个作者很懒,什么都没留下…
展开
-
Kefa and Dishes CodeForces - 580D
http://codeforces.com/problemset/problem/580/D状压DP裸题 dp[i][j]代表状态i下 以第j道菜为结尾时的最大满意度 当某一状态恰好有m道菜时更新一下答案即可#include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxn...原创 2019-03-04 15:44:24 · 139 阅读 · 0 评论 -
Travelling HDU - 3001
点击打开链接对状压dp一直不是很懂 之前学过的区间、背包等 都是在面对一个未知的高阶状态时 从已知的状态来推出 而状压dp则是通过一个已知的状态来优化其他相对高阶的状态(或者说松弛)在这道题中 dp[pre[i]][i]==0 是已知条件 用类似于最短路的方法从状态0遍历到pre[n+1]-1 来优化(松弛)其他状态强行解释一下发现每个当前遍历到的状态都是已经被之前的状态优化过的 ...原创 2017-12-09 21:26:04 · 270 阅读 · 0 评论 -
炮兵阵地 POJ - 1185
点击打开链接第i行只和第i-1行第i-2行有关 显然要DP 发现列数很小 考虑状态压缩 但若使dp[i][j][k]代表在第i行第i行取j状态第i-1行取k状态 那复杂度就是n*(2^m)*(2^m)*(2^m)这里最巧妙的是 对于某一行 它所有状态中 满足炮兵两两不交叉的状态非常少 因为这相当于要求二进制位上相邻1至少相隔两位 这样就把m变的很小 最后注意一下细节...原创 2017-11-11 21:11:59 · 249 阅读 · 0 评论 -
Hie with the Pie POJ - 3311
http://poj.org/problem?id=3311状压DP裸题 但是因为每个点可以经过多次 所以要先跑一遍floyd忘了n++ 数组开小调了半小时。。#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int N=0...原创 2019-04-18 20:37:49 · 108 阅读 · 0 评论