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的更多相关文章

  1. BZOJ 1087: [SCOI2005]互不侵犯King [状压DP]

    1087: [SCOI2005]互不侵犯King Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 3336  Solved: 1936[Submit][ ...

  2. nefu1109 游戏争霸赛(状压dp)

    题目链接:http://acm.nefu.edu.cn/JudgeOnline/problemShow.php?problem_id=1109 //我们校赛的一个题,状压dp,还在的人用1表示,被淘汰 ...

  3. poj3311 TSP经典状压dp(Traveling Saleman Problem)

    题目链接:http://poj.org/problem?id=3311 题意:一个人到一些地方送披萨,要求找到一条路径能够遍历每一个城市后返回出发点,并且路径距离最短.最后输出最短距离即可.注意:每一 ...

  4. [NOIP2016]愤怒的小鸟 D2 T3 状压DP

    [NOIP2016]愤怒的小鸟 D2 T3 Description Kiana最近沉迷于一款神奇的游戏无法自拔. 简单来说,这款游戏是在一个平面上进行的. 有一架弹弓位于(0,0)处,每次Kiana可 ...

  5. 【BZOJ2073】[POI2004]PRZ 状压DP

    [BZOJ2073][POI2004]PRZ Description 一只队伍在爬山时碰到了雪崩,他们在逃跑时遇到了一座桥,他们要尽快的过桥. 桥已经很旧了, 所以它不能承受太重的东西. 任何时候队伍 ...

  6. bzoj3380: [Usaco2004 Open]Cave Cows 1 洞穴里的牛之一(spfa+状压DP)

    数据最多14个有宝藏的地方,所以可以想到用状压dp 可以先预处理出每个i到j的路径中最小权值的最大值dis[i][j] 本来想用Floyd写,无奈太弱调不出来..后来改用spfa 然后进行dp,这基本 ...

  7. HDU 1074 Doing Homework (状压dp)

    题意:给你N(<=15)个作业,每个作业有最晚提交时间与需要做的时间,每次只能做一个作业,每个作业超出最晚提交时间一天扣一分 求出扣的最小分数,并输出做作业的顺序.如果有多个最小分数一样的话,则 ...

  8. 【BZOJ1688】[Usaco2005 Open]Disease Manangement 疾病管理 状压DP

    [BZOJ1688][Usaco2005 Open]Disease Manangement 疾病管理 Description Alas! A set of D (1 <= D <= 15) ...

  9. 【BZOJ1725】[Usaco2006 Nov]Corn Fields牧场的安排 状压DP

    [BZOJ1725][Usaco2006 Nov]Corn Fields牧场的安排 Description Farmer John新买了一块长方形的牧场,这块牧场被划分成M列N行(1<=M< ...

随机推荐

  1. C#Dictionary键值对取值用法

    必须包含名空间System.Collection.Generic     Dictionary里面的每一个元素都是一个键值对(由二个元素组成:键和值)     键必须是唯一的,而值不需要唯一的     ...

  2. strlen 与 sizeof

    #include<stdio.h>#include<string.h>#include<string>#include<iostream>using n ...

  3. SQL面试题:有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列

    .请教一个面试中遇到的SQL语句的查询问题 表中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列. ------------------- ...

  4. 第三方登录,一般都是遵循OAuth2.0协议。

    1. QQ登录OAuth2.0协议开发流程 1.1 开发流程 申请接入,获取appid和appkey; 开发应用,设置协作者账号,上线之前只有协作者才能进行第三方登录 放置QQ登录按钮(这个自己可以用 ...

  5. webpack 图片的打包

    1. 在img文件夹下随便找一个小一点的图片放进去. 2.修改entry.js require('../css/index.css'); var demo1 = require('../js/demo ...

  6. flask_login 整合 pyjwt + json 简易flask框架

    现在很多框架都实现前后端分离,主要为了适应以下几个目的: 1,前后端的分离,可以使前端开发和后端开发更加分工明确,而不是后端还需要在视图模板中加入很多{% XXXX %}标签 2,是为了适应跨域调用或 ...

  7. Model中内部类meta详解

    Django 模型类的Meta是一个内部类,它用于定义一些Django模型类的行为特性. 以下对此作一总结: Model 元数据就是 "不是一个字段的任何数据" -- 比如排序选项 ...

  8. Python爬虫(九)_非结构化数据与结构化数据

    爬虫的一个重要步骤就是页面解析与数据提取.更多内容请参考:Python学习指南 页面解析与数据提取 实际上爬虫一共就四个主要步骤: 定(要知道你准备在哪个范围或者网站去搜索) 爬(将所有的网站的内容全 ...

  9. Python爬虫(二十一)_Selenium与PhantomJS

    本章将介绍使用Selenium和PhantomJS两种工具用来加载动态数据,更多内容请参考:Python学习指南 Selenium Selenium是一个Web的自动化测试工具,最初是为网站自动化测试 ...

  10. 为PHP摇旗呐喊!

    如今市场上的电子商务软件基本上可归结为两大阵营.即PHP阵营和Java阵营.但对接触电子商务不久的用户来说.看到的往往仅仅是它们的表相,仅仅是明显的价格差异.却非常难看出它们之间的实际差异.事实上,P ...