博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
P2473 || SCOI2008 奖励关 //状压&&期望DP
阅读量:6811 次
发布时间:2019-06-26

本文共 940 字,大约阅读时间需要 3 分钟。

https://www.luogu.org/problemnew/show/P2473

一句话题意:有n种宝物,捡起会有得分(可能为负),有k轮可以捡起宝物.其中有些宝物,需要另外的宝物捡起过才能捡起.

问采取最优策略的期望得分.

 

:期望的最大特点在于难写的递推式和倒序DP

但这道题没那么恶心,递推式还是挺好写的(指看完题解之后可以自己写出DP式子)

f[i][S]表示在第1轮到第i-1轮内宝物是否取过的状态为S,第i轮到第K轮的最大期望得分

f [ i ][ S ] 在S满足时可以取或不取 f[ i ][ S ] =max( f[ i + 1 ] [ S ] ,  f [ i+1 ][ S | (1<<(j-1))] + a[j])

不满足时只可以不拿即f[i][S]=f[i+1]

中间的各个状态要在什么时候除以n有点恶心,要好好想想.

下配AC代码:

 

#include
using namespace std ;const int MAXN=300;int K,n,a[30],b[30];double dp[105][33000];int main(){ scanf("%d%d",&K,&n); for(int i=1;i<=n;i++){ scanf("%d",&a[i]); while(1){ int tra1=0; scanf("%d",&tra1); if(!tra1) break; else b[i]=b[i]|(1<<(tra1-1)); } }// for(int i=1;i<=n;i++){// cout<
<
=1;i--){
//diao luo ci shu for(int j=0;j < (1<

TAG : SIN_XIII

转载于:https://www.cnblogs.com/SINXIII/p/10807777.html

你可能感兴趣的文章
SDOI2015 序列统计
查看>>
获取第几周
查看>>
矩形覆盖
查看>>
VS2010 配置PCL1.6.0AII in one 无法启动程序ALL_BUILD
查看>>
用python写MapReduce函数——以WordCount为例
查看>>
【好文翻译】10个免费的压力测试工具(Web)
查看>>
mysql 新建用户并赋予远程访问权限
查看>>
WPF_在APP.xaml应用资源样式
查看>>
AX2012 R3 Data upgrade checklist sync database step, failed to create a session;
查看>>
初次使用Eclipse,坑一二
查看>>
[c++] polymorphism without virtual function
查看>>
Effective_STL 学习笔记(十六) 如何将 vector 和 string 的数据传给遗留的API
查看>>
android定位问题
查看>>
hdu-1242 dfs+各种剪枝
查看>>
Sql Server 分区之后增加新的分区
查看>>
C语言基础第三次作业
查看>>
ML | Naive Bayes
查看>>
javascript:正则表达式、一个表单验证的例子
查看>>
第一个Maven工程的目录结构和文件内容及联网问题
查看>>
js移动端 可移动滑块
查看>>