设为首页 加入收藏

TOP

HDU5045Contest(记忆化搜索)
2015-07-20 17:35:45 来源: 作者: 【 】 浏览:2
Tags:HDU5045Contest 记忆 搜索

HDU5045Contest(记忆化搜索)

题目链接

题目大意:有N个人组成一支队伍来答题,每个人答每道题的正确率都是已知的,但是有个要求:一直每个人答任何一道题目的时间都是1个小时,要求在任何时刻,任何两个人的答题累计时间都不能超过1.求这样答题的最优策略下最好的出题期望。

解题思路:把所有的人答题的累计时间作为状态,用二进制数来表示。当这个二进制状态每个位都是1的话,那么就将这个二进制数清为0.复杂度2^10 * 1000;

代码:

#include 
   
     #include 
    
      #include 
     
       #include 
      
        using namespace std; const int maxn = 1500; const double esp = 1e-9; double f[maxn][maxn]; double P[maxn][maxn]; int n, m; void init () { for (int i = 0; i <= m; i++) for (int j = 0; j <= (1<
       
         esp) return ans; if (k == m) return ans = 0; double tmp; for (int i = 0; i < n; i++) { if (st & (1<
        
         = 0) ans = max(ans, tmp + P[i][k]); } if (ans < 0) ans = -2; return ans; } int main () { int T; scanf ("%d", &T); for (int cas = 1; cas <= T; cas++) { scanf ("%d%d", &n, &m); for (int i = 0; i < n; i++) for (int j = 0; j < m; j++) scanf ("%lf", &P[i][j]); init(); printf ("Case #%d: %.5lf\n", cas, dp(0, 0)); } return 0; }
        
       
      
     
    
   
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Effective C++ 条款 49:了解new-.. 下一篇[LeetCode]Swap Nodes in Pairs ..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·有没有适合新手练习 (2025-12-26 01:48:47)
·用清华镜像网怎么下 (2025-12-26 01:48:44)
·请比较Python和R语言 (2025-12-26 01:48:42)
·JAVA现在的就业环境 (2025-12-26 01:19:24)
·最好的java反编译工 (2025-12-26 01:19:21)