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

  1. 【Uva 10817】Headmaster's Headache

    [Link]: [Description] 一个学校,有s门课程(1<=s <=8),里面本身已经有m个老师了,然后还想招聘n个老师: 给出这m个老师和n个来应聘的老师的信息; (c[i] ...

  2. 状压DP UVA 10817 Headmaster's Headache

    题目传送门 /* 题意:学校有在任的老师和应聘的老师,选择一些应聘老师,使得每门科目至少两个老师教,问最少花费多少 状压DP:一看到数据那么小,肯定是状压了.这个状态不好想,dp[s1][s2]表示s ...

  3. UVA 10817 Headmaster's Headache(DP +状态压缩)

    Headmaster's Headache he headmaster of Spring Field School is considering employing some new teacher ...

  4. uva 10817

    Problem D: Headmaster's Headache Time limit: 2 seconds The headmaster of Spring Field School is cons ...

  5. uva 10817(数位dp)

    uva 10817(数位dp) 某校有m个教师和n个求职者,需讲授s个课程(1<=s<=8, 1<=m<=20, 1<=n<=100).已知每人的工资c(10000 ...

  6. UVa 10817 - Headmaster's Headache(状压DP)

    链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  7. UVA 10817 - Headmaster's Headache(三进制状压dp)

    题目:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=20&pag ...

  8. UVa 10817 (状压DP + 记忆化搜索) Headmaster's Headache

    题意: 一共有s(s ≤ 8)门课程,有m个在职教师,n个求职教师. 每个教师有各自的工资要求,还有他能教授的课程,可以是一门或者多门. 要求在职教师不能辞退,问如何录用应聘者,才能使得每门课只少有两 ...

  9. UVa 10817 Headmaster's Headache (状压DP+记忆化搜索)

    题意:一共有s(s ≤ 8)门课程,有m个在职教师,n个求职教师.每个教师有各自的工资要求,还有他能教授的课程,可以是一门或者多门. 要求在职教师不能辞退,问如何录用应聘者,才能使得每门课只少有两个老 ...

随机推荐

  1. sqlhelper-sql数据库

    using System; using System.Collections.Generic; using System.Text; using System.Data.SqlClient; usin ...

  2. 如何通过类找到对应的jar包

    ctrl+shift+T 然后输入对应类  

  3. 在线白板,基于socket.io的多人在线协作工具

    首发:个人博客,更新&纠错&回复 是昨天这篇博文留的尾巴,socket.io库的使用练习,成品地址在这里. 代码已经上传到github,传送门.可以开俩浏览器看效果. 现实意义是俩人在 ...

  4. UINavigationController详解三(转)ToolBar

    原文出自:http://blog.csdn.net/totogo2010/article/details/7682641,特别感谢. 1.显示Toolbar  在RootViewController. ...

  5. mysql相关总结

    mysql设置初始密码和更改密码(ZIP文件解压安装): http://blog.csdn.net/stypace/article/details/38232393

  6. mysql+keepalived主从切换脚本 转

    Keepalived MySQL故障自动切换脚本   MySQL架构为master-slave(主从),master故障自动切换到slave上.当然也可以设置为双master,但这里有个弊端:就是当主 ...

  7. (转)java线程安全问题之静态变量、实例变量、局部变量

    java多线程编程中,存在很多线程安全问题,至于什么是线程安全呢,给出一个通俗易懂的概念还是蛮难的,如同<java并发编程实践>中所说: 写道 给线程安全下定义比较困难.存在很多种定义,如 ...

  8. JavaEE基础(二十三)/递归

    1.File类递归练习(统计该文件夹大小) 需求:1,从键盘接收一个文件夹路径,统计该文件夹大小 2.File类递归练习(删除该文件夹) 需求:2,从键盘接收一个文件夹路径,删除该文件夹 3.File ...

  9. mybatis中#{}和${}的区别

    1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号.如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111&qu ...

  10. ACM题目————zoj问题

    题目1006:ZOJ问题 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:20322 解决:3560 题目描述: 对给定的字符串(只包含'z','o','j'三种字符),判断他是否能AC. ...