![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
Sun——
这个作者很懒,什么都没留下…
展开
-
牛客--卡牌游戏 (概率DP 逆推) P2059
题目链接:卡牌游戏n个人,m张卡牌上有m个数字。庄家随机一张卡牌,数字为X,第X位出局,随后第X位的下一位做庄家,问,每个人最后获胜的概率是多少?约瑟夫环的变形问题,这里每次等概率的抽牌,数字是随机的,dp[i][j]: 还剩i个人时,第j个人获胜的概率 。dp[1][1]=1.0 最后剩下的那个人获胜从游戏的结局向前推,剩i人时,枚举m张卡牌,计算出下一局他的位置(也就是剩i-1人时),累加。我们算的是第j个人获胜的概率,如果刚好抽到他自己出局,忽略。抽到出局的位置temp:1,tem.原创 2021-10-18 10:21:05 · 2231 阅读 · 0 评论 -
牛客--守卫者的挑战(概率DP,dp[i][j][k])
题目链接:守卫者的挑战dp[i][j][k] :前 i 次挑战 获胜 j 次,背包容量还剩K的概率由于只需要最后背包容量大于残片的数量,k如果0~~n的话,中间会出现负值,由于n<=200,意味着最多-200。因此 设置一个绝对零点, int pre=n+min(n,k); //绝对0点可以用正数来描述负多少。由于k可能会很大,但是碎片最多n个,取与n的最小值即可.min(pre+n,k+a[i+1])迭代容量范围:.原创 2021-10-16 22:05:55 · 358 阅读 · 0 评论 -
2021ccpc网络复赛(hdu7131)--Nun Heh Heh Aaaaaaaaaaa
题目链接: Nun Heh Heh Aaaaaaaaaaa给定了字符串 “nunhehheh”,简单dp求出前缀有多少个符合的子序列,后缀有多少个a累加 前缀的序列的个数 * 2^(后缀a的个数-1 )累加时要注意去重,当前的序列数会包含前面一次累加时的个数,因此要保存前一次的序列数,减掉前一次的。取模要小心#include<bits/stdc++.h>#define ll long longusing namespace std;const int .原创 2021-10-14 22:06:31 · 391 阅读 · 0 评论 -
牛客 -- 小M和天平(简单dp)
小M和天平题目链接:https://ac.nowcoder.com/acm/problem/13586问:给你n个砝码,你是否能称出来重量为k的物品。问题类似于21年蓝桥杯的 “砝码称重” 这个题,一个问重量为k能不能称出来,一个问能称出来多少个不同的重量k设dp[i][j] ,表示前i个砝码能否称出重量为j的物品( 0 or 1 ),注意初始化类似于背包,第i个物品,选或不选。#include<bits/stdc++.h>#define ll long longusing原创 2021-09-07 15:52:21 · 424 阅读 · 0 评论