公牛与状压dp
T1 疾病管理
裸得不能再裸的状压dp 不过数据范围骗人
考试时k==0的点没过 我也很无奈呀qwq
#include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<algorithm> #include<string> using namespace std; ],f[<<]; int pd(int x){ ; while (x){ ) tot++; x>>=; } return tot; } int main(){ freopen ("disease.in","r",stdin); freopen ("disease.out","w",stdout); ; scanf ("%d%d%d",&n,&d,&k); ;i<=n;++i){ int x,y; scanf ("%d",&x); ) sum++; ;j<=x;++j){ scanf ("%d",&y); g[i]|=(<<y-); } } ;i<(<<d);++i) { if (pd(i)<=k) ;j<=n;++j){ if (g[j]&(~(g[j]&i))) continue; //如果这个公牛的疾病未完全被包含在此状态中 就跳过 f[i]++; } } ; ;i<(<<d);++i) ans=max(ans,f[i]); ) ans=max(ans,sum); cout<<ans; ; }
T2 安排公牛
考场上玄学dfs胡乱搞到70
然而大家似乎都是随手就80了(无奈脸x2
看到<=20的友好范围想着要状压 然而 越想越复杂了(老毛病
正解依旧dp
要注意0也是一种状态 对 什么都不放也是一种状态qwq
大概就是类似于“无即万物“的思想
感谢超级厉害的csy大佬不嫌我蠢跟我讲了几遍
#include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<algorithm> #include<string> #define ll long long using namespace std; ][]; <<]; ; int main(){ freopen ("examnine.in","r",stdin); freopen ("examnine.out","w",stdout); scanf ("%d%d",&n,&m); ; ;i<=n;++i){ int xx,y; scanf ("%d",&xx); ;j<=xx;++j){ scanf ("%d",&y); x[i][y]=; } } dp[]=; ;i<=n;++i) <<m)-;j>=;--j){ if (!dp[j]) continue; ;k<=m;++k){ if (!x[i][k]) continue; <<k-)) continue; dp[j|(<<k-)]+=dp[j]; } dp[j]=; } ;i<=(<<m)-;++i) ans+=dp[i]; cout<<ans; ; }
总结:
以后碰到感觉不怎么好打的dp
一定要认真分析时间复杂度
敢于dfs(逃
公牛与状压dp的更多相关文章
- BZOJ 1087: [SCOI2005]互不侵犯King [状压DP]
1087: [SCOI2005]互不侵犯King Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 3336 Solved: 1936[Submit][ ...
- nefu1109 游戏争霸赛(状压dp)
题目链接:http://acm.nefu.edu.cn/JudgeOnline/problemShow.php?problem_id=1109 //我们校赛的一个题,状压dp,还在的人用1表示,被淘汰 ...
- poj3311 TSP经典状压dp(Traveling Saleman Problem)
题目链接:http://poj.org/problem?id=3311 题意:一个人到一些地方送披萨,要求找到一条路径能够遍历每一个城市后返回出发点,并且路径距离最短.最后输出最短距离即可.注意:每一 ...
- [NOIP2016]愤怒的小鸟 D2 T3 状压DP
[NOIP2016]愤怒的小鸟 D2 T3 Description Kiana最近沉迷于一款神奇的游戏无法自拔. 简单来说,这款游戏是在一个平面上进行的. 有一架弹弓位于(0,0)处,每次Kiana可 ...
- 【BZOJ2073】[POI2004]PRZ 状压DP
[BZOJ2073][POI2004]PRZ Description 一只队伍在爬山时碰到了雪崩,他们在逃跑时遇到了一座桥,他们要尽快的过桥. 桥已经很旧了, 所以它不能承受太重的东西. 任何时候队伍 ...
- bzoj3380: [Usaco2004 Open]Cave Cows 1 洞穴里的牛之一(spfa+状压DP)
数据最多14个有宝藏的地方,所以可以想到用状压dp 可以先预处理出每个i到j的路径中最小权值的最大值dis[i][j] 本来想用Floyd写,无奈太弱调不出来..后来改用spfa 然后进行dp,这基本 ...
- HDU 1074 Doing Homework (状压dp)
题意:给你N(<=15)个作业,每个作业有最晚提交时间与需要做的时间,每次只能做一个作业,每个作业超出最晚提交时间一天扣一分 求出扣的最小分数,并输出做作业的顺序.如果有多个最小分数一样的话,则 ...
- 【BZOJ1688】[Usaco2005 Open]Disease Manangement 疾病管理 状压DP
[BZOJ1688][Usaco2005 Open]Disease Manangement 疾病管理 Description Alas! A set of D (1 <= D <= 15) ...
- 【BZOJ1725】[Usaco2006 Nov]Corn Fields牧场的安排 状压DP
[BZOJ1725][Usaco2006 Nov]Corn Fields牧场的安排 Description Farmer John新买了一块长方形的牧场,这块牧场被划分成M列N行(1<=M< ...
随机推荐
- 《java.util.concurrent 包源码阅读》19 PriorityBlockingQueue
前面讲ScheduledThreadPoolExecutor曾经重点讲到了DelayedWorkQueue,这里说的PriorityBlockingQueue其实是DelayedWorkQueue的简 ...
- memcached一致性哈希及php客户端实现
1.memcached分布式算法 memcached的分布式是依靠客户端的算法来实现,假设键名为$key,服务器数量为N,常规的实现方式有两种: 取模哈希 crc32($key)%N,通过这个算法将键 ...
- td-agent 收集日志到kafka的配置
<source> @type tail path /data1/td-agent/wechat-tag*.log tag wechat-tag read_from_head true fo ...
- springboot集成swagger
对于搬砖的同学来说,写接口容易,写接口文档很烦,接口变动,维护接口文档就更更更烦,所以经常能发现文档与程序不匹配. 等过一段时间就连开发者也蒙圈了 Swagger2快速方便的解决了以上问题.一个能与S ...
- Ubuntu配置完全教程
前言 最近将旧电脑换成了Ubuntu系统,在网上找了许多优化和配置教程,今天整理一份完整的教程给大家分享 系统清理 卸载LibreOffice libreoffice事ubuntu自带的开源offic ...
- ESLint 的正式使用感受
介绍ESLint ESLint 是一个代码规范和错误检查工具,有以下几个特性 所有东西都是可以插拔的.你可以调用任意的rule api或者formatter api 去打包或者定义rule or fo ...
- liunx分布式监控工具
监控你的WEB服务器或者WEB主机运行是否正常与健康是非常重要的.你要确保用户始终可以打开你的网站并且网速不慢.服务器监控工具允许你收集和分析有关你的Web服务器的数据. 有许多非常好的服务器监控解决 ...
- 数据库服务器---Qps
QPS(Query Per Second)意思为"每秒查询率",是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准.同时也代表一种计算 ...
- MYSQL常见运算符和函数
字符函数 (1)CONCAT():字符连接 SELECT CONCAT('IMOOC','-','MySQL');//IMOOC-MySQL SELECT CONCAT (first_name,las ...
- PHP开发b2c商城价格
电商的快速发展不断地挤压传统企业的生存空间,渠道越来越窄,所以现在很多企业开始往线上发展,搭建自己的B2C商城,直接面向消费者进行销售.那开发b2c商城价格怎么样?很多企业都是比较关心到商城价格这个问 ...