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. 夺命雷公狗—angularjs—21—解决angularjs压缩问题

    我们在实际的开发中往往离不开js的代码压缩,因为这样可以减轻服务器的压力,是的的方法如下所示: <!DOCTYPE html> <html lang="en" n ...

  2. MyEclipse安装插件的三种方法和使用心得

    本文讲解MyEclipse(MyEclipse10)的三种方法,以TestNG为例 Eclipse update site URL:  http://beust.com/eclipse. 一.通过My ...

  3. zw版【转发·台湾nvp系列Delphi例程】HALCON SetGray

    zw版[转发·台湾nvp系列Delphi例程]HALCON SetGray SetGray_Delphi.PNG unit Unit1;interfaceuses Windows, Messages, ...

  4. PHP导出CSV文件

    经常会碰到需要从数据库中导出数据到Excel文件,用一些开源的类库,比如PHPExcel,确实比较容易实现,但对大量数据的支持很不好,很容易到达PHP内存使用上限.这里的方法是利用fputcsv写CS ...

  5. yii2中表单的字段标签名称

    1.以登陆页面为例,默认是英文的,在loginForm.php中添加attributeLabels,可以变成中文 具体代码如下: public function attributeLabels(){  ...

  6. opencv常用数据结构之:IplImage

    typedef struct_IplImage{      int nSize; //IplImage大小      int ID; //版本(=0)      int nChannels; //大多 ...

  7. THE HANDLER_READ_* STATUS VARIABLES

    Because I do a lot of Performance Tuning gigs I get often in contact with these status variables. In ...

  8. 【python cookbook】【字符串与文本】15.给字符串中的变量名做插值处理

    问题:想创建一个字符串,其中嵌入的变量名称会以变量的字符串值形式替换掉 解决方法:str.format().str.format_map() >>> s = '{name} has ...

  9. 【python】__future__模块

    转自:http://www.jb51.net/article/65030.htm Python的每个新版本都会增加一些新的功能,或者对原来的功能作一些改动.有些改动是不兼容旧版本的,也就是在当前版本运 ...

  10. TI CC2541的狗日的Key

    被突如其来的一个bug困扰了好几天, 起因是, 按键接的红外接收器, 结果发现, 一旦按下之后, IEN1, P0IE的标识位bit5, 被不知道特么的谁归0了, 也就是说, 按键只能被按下一次, 再 ...