【CSP】202109-4 收集卡牌 题目大意: 小明抽卡,卡池共有n张卡,每张抽到的概率为pi,且每张重复的卡可以兑换成硬币,k个硬币可以兑换任意一张卡(硬币会攒起来在恰好可以兑换所有n张卡的时候一次性兑换)。问小明得到n张卡的期望抽卡次数是多少。(n<=16) 分析: 氪佬小明一看到n<=16就知道要状压dp,思路就是...
2021.09 ccf csp 第四题 收集卡牌 思路 这题如果直接计算,因为不同的分类种数太多,枚举所有的分类情况是一个几乎不可能的复杂任务。 但不同摸牌次数,不同已摸出牌种类的子问题的答案之间,具有一定的递推关系。这种特征说明该问题可以使用动态规划来解决。 设$dp[i][j]$为动态规划状态,其中$i$表示已摸出牌种...
double dp[400005][205];//dp[i][j]为i状态下手中有j个硬币的概率 double ans = 0; int get(int x) { int ret = 0; while(x) { ret += (x & 1); x >>= 1; } return ret; } int main() { cin >> n >> k; for(int i = 0; i <= 200005; i++) { for(int j = 0; ...
小林在玩一个抽卡游戏,其中有 \(n\) 种不同的卡牌,编号为 \(1\) 到 \(n\)。每一次抽卡,她获得第 \(i\) 种卡牌的概率为 \(p_i\)。如果这张卡牌之前已经获得过了,就会转化为一枚硬币。可以用 \(k\) 枚硬币交换一张没有获得过的卡。 小林会一直抽卡,直至集齐了所有种类的卡牌为止,求她的期望...
[阅读量最高置顶]CSP202109-4 收集卡牌 题解 好题,虽然看着像期望DP,但是装压好写。 〇、题目 题目描述 小林在玩一个抽卡游戏,其中有 nn 种不同的卡牌,编号为 11 到nn。每一次抽卡,她获得第 ii 种卡牌的概率为 pipi。如果这张卡牌之前已经获得过了,就会转化为一枚硬币。可以用 kk 枚硬币交换一张没有...
状压DP。下面的代码交上去0分,比赛写的暴力交上去也是0分,怀疑题库数据炸了2333不过下面的和暴搜拍过小数据是没问题的。等过一阵再试试。#include <iostream> using namespace std; int n, k; double p[200005]; double dp[400005][205];//dp[i][j]为i状态下手中有j个硬币的概率 ...