Headmaster's Headache UVA
来源:互联网 发布:禁止网游软件 编辑:程序博客网 时间:2024/06/06 00:41
按照紫书的思路,同时利用位运算来提供所谓的集合信息,要注意前m个教师是必须选的,后n个教师是可选的,具体实现见如下代码:
#include<iostream>#include<vector>#include<string>#include<set>#include<stack>#include<queue>#include<map>#include<algorithm>#include<cmath>#include<iomanip>#include<cstring>#include<sstream>#include<cstdio>#include<deque>using namespace std;int S, M, N;int cost[150], subject[150];int result[130][520][520];int dp(int cur,int s0,int s1,int s2){if (cur == M + N){if (s2 == ((1 << S) - 1)) return 0;return 1 << 30;}int& ans = result[cur][s1][s2];if (ans >= 0) return ans;ans = 1 << 30;if(cur>=M) ans = dp(cur + 1, s0, s1, s2);int m0 = s0&subject[cur], m1 = s1&subject[cur];s0 ^= m0;s1 = (s1 ^ m1) | m0;s2 |= m1;ans = min(ans, cost[cur] + dp(cur + 1, s0, s1, s2));return ans;}int main(){while ((cin >> S >> M >> N)&&S&&M&&N){string t;getline(cin, t);memset(subject,0,sizeof(subject));for (int i = 0; i < M + N; i++){getline(cin, t);stringstream is(t);int a;is >> a;cost[i] = a;while (is >> a){a--;subject[i] |= (1 << a);}}memset(result,-1,sizeof(result));cout << dp(0, (1 << S) - 1, 0, 0) << endl;}return 0;}
阅读全文
0 0
- Headmaster's Headache UVA
- Headmaster's Headache UVA
- Headmaster's Headache UVA
- Headmaster's Headache UVA
- uva 10817 Headmaster's Headache
- UVA 10817 Headmaster's Headache
- UVA 10817 Headmaster's Headache
- UVA 10817 Headmaster's Headache
- UVA 10817 Headmaster's Headache
- UVA 10817 Headmaster's Headache
- UVA 10817 Headmaster's Headache
- UVA - 10817 Headmaster's Headache
- UVA 10817 - Headmaster's Headache
- Uva-10817-Headmaster's Headache
- UVA 10817 Headmaster's Headache
- uva 10817 - Headmaster's Headache
- uva 10817 - Headmaster's Headache
- UVa 10817 Headmaster's Headache
- 其他BlockingQueue实现类
- 一些常考的智力题
- poj 1144 Network(Tarjan求割点)
- jni.h no such file or directory(第一次使用JNI的常见问题)
- 10种简单的Java性能优化
- Headmaster's Headache UVA
- struts2_拦截器与注解开发
- 【微信小程序】实现属于自己的美美哒弹窗
- 微信公众号——网页授权
- 用UltraISO将Windows 7系统盘制作成U盘启动盘
- Python入门第一课
- *zoj
- web 前台页面内弹出框
- Service与Activity之间的数据传递