UVA 10817 十一 Headmaster's Headache
Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
const int inf=1e9+;
const int mm=; int dp[][];
int appcost[],appnum[][]; int main()
{
int s,n,m,x,y;
int i,j,k;
int sum0,k0;
char a[];
while(scanf("%d %d %d",&s,&m,&n)!=EOF)
{
if(s==)
break;
memset(appnum,,sizeof(appnum)); sum0=;k0=;
for(i=;i<=m;i++)
{
scanf("%d",&x);
sum0=sum0+x;
gets(a);
for(j=;a[j]!='\0';j++)
{
if(''<=a[j] && a[j]<='')
{
y=a[j]-'';y--;
if(!((k0>>(*y)) & ))
{
k0=k0 | (<<(*y));
}
else if(!((k0>>(*y+)) & ))
{
k0=k0 | (<<(*y+));
}
}
}
}
for(i=;i<=n;i++)
{
scanf("%d",&appcost[i]);
gets(a);
int num=;
for(j=;a[j]!='\0';j++)
{
if(''<=a[j] && a[j]<='')
{
//y=a[j]-'0';y--;
num++;
appnum[i][num]=a[j]-'';
}
}
appnum[i][]=num;
} int S=<<(*s);
for(i=;i<S;i++)
{
dp[][i]=inf;
}
dp[][k0]=sum0; for(i=;i<=n;i++)
{
for(j=;j<S;j++)
{
dp[i][j]=dp[i-][j];
} for(j=;j<S;j++)
{
if(dp[i-][j]<inf)
{
k=j;
for(int l=;l<=appnum[i][];l++)
{
y=appnum[i][l]-;
if(!((k>>(*y)) & ))
{
k=k | (<<(*y));
}
else if(!((k>>(*y+)) & ))
{
k=k | (<<(*y+));
}
}
dp[i][k]=min(dp[i][k],dp[i-][j]+appcost[i]);
}
}
}
printf("%d\n",dp[n][(<<(*s))-]);
}
return ;
}
UVA 10817 十一 Headmaster's Headache的更多相关文章
- 【Uva 10817】Headmaster's Headache
[Link]: [Description] 一个学校,有s门课程(1<=s <=8),里面本身已经有m个老师了,然后还想招聘n个老师: 给出这m个老师和n个来应聘的老师的信息; (c[i] ...
- 状压DP UVA 10817 Headmaster's Headache
题目传送门 /* 题意:学校有在任的老师和应聘的老师,选择一些应聘老师,使得每门科目至少两个老师教,问最少花费多少 状压DP:一看到数据那么小,肯定是状压了.这个状态不好想,dp[s1][s2]表示s ...
- UVA 10817 Headmaster's Headache(DP +状态压缩)
Headmaster's Headache he headmaster of Spring Field School is considering employing some new teacher ...
- uva 10817
Problem D: Headmaster's Headache Time limit: 2 seconds The headmaster of Spring Field School is cons ...
- uva 10817(数位dp)
uva 10817(数位dp) 某校有m个教师和n个求职者,需讲授s个课程(1<=s<=8, 1<=m<=20, 1<=n<=100).已知每人的工资c(10000 ...
- UVa 10817 - Headmaster's Headache(状压DP)
链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- UVA 10817 - Headmaster's Headache(三进制状压dp)
题目:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=20&pag ...
- UVa 10817 (状压DP + 记忆化搜索) Headmaster's Headache
题意: 一共有s(s ≤ 8)门课程,有m个在职教师,n个求职教师. 每个教师有各自的工资要求,还有他能教授的课程,可以是一门或者多门. 要求在职教师不能辞退,问如何录用应聘者,才能使得每门课只少有两 ...
- UVa 10817 Headmaster's Headache (状压DP+记忆化搜索)
题意:一共有s(s ≤ 8)门课程,有m个在职教师,n个求职教师.每个教师有各自的工资要求,还有他能教授的课程,可以是一门或者多门. 要求在职教师不能辞退,问如何录用应聘者,才能使得每门课只少有两个老 ...
随机推荐
- 夺命雷公狗---DEDECMS----23dedecms修改内容页面展示的信息
我们在网站上不管点击那个影视作品的A连接都是进入到一个同样的页面,因为他们是一个模版文件: 我们还没有对这个模版进行任何的修改,所以我们要在内容模版增加标签取出对应的影视作品,而且导航条也是按照模版上 ...
- python 笔记1
Python join()方法 描述 Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串. 语法 join()方法语法: str.join(sequence) 参数 ...
- ThinkPHP讲解(七)——修改删除
修改数据 方式一:数组方式,直接将数据库里需要修改的内容进行修改 function Update() { //1.数组方式 $model=D("Info"); $attr=arra ...
- zw版【转发·台湾nvp系列Delphi例程】HALCON DirectFile
zw版[转发·台湾nvp系列Delphi例程]HALCON DirectFile unit Unit1;interfaceuses Windows, Messages, SysUtils, Varia ...
- Couchbase
Couchbase介绍,更好的Cache系统 在移动互联网时代,我们面对的是更多的客户端,更低的请求延迟,这当然需要对数据做大量的 Cache 以提高读写速度. 术语 节点:指集群里的一台服务器. 现 ...
- WM_SIZE
procedure WMSize (var Message: TWMSize); message WM_SIZE; 参数说明 wParam: Specifies the type of resizin ...
- javascript中的this与prototype,原型理解
JavaScript 函数调用 JavaScript 函数有 4 种调用方式. 每种方式的不同方式在于 this 的初始化. this 关键字 一般而言,在Javascript中,this指向函数执行 ...
- 161012、JAVA读写文件,如何避免中文乱码
1.JAVA读取文件,避免中文乱码. /** * 读取文件内容 * * @param filePathAndName * String 如 c:\\1.txt 绝对路径 * @return boole ...
- E2PROM与Flash的引脚图
E2PROM(24C02):
- Makefile学习之make 的运行【转】
转自:http://blog.csdn.net/suzilong11/article/details/7852830 —————— 一般来说,最简单的就是直接在命令行下输入make命令,make命令会 ...