Uva10817 Headmaster's Headache
2024-10-08 00:20:35
https://odzkskevi.qnssl.com/b506a3c20adad78678917d1ff4c9b953?v=1508327485
【题解】
dp[i][S1][S2]表示前i个教师选/不选已经决策完,当前有一个老师教的课程为S1,两个老师教的课程为S2,还需要的最小价值
答案为dp[0][0][0]
转移即可
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <sstream>
#include <vector>
#include <string>
#include <cmath>
#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) > (b) ? (a) : (b)) inline void swap(int &a, int &b)
{
int tmp = a;a = b;b = tmp;
} inline void read(int &x)
{
x = ;char ch = getchar(), c = ch;
while(ch < '' || ch > '')c = ch, ch = getchar();
while(ch <= '' && ch >= '')x = x * + ch - '', ch = getchar();
if(c == '-')x = -x;
} const int INF = 0x3f3f3f3f;
const int MAXN = + ;
const int MAXM = + ;
const int MAXS = ; struct Edge
{
int u,v,nxt;
Edge(int _u, int _v, int _nxt){u = _u;v = _v;nxt = _nxt;}
Edge(){}
}edge[MAXN << ];
int head[MAXN], cnt; inline void insert(int a, int b)
{
edge[++cnt] = Edge(a,b,head[a]);
head[a] = cnt;
} int m,n,s,c[MAXN + MAXM],a[MAXN + MAXM],dp[MAXN + MAXM][ << MAXS][ << MAXS],ma;
std::string ch; int DP(int i, int s0, int s1, int s2)
{
if(i > n + m) return s2 == ma - ? : INF;
if(dp[i][s1][s2] >= )return dp[i][s1][s2];
dp[i][s1][s2] = INF;
if(i > m) dp[i][s1][s2] = DP(i + , s0, s1, s2);
int tmp1 = s0 & a[i], tmp2 = s1 & a[i];
dp[i][s1][s2] = min(dp[i][s1][s2], DP(i + , s0^tmp1, (s1 ^ tmp2) | tmp1, s2 | tmp2) + c[i]);
return dp[i][s1][s2];
} int main()
{
while(scanf("%d %d %d", &s, &m, &n) != EOF && n + m + s)
{
std::cin.get();
memset(dp, -, sizeof(dp));
memset(a, , sizeof(a));
int tmp;
for(register int i = ;i <= m + n;++ i)
{
getline(std::cin, ch);
std::stringstream cc(ch);
cc >> c[i];
a[i] = ;
while(cc >> tmp)
a[i] |= << (tmp - );
}
ma = << s;
printf("%d\n", DP(, ma - , , ));
}
return ;
}
UVA10817
最新文章
- PHP 信号管理
- Java中的URL类
- 启动tomcat 报 Could not delete D:/online/.metadata/.plugins/org.eclipse.wst.server.core/tm
- 解决cefsharp在winform中不显示tooltipText问题(网页元素的title提示)
- codevs1183 泥泞的道路
- 如何更高效地定制你的bootstrap
- java内存分配--引用
- 用javascript比较快速排序和合并排序的优劣
- mono的远程调试
- model 的验证
- 第一节 HTML网页和CSS样式
- schedule CCCallfunc CCCallfuncN CCCallfuncND
- 父 shell,子 shell ,export 与 变量传递
- zoj2112
- VMware 安装centOS6.4虚拟机以及基础环境搭建
- 设计模式10---设计模式之原型模式(Prototype)
- centos6 + tomcat+ jdk配置步骤
- 模板语言变量,js变量,js自执行函数之前嵌套调用
- 详解URL的组成
- Docker 入门到实践(三)Docker 安装