直接暴搜就行了= =

CODE:

#include<cstdio>

#include<iostream>

#include<cstring>

#include<algorithm>

using namespace std;

int count(int x) {

int ans=0;

while (x) {

ans+=x&1;

x>>=1;

}

return ans;

}

#define maxn 35

int b[maxn],e[maxn],r[maxn],ans,n,m,p[maxn],s[maxn];

bool a[maxn][maxn],is[maxn][maxn];

int dfs(int x,int sum) {

if (sum>ans) ans=sum;

if (x==m+1) return 0;

dfs(x+1,sum);

int tot=0,s[maxn];

for (int i=1;i<=n;i++)

if (a[i][x]) {

bool flag=1;

for (int j=b[x];j<=e[x];j++)

if (is[i][j]) {flag=0;break;}

if (flag) s[++tot]=i;

}

if (tot<p[x]) return 0;

for (int i=1;i<(1<<tot);i++) {

if (count(i)!=p[x]) continue;

for (int j=1;j<=tot;j++) {

if ((1<<(j-1))&i){

int y=s[j];

for (int k=b[x];k<=e[x];k++) is[y][k]=1;

}

}

dfs(x+1,sum+r[x]);

for (int j=1;j<=tot;j++) {

if ((1<<(j-1))&i){

int y=s[j];

for (int k=b[x];k<=e[x];k++) {is[y][k]=0;}

}

}

}

return 0;

}

int main(){

scanf("%d%d",&n,&m);

for (int i=1;i<=n;i++) {

int x;

scanf("%d",&x);

for (int j=1;j<=x;j++) {

int y;

scanf("%d",&y);

a[i][y]=1;

}

}

for (int i=1;i<=m;i++) {

scanf("%d%d%d%d",b+i,e+i,p+i,r+i);

}

dfs(1,0);

printf("%d",ans);

return 0;

}

BZOJ 1198: [HNOI2006]军机调度(搜索)的更多相关文章

  1. BZOJ 1198 [HNOI2006]军机调度:dfs

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1198 题意: 有n个雇佣军,m个任务. 第i个雇佣军能够参加cnt个任务,分别为temp[ ...

  2. 1198: [HNOI2006]军机调度 - BZOJ

    Description 凯萨拥有一支由n个人组成的雇佣军,他们靠在威尼斯商行接任务过活.这支军队的成份比较复杂,不同的人往往具有不同的技能,有的人还拥有多项技能.威尼斯商行的任务也参差不齐,有的需要几 ...

  3. BZOJ 1195: [HNOI2006]最短母串 AC自动机+状压+搜索

    思路比较直接. 由于 $n$ 很小,直接定义 $f[i][j]$ 表示当前在自动机中的节点 $i,$ 被覆盖串的集合为 $j$ 的方案数. #include <bits/stdc++.h> ...

  4. 洛谷3067 BZOJ 2679题解(折半搜索)

    传送门 BZOJ传送门(权限题) 看到n小于20,就可以想到搜索 所有的数要么在集合a中,要么在集合b中,要么都不在 可是3^n复杂度会炸,我们考虑优化 可以利用折半搜索,将前面一半的所有可能情况与后 ...

  5. bzoj 1191: [HNOI2006]超级英雄Hero

    1191: [HNOI2006]超级英雄Hero Time Limit: 10 Sec  Memory Limit: 162 MB 二分图匹配... Description 现在电视台有一种节目叫做超 ...

  6. BZOJ 1192: [HNOI2006]鬼谷子的钱袋 数学结论

    1192: [HNOI2006]鬼谷子的钱袋 Description 鬼谷子非常聪明,正因为这样,他非常繁忙,经常有各诸侯车的特派员前来向他咨询时政.有一天,他在咸阳游历的时候,朋友告诉他在咸阳最大的 ...

  7. BZOJ 1191: [HNOI2006]超级英雄Hero 二分匹配

    1191: [HNOI2006]超级英雄Hero Description 现在电视台有一种节目叫做超级英雄,大概的流程就是每位选手到台上回答主持人的几个问题,然后根据回答问题的多少获得不同数目的奖品或 ...

  8. 【最小生成树】BZOJ 1196: [HNOI2006]公路修建问题

    1196: [HNOI2006]公路修建问题 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1435  Solved: 810[Submit][Sta ...

  9. bzoj 1195: [HNOI2006]最短母串 爆搜

    1195: [HNOI2006]最短母串 Time Limit: 10 Sec  Memory Limit: 32 MBSubmit: 894  Solved: 288[Submit][Status] ...

随机推荐

  1. ARM处理器简介

    参考: http://www.arm.com/zh/products/processors/instruction-set-architectures/index.php 1.ARM核演变图 2.AR ...

  2. UVa 412 - Pi

    题目大意:给定一种估算Pi的方法:给出一系列随机数,从中任选两个数,这两个数的最大公约数不大于1(互质)的概率为6/(Pi*Pi),然后给出一系列数,据此估算Pi的值.直接模拟就好了. #includ ...

  3. Leetcode 197. Rising Temperature

    Given a Weather table, write a SQL query to find all dates' Ids with higher temperature compared to ...

  4. OpenCV点滴2

    明天回家了-- 昨天去见了老师,去之前告诉自己不要紧张,去了后还是紧张了,语无伦次,很没礼貌--(不敢看老师的眼睛) 刚才妈打电话说让我早点回去,不知道为什么,在空荡荡的宿舍里听到妈的声音,眼泪会夺眶 ...

  5. UVa 10405 & POJ 1458 Longest Common Subsequence

    求最长公共子序列LCS,用动态规划求解. UVa的字符串可能含有空格,开始用scanf("%s", s);就WA了一次...那就用gets吧,怪不得要一行放一个字符串呢. (本来想 ...

  6. shell 远程备份日志

    #!/bin/bash #Function:自动备份给定列表中的目录或文件,并且可以保留N天备份的档案. #可备份至远程主机指定的目录下,但需本机能免密码登录到远程主机,用到ssh-keygen #该 ...

  7. java_web学习(2)Servlet

    软件编程体系 B\S 系统架构与C\S 系统结构 Web服务器         HTTP 协议:Web 浏览器与 web 服务器的交互所遵循的规则.         Web 服务器:Web服务器可以解 ...

  8. MySQL批量导出以某数字或字母开头的表

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://suifu.blog.51cto.com/9167728/1852178 情景:我 ...

  9. html代替submit按钮的图片代码

    代替submit按钮的图片代码格式是 <input type="image" name="..." src="..." onClick ...

  10. redis3 list类型

    list类型及操作list是一个链表结构,主要功能是push,pop.获取一个范围的所有值等,操作中key理解为链表的名字.redis的list类型其实就是一个每个子元素都是string类型的双向链表 ...