ACM-ICPC 2018 南京赛区网络预赛 - AC Challenge

题意:

有n个题目,每个题目有一些信息,,第 t 个过第 i 题会得到分数 t*ai + bi

在过第 i 题前必须要先过  这几题,可以选择不过题

求最大得分

最多20个题目,不计顺序的话,一共有 2^20 = 1,048,576 种取法

做出 i 个可以从做出 i-1 个的状态推出,枚举第 i 个做出的题目,得到每个做出 i 个题目的最大值然后继续下推

#include <iostream>
#include <string.h>
#include <stdio.h>
#include <algorithm>
using namespace std;
typedef long long int LL;
LL n, x, s, ans, dp[1<<21];
struct node{LL a, b, p;}a[22];
LL count(LL x, int t) {LL ans = -1e12;for(int i=0;i<n;i++) {if(x & (1<<i)) {if((x & a[i+1].p) == a[i+1].p)ans = max(ans, dp[x ^ (1<<i)] + t*a[i+1].a + a[i+1].b);}}return dp[x] = ans;
}
void f(int x, int pre, int cnt, int tot) {if(cnt == x) {ans = max(ans, count(tot, x));return;}if(n-pre < x-cnt) return;for(int i=pre+1;i<=n;i++) f(x, i, cnt+1, tot | (1<<(i-1)));
}
int main()
{scanf("%lld", &n);for(int i=1;i<=n;i++) {scanf("%lld%lld%lld", &a[i].a, &a[i].b, &s);for(int j=1;j<=s;j++) {scanf("%lld", &x); a[i].p |= (1<<(x-1));}}for(int i=1;i<=n;i++) f(i, 0, 0, 0);printf("%lld\n", ans);return 0;
}

ACM-ICPC 2018 南京赛区网络预赛 - AC Challenge(状压DP)相关推荐

  1. ACM-ICPC 2018 南京赛区网络预赛 AC Challenge

    Dlsj is competing in a contest with n (0 < n \le 20)n(0<n≤20) problems. And he knows the answe ...

  2. ACM-ICPC 2018 南京赛区网络预赛 AC Challenge (状态压缩DP)

    题目链接 https://nanti.jisuanke.com/t/30994 题目大意 给出一些题目的价值参数a,b.答对这道题的价值为t×a+b,t是答对题目的数量(包括正在答的这道题).每道题不 ...

  3. ACM-ICPC 2018 南京赛区网络预赛 E-AC Challenge

    Dlsj is competing in a contest with n (0 < n ≤ 20) problems. And he knows the answer of all of th ...

  4. E. AC Challenge ACM-ICPC 2018 南京赛区网络预赛 状压dp + 枚举状态

    博客目录 原题 题目链接 Dlsj is competing in a contest with n (0 < n \le 20)n(0<n≤20) problems. And he kn ...

  5. 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 ...

  6. ACM-ICPC 2018 南京赛区网络预赛

    轻轻松松也能拿到区域赛名额,CCPC真的好难 An Olympian Math Problem 问答 只看题面 54.76% 1000ms 65536K Alice, a student of gra ...

  7. ACM-ICPC 2018 南京赛区网络预赛 Lpl and Energy-saving Lamps 线段树

    目录 ACM-ICPC 2018 南京赛区网络预赛 Lpl and Energy-saving Lamps 线段树 题面 题意 思路 ACM-ICPC 2018 南京赛区网络预赛 Lpl and En ...

  8. ACM-ICPC 2018 南京赛区网络预赛 B. The writing on the wall

    题目链接:https://nanti.jisuanke.com/t/30991 2000ms 262144K Feeling hungry, a cute hamster decides to ord ...

  9. L. Poor God Water(ACM-ICPC 2018 焦作赛区网络预赛,ac自动机+矩阵快速幂 或 BM线性递推)

    描述 God Water likes to eat meat, fish and chocolate very much, but unfortunately, the doctor tells hi ...

最新文章

  1. python订单详细教程-Python抓取订单页面
  2. 配置中心框架IConfCenter
  3. 了解mysql文章_一篇文章带你深入了解MySQL 索引相关
  4. endnote导致word 2007很慢
  5. 背景纹理素材|为前景元素添加焦点
  6. BST:Transformer在推荐领域的应用
  7. ini文件中文乱码 python_用心盘Python:中文文件处理早晚会用到的将中文转成拼音...
  8. 对DSP的基本了解(一)--DSP是什么?
  9. 步进电机原理及参数详解
  10. Adobe Axure RP中后台管理系统全套通用交互原型设计模板
  11. python 扫描枪_python实现超市扫码仪计费
  12. matlab中probIdx = 2 2,利用1stOpt1.5 pro来进行多元非线性拟合
  13. ovs vlan tag管理
  14. 如何在线将mov格式转换成mp4视频
  15. 关于IE浏览器加载图片报206错误的一个解决方法
  16. iOS屏幕自动旋转 以及横屏模式打开APP出现的问题
  17. 在线ico图标制作、python代码实现ico格式转换
  18. DENO 1.10发行说明
  19. extern C 引起的 error C2059
  20. 服务器 响应400,加载资源失败:服务器响应的状态为400:spring mvc

热门文章

  1. android百度地图 okhttp,阳光沙滩-Android8.0用OkHttp3报错,而andoird9.0和10.0不报错
  2. NLI:Natural Language Inference
  3. C语言程序设计-简易文本编辑器
  4. 【英文SEO】Google网站管理员工具是什么?
  5. 超级解压缩工具RAR Extractor The Unarchiver Pro
  6. python移动文件到另一个文件夹若有同名文件更改文件名_Python 创建、复制、移动、删除和重命名文件和文件夹...
  7. 华清远见上海中心22071班 8.24作业
  8. 启动和关闭MySQL服务
  9. c语言事业单位笔试题目及答案,2017年事业单位考试公共基础知识试题及答案
  10. Python中对文件与文件夹的操作方法【详细】