随笔分类 -  算法:状压dp

摘要:题目 欧贝利斯克的巨神兵很喜欢有向图,有一天他找到了一张$n$个点$m$条边的有向图。 欧贝利斯克认为一个没有环的有向图是优美的,请问这张图有多少个子图(即选定一个边集)是优美的? 答案对$10^9+7$取模。 对于 40% 的数据$n≤5,m≤20$ 对于 60% 的数据$n≤10$; 对于 80 阅读全文
posted @ 2019-10-27 15:18 zeroy0410 阅读(316) 评论(0) 推荐(0)
摘要:$dp[i][S]$表示选到某个男生,女生的选择集合。然后暴力转移,复杂度$O(2^{n m} K m)$ 极限数据一亿多,然而卡过去了。 cpp include define clr(x,y) memset(x,y,sizeof(x)) using namespace std; int n,m,a 阅读全文
posted @ 2019-02-16 16:22 zeroy0410 阅读(142) 评论(0) 推荐(0)
摘要:其实这是一道简单题不知道为什么1AC 定义$dp[i][S]$表示前$i$的长度,取了$S$这个集合,这样就可以用$dp[i][S]$更新$dp[i+1][S与v]​$。 最后统计一下答案就好了。 代码 cpp include using namespace std; const int M=100 阅读全文
posted @ 2019-02-16 16:21 zeroy0410 阅读(124) 评论(0) 推荐(0)