博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Usaco2005 Open]Disease Manangement 疾病管理 BZOJ1688
阅读量:6569 次
发布时间:2019-06-24

本文共 771 字,大约阅读时间需要 2 分钟。

分析:

这个题的状压DP还是比较裸的,考虑将疾病状压,得到DP方程:F[S]为疾病状态为S时的最多奶牛数量,F[S]=max{f[s]+1};

记得预处理出每个状态下疾病数是多少...

附上代码:

#include 
#include
#include
#include
#include
#include
#include
using namespace std;#define N 1005#define M 1<<15int f[M],a[N],K,n,m,num[M];int main(){ for(int i=0;i
>1)]+(i&1); scanf("%d%d%d",&n,&m,&K); for(int i=1;i<=n;i++) { int x; scanf("%d",&x); while(x--) { int y; scanf("%d",&y); a[i]|=1<<(y-1); } } for(int i=1;i<=n;i++) { for(int S=(1<
=0;S--) { int s=a[i]|S; if(num[s]>K)continue; f[s]=max(f[s],f[S]+1); } } int ans=0; for(int i=0;i
K)continue; ans=max(ans,f[i]); } printf("%d\n",ans);}

  

转载于:https://www.cnblogs.com/Winniechen/p/9080020.html

你可能感兴趣的文章
Neo4j_01属性图
查看>>
【转】Linux vmstat命令实战详解
查看>>
被称史上最经典的25句话
查看>>
MySQL用户操作和数据的导出导入
查看>>
监听器实现案例----自定义session扫描器和统计在线用户人数及用户信息
查看>>
AutoCompleteTextView不能使用的问题
查看>>
使用git自动将子工程发布到百度开放云上
查看>>
【数学水题】【TOJ4113】【 Determine X】
查看>>
Swift 类型嵌套
查看>>
Mybatis_HelloWorld
查看>>
WCF - REST服务
查看>>
Linux Source命令及脚本的执行方式解析
查看>>
跟随我在oracle学习php(44)
查看>>
Spring集成hibernate错误
查看>>
实验四主存空间的分配和回收
查看>>
QtCreator常用快捷键
查看>>
一、javaSE (二十五)网络编程
查看>>
Oracle 10g安装报错记录
查看>>
JS 判断语句
查看>>
自定义网站根目录
查看>>