uva10817
来源:互联网 发布:2016淘宝开店认证步骤 编辑:程序博客网 时间:2024/06/11 02:28
此题是位运算的dp 有点类似0-1背包 因为思路就是m名求职者取还是不取 取就是1,不取就是0;
然后dp【i】【j】 代表所有课程被选第一次的i状态 和被选第二次的j状态。那么我最后只要输出dp【1<<S-1】【1<<S-1】的状态中的值就可以了。
然后dp【i】【j】的转移方程就是在加入第i个求职者后的状态,与不加第i个求职者状态的比较
ts1=j|state[i];//第一次状态已经拥有的课程在第i次状态下已经有了一次才能允许该老师教该课程第二次(因为限定每门课程两名老师教)ts2=(j&state[i])|k;dp[ts1][ts2]=min(dp[ts1][ts2],dp[j][k]+cost[i]);其中j状态来模拟第一次的上课,k状态模拟第二次的上课,加入第i个求职者状态后的情况做比较就可以了。
此题巨坑爹的是输入。但是也多亏此题让我熟悉sscanf gets isdigit 三个的用法。输入的调试就搞来我好久。。。唉。。。
弱弱的补一句 貌似网上的做法是,d[i][j]表示在前i个人中聘用某些人达到状态j所需的最小花费 我没看他们的代码,不知道和我的是不是差不多。但是我试着交了一下我的貌似快那么一点点。可能是服务器的原因。也有可能是别人思路和我差不多只是我没看代码只是看了那一句话。
- uva10817
- UVa10817
- uva10817
- Uva10817
- UVa10817
- Headmaster's Headache UVA10817
- UVA10817 Headmaster's Headache
- UVa10817 Headmaster's Headache
- UVa10817 - Headmaster's Headache
- UVA10817 - Headmaster's Headache
- uva10817 Headmaster's Headache
- UVa10817 Headmaster's Headache
- uva10817(01背包 +状态压缩)
- UVA10817 最长回文子串
- uva10817 - Headmaster's Headache(01背包)
- UVA10817 状压DP+01背包思想
- [UVA10817] Headmaster's Headache && 状压DP
- 【 状压DP】 [UVA10817] Headmaster's Headache
- Berkeley DB 使用实例
- sql 日期格式
- 保持iOS设备屏幕常亮的方法
- scull字符设备
- 如何在Eclips中更改Android工程中包的名字
- uva10817
- Deploy Oracle 10.2.0.5 x64 RAC on Linux 5.8 x64 by Oracle Vbox
- alias 命令用法
- 【Foundation.framework】NSURLConnection
- myEclipse8.5安装svn
- android中采用java代码获取资源
- php实现伪静态的方法
- NSURLConnection下载文件并显示进度
- javascript 继承框架DW