题面

传送门

Sol

设f[S]f[S]f[S]表示看过的电影集合为SSS,当前电影的最大结束时间
枚举电影和电影的开始时间转移
可以对开始时间sort" role="presentation">sortsortsort
二分一下转移即可

# include <bits/stdc++.h>
# define IL inline
# define RG register
# define Fill(a, b) memset(a, b, sizeof(a))
using namespace std;
typedef long long ll;
const int _(30);IL ll Input(){RG char c = getchar(); RG ll x = 0, z = 1;for(; c < '0' || c > '9'; c = getchar()) z = c == '-' ? -1 : 1;for(; c >= '0' && c <= '9'; c = getchar()) x = (x << 1) + (x << 3) + (c ^ 48);return x * z;
}int n, l, d[_], start[_][1010], f[1 << 20], mi[30], ans = -1;int main(RG int argc, RG char* argv[]){n = Input(); l = Input();for(RG int i = 1; i <= n; ++i){d[i] = Input(); start[i][0] = Input();for(RG int j = 1; j <= start[i][0]; ++j) start[i][j] = Input();sort(start[i] + 1, start[i] + start[i][0] + 1);}RG int S = 1 << n; mi[1] = 1;for(RG int i = 2; i <= n; ++i) mi[i] = mi[i - 1] << 1;for(RG int i = 0; i < S; ++i)for(RG int j = 1; j <= n; ++j){if(i & mi[j]) continue;RG int k = lower_bound(start[j] + 1, start[j] + start[j][0] + 1, f[i]) - start[j];if(start[j][k] > f[i]) --k; if(start[j][k] <= f[i]) f[i | mi[j]] = max(f[i | mi[j]], start[j][k] + d[j]);}for(RG int i = 0; i < S; ++i)if(f[i] >= l){RG int cnt = 0;for(RG int x = i; x; x -= x & -x) ++cnt;if(ans != -1) ans = min(ans, cnt);else ans = cnt;}printf("%d\n", ans);return 0;
}

Luogu3118:[USACO15JAN]Moovie Mooving相关推荐

  1. 解题:USACO15JAN Grass Cownoisseur

    解题 首先缩点没啥可说的,然后考虑枚举这次逆行的边.具体来说在正常的图和反图上各跑一次最长路,然后注意减掉起点的贡献,用拓扑排序实现(我这里瞎写了个Bellman_Ford,其实在DAG上这好像和拓扑 ...

  2. 牛客网 【每日一题】5月11日题目精讲 Moovie Mooving

    题目链接 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 Bessie is out at t ...

  3. P3118 [USACO15JAN] 状压 DP + BFS

    题意 传送门 P3118 [USACO15JAN]Moovie Mooving 题解 爆搜至少 O(N!)O(N!)O(N!),考虑状态压缩 DPDPDP.dp[i]dp[i]dp[i] 代表集合 i ...

  4. linux命令看文件内容,Linux文件内容查看相关命令

    1.more命令 在Linux中,more命令是一个基于vi编辑器的文本过滤器,它能以全屏的方式按页显示文本文件的内容,more里面内置了一些快捷键. (1)命令语法 more(选项)(参数) (2) ...

  5. 语法入门*算法入门题单

    作者:王清楚 链接:https://ac.nowcoder.com/discuss/817596?type=101&order=0&pos=1&page=4&chann ...

  6. 【新手上路】语法入门算法入门题单

    作者:王清楚 链接:[新手上路]语法入门&算法入门题单_ACM竞赛_ACM/CSP/ICPC/CCPC/比赛经验/题解/资讯_牛客竞赛OJ_牛客网 来源:牛客网 介绍:本题单分为语法入门和算法 ...

  7. 大数据技术之_19_Spark学习_07_Spark 性能调优 + 数据倾斜调优 + 运行资源调优 + 程序开发调优 + Shuffle 调优 + GC 调优 + Spark 企业应用案例

    大数据技术之_19_Spark学习_07 第1章 Spark 性能优化 1.1 调优基本原则 1.1.1 基本概念和原则 1.1.2 性能监控方式 1.1.3 调优要点 1.2 数据倾斜优化 1.2. ...

  8. golang大厂面试2

    golang大厂面试 滴滴 写个二分查找 以下是一个简单的二分查找算法的 Go 语言实现: package mainimport "fmt"// 二分查找函数 func binar ...

  9. InstallShield内部库函数

    InstallShield内部库函数 下载资源:点击 1  库函数综述 InstallShield包含300多个内部库函数,用户可在安装脚本中调用它们来创建程序组,操作文件夹,处理目录,监督安装状态, ...

最新文章

  1. 2018/5/1 ----1986年图灵奖PPT
  2. 使用Xcode修改iOS项目工程名和路径名
  3. 使用css3制作正方形、三角形、扇形和饼状图
  4. Java面试宝典之开源框架!
  5. 理解ORACLE数据库字符集
  6. 云计算的关键特点及挑战
  7. 关于pycharm deployment消失的问题
  8. 一文让你彻底搞懂主成成分分析PCA的原理及代码实现(超详细推导)
  9. USB chirp信号测试
  10. ADC SFDR无杂散动态范围
  11. 分形艺术能让你感受上帝的力量——新锐100设计师风达专访
  12. 网络爬虫——豆瓣电影排行榜数据抓取(高级)
  13. 悬挂缩进 java,c#Word Interop - 设置段落缩进
  14. Android开发中的drawable-(hdpi,mdpi,ldpi)和WVGA,HVGA,QVGA的区别以及联系
  15. Cucumber测试实践
  16. Matlab之图像变换技术(十二)
  17. 多贝网 --Java后台实习生面试题
  18. 我的保研经历——中国科学院计算技术研究所
  19. 离散余弦变换 DCT
  20. 看漫画学python pdf下载_比无知更悲凉的是好像学过,看完一本漫画,他把python基础啃透了...

热门文章

  1. 震惊!日志级别居然可能导致Dubbo出现空指针异常
  2. 一周企业财报 | 阿迪达斯、西门子医疗、宏利香港、跟谁学等7家企业发布业绩...
  3. PMP 考点 第十二章 项目采购管理
  4. python面试宝典1
  5. 有没有一键生成漫画风格人物漫画插件
  6. arch 双显卡画面撕裂
  7. 小白如何从零开始做电商运营
  8. 解决 js 报错 xxx is not defined
  9. 域名购买的方法是什么?遵循哪些原则?
  10. Java基础——自学java之路