牛客周赛 Round 30 F.小红叒战小紫【期望dp】

文章介绍了通过期望动态规划解决两人对战的怪兽卡游戏,涉及战斗规则、概率计算和C++代码实现,关注点在于计算期望回合数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原题链接:https://ac.nowcoder.com/acm/contest/73760/F

时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld

题目描述

小红这天又和小紫发起了一场对战。对战的规则如下:
两人各有一些怪兽卡。每回合两人随机的从自己当前存活的怪兽卡中抽取一张发起决斗,战斗力低的怪兽卡死亡。如果两张怪兽卡战斗力相同,则无事发生。
游戏会进行到“如果抽卡,则 100% 的概率无事发生”或者“有一方卡牌被用完”时结束。请你计算小红和小紫游戏进行回合数的期望。

输入描述:

第一行输入两个正整数n,m,分别代表小红和小紫的怪兽卡数量。
第二行输入n个正整数ai​,代表小红的每张怪兽卡战斗力。
第三行输入m个正整数bi​,代表小紫的每张怪兽卡战斗力。
1≤n,m≤50
1≤ai​,bi​≤2

输出描述:

一个整数,代表最终回合数期望对1e9+7取模的值。可以证明,最终的答案一定是个有理数,你只需要输出其对1e9+7取模的结果。
分数取模的定义:假设答案是x/y,那么其对p取模的答案是找到一个整数a满足a∈[0,p−1]且a∗y对p取模等于x。

示例1

输入

1 1
1
1

输出

0

说明<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值