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. Android真机测试 INSTALL_FAILED_INSUFFICIENT_STORAGE 解决方法[转]

    方法一: 试试修改一下manifest文件 :添加 一句:   android:installLocation="preferExternal" [html]view plainc ...

  2. 几款python集成开发环境

    以下软件的测试环境为ArchLinux64位系统.对软件的介绍很粗略,详细介绍参考官网. 1-名称:eric 官网:http://eric-ide.python-projects.org/ 特点:该软 ...

  3. 「ruby」使用rmagick处理图像

    安装rmagick gem A new release 2.13.2 of RMagick is now available on github as well as rubygems. This r ...

  4. Java编程思想重点

    1. Java中的多态性理解(注意与C++区分) Java中除了static方法和final方法(private方法本质上属于final方法,因为不能被子类访问)之外,其它所有的方法都是动态绑定,这意 ...

  5. 批处理命令——rem 和 pause

    [1]rem命令简介 注释命令,在C语言中相当于/*----------*/,它并不会被执行,只是起到一个注释的作用,便于别人及自己将来阅读和维护脚本. 为了更具体的理解,请看示例: 新建一个文本文件 ...

  6. 在Win8下无法打开 hlp 帮助文件的问题

    需要安装Win8针对该问题的补丁程序,并且修改注册表,详细的解决方案: http://support.microsoft.com/kb/917607/zh-cn#fixit4me

  7. Java中main方面面试题

    1.不用main方法如何定义一个类? 不行,没有main方法我们不能运行Java类. 在Java 7之前,你可以通过使用静态初始化运行Java类.但是,从Java 7开始就行不通了. 2.main() ...

  8. win10启动文件夹:

    win10启动文件夹: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

  9. iOS 证书申请和使用详解(详细版)

    对于iOS开发者来说,apple开发者账号肯定不会陌生.在开发中我们离不开它.下面我简单的为大家分享一下关于iOS开发中所用的证书相关知识. 第一部分:成员介绍 1.Certification(证书) ...

  10. Linux系统中为php添加pcntl扩展的方法

    1.首先看下 phpize命令 所在的目录  (ps:我的目录/usr/bin/phpize)如果没有找到的话 执行安装yum install php53_devel (ps:请注意自己的版本) 安装 ...