BZOJ 1198: [HNOI2006]军机调度(搜索)
直接暴搜就行了= =
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]军机调度(搜索)的更多相关文章
- BZOJ 1198 [HNOI2006]军机调度:dfs
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1198 题意: 有n个雇佣军,m个任务. 第i个雇佣军能够参加cnt个任务,分别为temp[ ...
- 1198: [HNOI2006]军机调度 - BZOJ
Description 凯萨拥有一支由n个人组成的雇佣军,他们靠在威尼斯商行接任务过活.这支军队的成份比较复杂,不同的人往往具有不同的技能,有的人还拥有多项技能.威尼斯商行的任务也参差不齐,有的需要几 ...
- BZOJ 1195: [HNOI2006]最短母串 AC自动机+状压+搜索
思路比较直接. 由于 $n$ 很小,直接定义 $f[i][j]$ 表示当前在自动机中的节点 $i,$ 被覆盖串的集合为 $j$ 的方案数. #include <bits/stdc++.h> ...
- 洛谷3067 BZOJ 2679题解(折半搜索)
传送门 BZOJ传送门(权限题) 看到n小于20,就可以想到搜索 所有的数要么在集合a中,要么在集合b中,要么都不在 可是3^n复杂度会炸,我们考虑优化 可以利用折半搜索,将前面一半的所有可能情况与后 ...
- bzoj 1191: [HNOI2006]超级英雄Hero
1191: [HNOI2006]超级英雄Hero Time Limit: 10 Sec Memory Limit: 162 MB 二分图匹配... Description 现在电视台有一种节目叫做超 ...
- BZOJ 1192: [HNOI2006]鬼谷子的钱袋 数学结论
1192: [HNOI2006]鬼谷子的钱袋 Description 鬼谷子非常聪明,正因为这样,他非常繁忙,经常有各诸侯车的特派员前来向他咨询时政.有一天,他在咸阳游历的时候,朋友告诉他在咸阳最大的 ...
- BZOJ 1191: [HNOI2006]超级英雄Hero 二分匹配
1191: [HNOI2006]超级英雄Hero Description 现在电视台有一种节目叫做超级英雄,大概的流程就是每位选手到台上回答主持人的几个问题,然后根据回答问题的多少获得不同数目的奖品或 ...
- 【最小生成树】BZOJ 1196: [HNOI2006]公路修建问题
1196: [HNOI2006]公路修建问题 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1435 Solved: 810[Submit][Sta ...
- bzoj 1195: [HNOI2006]最短母串 爆搜
1195: [HNOI2006]最短母串 Time Limit: 10 Sec Memory Limit: 32 MBSubmit: 894 Solved: 288[Submit][Status] ...
随机推荐
- ARM处理器简介
参考: http://www.arm.com/zh/products/processors/instruction-set-architectures/index.php 1.ARM核演变图 2.AR ...
- UVa 412 - Pi
题目大意:给定一种估算Pi的方法:给出一系列随机数,从中任选两个数,这两个数的最大公约数不大于1(互质)的概率为6/(Pi*Pi),然后给出一系列数,据此估算Pi的值.直接模拟就好了. #includ ...
- Leetcode 197. Rising Temperature
Given a Weather table, write a SQL query to find all dates' Ids with higher temperature compared to ...
- OpenCV点滴2
明天回家了-- 昨天去见了老师,去之前告诉自己不要紧张,去了后还是紧张了,语无伦次,很没礼貌--(不敢看老师的眼睛) 刚才妈打电话说让我早点回去,不知道为什么,在空荡荡的宿舍里听到妈的声音,眼泪会夺眶 ...
- UVa 10405 & POJ 1458 Longest Common Subsequence
求最长公共子序列LCS,用动态规划求解. UVa的字符串可能含有空格,开始用scanf("%s", s);就WA了一次...那就用gets吧,怪不得要一行放一个字符串呢. (本来想 ...
- shell 远程备份日志
#!/bin/bash #Function:自动备份给定列表中的目录或文件,并且可以保留N天备份的档案. #可备份至远程主机指定的目录下,但需本机能免密码登录到远程主机,用到ssh-keygen #该 ...
- java_web学习(2)Servlet
软件编程体系 B\S 系统架构与C\S 系统结构 Web服务器 HTTP 协议:Web 浏览器与 web 服务器的交互所遵循的规则. Web 服务器:Web服务器可以解 ...
- MySQL批量导出以某数字或字母开头的表
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://suifu.blog.51cto.com/9167728/1852178 情景:我 ...
- html代替submit按钮的图片代码
代替submit按钮的图片代码格式是 <input type="image" name="..." src="..." onClick ...
- redis3 list类型
list类型及操作list是一个链表结构,主要功能是push,pop.获取一个范围的所有值等,操作中key理解为链表的名字.redis的list类型其实就是一个每个子元素都是string类型的双向链表 ...