ZOJ 3502 Contest 状态压缩 概率 DP
链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3502
1 #include <iostream> 2 #include <cstdio> 3 #include <string> 4 #include <cmath> 5 #include <cstring> 6 using namespace std; 7 int T, N; 8 double p[15][15], dp[1<<15]; 9 string s[1<<15]; 10 const double eps=1e-8; 11 int Sign( double x ) 12 { 13 if( fabs(x)<eps )return 0; 14 return x>0?1:-1; 15 } 16 int main( ) 17 { 18 scanf("%d", &T); 19 while(T--){ 20 scanf("%d",&N ); 21 for(int i=0; i<N; ++ i){ 22 for( int j=0; j<N; ++j ){ 23 scanf("%lf", &p[i][j]); 24 } 25 } 26 int t=1<<N;double q; 27 28 memset(dp, 0, sizeof dp); 29 if(N==1)s[1]="A"; // N=1 p=0 不能被更新到~ 30 for(int i=1; i<t; ++ i){ 31 for( int j=0; j<N; ++ j ){// 更新到当前位 32 if( i&(1<<j)) { 33 q=0; 34 for( int k=0; k<N; ++ k ){ // 已经被更新过的 35 if(i&(1<<k)) 36 q=max(q, p[k][j]); 37 } 38 } 39 q=dp[i^(1<<j)]+q/100.0; 40 if( Sign(q-dp[i])>0 || Sign(q-dp[i])==0 && s[i^(1<<j)]<s[i]){ 41 dp[i]=q; 42 s[i]=s[i^(1<<j)]; 43 s[i]+=('A'+j); 44 } 45 } 46 } 47 48 printf("%.2f\n%s\n", dp[t-1], s[t-1].c_str()); 49 } 50 return 0; 51 }
View Code
转载于:https://www.cnblogs.com/jian1573/p/3252898.html
ZOJ 3502 Contest 状态压缩 概率 DP相关推荐
- HDU 1693(状态压缩 插头DP)
我们引用国家队2008年陈丹琦的大作--<基于连通性状态压缩的动态规划问题>,上面对于插头.轮廓线的概念有详细的解释,不再赘述. 我们使用一个三维数组,前两维表示所在的格子,后一维表示轮廓 ...
- 洛谷 P-4045 密码(AC自动机+状态压缩+数位DP+乱搞)
洛谷 P-4045 密码 记AC的第一道黑题! 题意:已知一段密码包含了一些字符串,然后求满足条件的密码有多少个,数量小于42时还得全部输出 思路: 一开始WA了两个点,不知道WA的什么,索性把读入的 ...
- TYVJ 2054 [Nescafé29]四叶草魔杖 最小生成树 状态压缩/背包DP
$ \rightarrow $ 戳我进TYVJ原题 [Nescafé29]四叶草魔杖 题目限制 时间限制 内存限制 评测方式 题目来源 1000ms 131072KiB 标准比较器 Local 题目背 ...
- hdu 5045 Contest(状态压缩DP)
题解:我们使用一个二位数组dp[i][j]记录进行到第i个任务时,人组合为j时的最大和(这里的j我们用二进制的每位相应一个人). 详细见代码: #include <iostream> #i ...
- 洛谷 P2051 [AHOI2009]中国象棋 状态压缩思想DP
P2051 [AHOI2009]中国象棋 题意: 给定一个n*m的空棋盘,问合法放置任意多个炮有多少种情况.合法放置的意思是棋子炮不会相互打到. 思路: 这道题我们可以发现因为炮是隔一个棋子可以打出去 ...
- zoj - 3502 Contest
题意::&& 题解 ::here~~~~~~~~ #include<cstdio> #include<cmath> #include<iostream& ...
- 【原创】概率DP总结 by kuangbin
概率DP主要用于求解期望.概率等题目. 转移方程有时候比较灵活. 一般求概率是正推,求期望是逆推.通过题目可以体会到这点. 首先先推荐几篇参考的论文: <信息学竞赛中概率问题求解初探> & ...
- Acwing291. 蒙德里安的梦想:状态压缩dp
文章目录 题目分析 状态表示 状态转移 时间复杂度 题目链接 题目分析 题意重述:给定n*m的方格,看能分成多少个1 *2的小方块. 题目分析: 摆放方块的时候,先放横着的,再放竖着的.总方案数等于只 ...
- ZOJ 3802 Easy 2048 Again 状态压缩dp
题目 Easy 2048 Again -–zoj 3802 Time Limit: 2 Seconds Memory Limit: 65536 KB Dark_sun knows that on a ...
最新文章
- postman 安装失败_【Postman】14 Postman与Jenkins集成使用
- 2013\Province_Java_C\1.猜年龄
- 30秒清除你电脑中的垃圾
- Android 入门实例完整代码
- javascript 幻灯片代码(含自动播放)
- cisco3560交换机的策略路由的设置
- JavaScript获取浏览器可视区域的宽高
- 大数据开发的26个专业术语
- ArcGIS 制图搭配:文字、比例尺等大小
- 假设检验 - 区间估计(总体标准差未知)
- Estimator::relativePose
- Hexo-fluid主题添加51LA统计
- 地面分割:Fast Segmentation of 3D Point Clouds for Ground Vehicles
- xgboost中自定义损失函数的使用方法
- 通用进制转换工具,可实现进制之间的任意转换
- A股日内回转交易意义何在?
- 服务器加独立显卡不显示不出来,win10独立显卡不见了怎么办_网站服务器运行维护,win10...
- 生活流水账(转载老婆的文章)
- [附源码]计算机毕业设计Python4S店汽车售后服务管理系统(程序+源码+LW文档)
- Vocabulary Tree 词汇树算法
热门文章
- 创建一个二维数组,以4行4列左对齐的方式将数组输出
- 如何查计算机电源功率,怎么看电脑电源功率
- 超详细目标检测,yolo3训练自己的数据集
- 藏红花怎么推广?百度下拉词|抖音下拉词框|信息流推广-三剑合璧
- python scrapy框架爬虫当当图书网
- AttributeError: module ‘onnxruntime‘ has no attribute ‘InferenceSession‘
- java drawimage api_HTML5 Canvas API中drawImage()方法的使用实例
- 11gR2 Grid Infrastructure Installation prerequisites On Windows
- C++ ---------------- 成员函数指针揭秘
- springwebflux 页面_Spring Security: Webflux 默认配置