【状压dp】AC Challenge
https://nanti.jisuanke.com/t/30994
把每道题的前置条件用二进制压缩,然后dp枚举所有可能状态,再枚举该状态是从哪一个节点转移来的,符合前置条件则更新。
代码:
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
typedef long long ll;
const int maxn = 1 << 20;
ll dp[maxn], a[21], b[21];
int pre[21];
int calc(int s) {int res = 0;for (int i = 0; i < 20; i++) {if ((1 << i) & s) {res++;}}return res;
}
int main() {int n;memset(dp, -0x3f, sizeof dp);scanf("%d", &n);for (int i = 1, t, x; i <= n; i++) {scanf("%lld%lld%d", &a[i], &b[i], &t);while (t--) {scanf("%d", &x);pre[i] += (1 << (x - 1));}}ll ans = 0;dp[0] = 0;for (int i = 1; i < (1 << n); i++) {for (int j = 0; j < n; j++) {if (i & (1 << j)) {int t = i - (1 << j);if ((t & pre[j + 1]) == pre[j + 1]) {dp[i] = max(dp[i], dp[t] + calc(i) * a[j + 1] + b[j + 1]);ans = max(ans, dp[i]);}}}}printf("%lld\n", ans);
}
转载于:https://www.cnblogs.com/stolf/p/9572209.html
【状压dp】AC Challenge相关推荐
- 郊区春游(状压dp)
链接:https://ac.nowcoder.com/acm/contest/134/D 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言5242 ...
- ACM-ICPC 2018 南京赛区网络预赛 J AC Challenge (状压dp)
题意 给你n道题,在你做第ii{i}道题的时候有p[j]p[j]{p[j]}个前置条件,当这些前置条件都满足的时候,我们可以得到a[j]∗t+b[j]a[j]∗t+b[j]a[j] * t + b[j ...
- ACM-ICPC 2018 南京赛区网络预赛 E AC Challenge 状压DP
题目链接: https://nanti.jisuanke.com/t/30994 Dlsj is competing in a contest with n (0 < n \le 20)n(0& ...
- ACM-ICPC 2018 南京赛区网络预赛 E AC Challenge(状压dp)
Dlsj is competing in a contest with n (0 < n \le 20)n(0<n≤20) problems. And he knows the answe ...
- ACM-ICPC 2018 南京赛区网络预赛 E. AC Challenge(状压dp)
题目链接:https://nanti.jisuanke.com/t/30994 样例输入1 5 5 6 0 4 5 1 1 3 4 1 2 2 3 1 3 1 2 1 4 样例输出1 55 样例输入2 ...
- ACM-ICPC 2018 南京赛区网络预赛 E. AC Challenge 状压dp
Dlsj is competing in a contest with n(0<n≤20)n (0 < n \le 20)n(0<n≤20) problems. And he kno ...
- 【ACM-ICPC 2018 南京赛区网络预赛】E AC Challenge【状压DP】
题目链接 状压DP DP[S]表示S中所有的问题都解决的可以获得的最大权值 代码 #include <map> #include <set> #include <queu ...
- HDU - 2825 Wireless Password(AC自动机+状压dp)
题目链接:点击查看 题目大意:给出 m 个匹配串,问长度为 n 的字符串中,至少包含 k 个匹配串(可重叠)的字符串有多少个 题目分析:考虑到n,m,k都特别小,所以可以先用AC自动机将状态关系转移出 ...
- BZOJ 4042 Luogu P4757 [CERC2014]Parades (树形DP、状压DP)
题目链接 (BZOJ) https://www.lydsy.com/JudgeOnline/problem.php?id=4042 (Luogu) https://www.luogu.org/prob ...
- CH0103最短Hamilton路径 poj2288 Islands and Brigdes【状压DP】
虐狗宝典学习笔记: 取出整数\(n\)在二进制表示下的第\(k\)位 \((n >> ...
最新文章
- 利刃 MVVMLight 8:DispatchHelper在多线程和调度中的使用
- boost::hana::make_type用法的测试程序
- boost::format模块一些真实的、简单的测试
- KVM虚拟机相关步骤
- Java 时间处理(格式解释、格式化时间、获取当前时间、获取年份、月份等、时间戳转换成时间)
- 怎么判断我选了多少个复选框_7~8个月宝宝一天吃多少辅食,怎么安排?妈妈这样做,养出健康娃...
- android ota不打包_android 6.0系统 make otapackage 错误
- java中数据类型及运算符的注意事项
- 服务器搭建nginx集群
- FastDFS存储目录迁移方案
- Python爬虫实战三之计算大学本学期绩点
- 苹果手机通过iCloud导出通讯录导入到安卓手机 教程
- 简单 黑苹果dsdt教程_提取DSDT和SSDT教程
- CS5213芯片|HDMI to VGA转换头芯片
- 银河麒麟 Kylin_s10_sp3安装Oracle11g(FS)(亲测有效)
- V_rep与vs2019开发环境配置
- MTK平台如何决定SensorMode
- Linux系统 D2L 安装
- mysql 常用sql调优_MySQL 常用SQL优化
- 【万兴PDF专家】OCR引擎的离线安装方法,让你不受网速的折磨,PDF给OCR成可搜索的高级PDF,牛逼了我的万兴
热门文章
- Scrapy爬取知乎用户信息
- pandas根据索引删除dataframe列
- mysql5.5 5.7区别_mysql 5.5 和5.7 安装的区别
- Git检出指定的目录-稀疏检出
- MYSQL 字符集问题
- Soul 网关源码阅读(四)Dubbo请求概览
- 崩坏3支持鸿蒙系统没,崩坏3鸿蒙版
- php 读取文件的所有图片格式,扣丁学堂PHP培训简述PHP如何读取文件夹下所有图片、文件-php文件...
- Python的第三方库requests
- MySQL中的locate函数