“蔚来杯“2022牛客暑期多校训练营10

“蔚来杯“2022牛客暑期多校训练营10-H Wheel of Fortune Tag:概率论,逆元,组合数 阅读详情

"蔚来杯"2022牛客暑期多校训练营10

[题目链接]("蔚来杯"2022牛客暑期多校训练营10_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ (nowcoder.com))

H Wheel of Fortune

题目大意

两个人在打炉石。双方英雄血量分别为A和B,并且双方各有7个随从,血量为ai和bi。

有一个操作,每次从场上的人中随机选择一个血量>0的人攻击,该人血量减10。A和B谁的血量先<=0,谁输。

问A赢的概率。

题解

通过观察可得,对于随从的攻击不影响最终获胜的概率,因为对任何随从的攻击相当于白费一次机会,A和B的血量不会变化。

令a = ⌈ A / 10 ⌉ , b = ⌈ B / 10 ⌉,若当A取得胜利时,

① 攻击数为b,P0=1 / 2b;(b次都是攻击B的,每次攻击B的概率为1 / 2,一共b次)

② 攻击数为b+1,P1=(Cbb-1 / 2b) * 1 / 2;(在前b次,有b-1次攻击了B,且在第b+1次,攻击了B)

依此类推,最后一次A可以取得胜利的攻击次数是b+a-1,概率为(Cb+a-2b-1 / 2b+a-2) * 1 / 2。

所以A总的获胜概率为上述概率的和。

代码

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 2e7 + 5;
const int mod = 998244353;
ll A, B, a, b, x, res;
ll fact[maxn];
ll qpow(ll a, ll n, ll mod)
{
    ll res = 1;
    while (n)
    {
        if (n & 1)
            res = (res * a) % mod;
        a = (a * a) % mod;
        n >>= 1;
    }
    return res;
}
ll inv(ll a, ll p)
{
    return qpow(a, p - 2, p);
}
ll C(ll b, ll a)
{
    return fact[a] * inv(fact[b], mod) % mod * inv(fact[a - b], mod) % mod;
}
void init()
{
    fact[0] = 1;
    for (int i = 1; i < maxn; i++)
    {
        fact[i] = fact[i - 1] * i % mod;
    }
}
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    init();
    cin >> A;
    for (int i = 1; i <= 7; i++)
        cin >> x;
    cin >> B;
    for (int i = 1; i <= 7; i++)
        cin >> x;
    a = ceil(1.0 * A / 10), b = ceil(1.0 * B / 10);
    for (int i = b; i <= b + a - 1; i++)
        res = (res + C(b - 1, i - 1) * inv(qpow(2, i, mod), mod) % mod) % mod;
    cout << res << endl;
    return 0;
}

F Shannon Switching Game?

题目大意

给定一个无向图,初始时有一个物品在s点,两个玩家Join Player和Cut Player轮流行动,Cut Player先手。

Cut Player每次可以删除一条和物品所在位置相邻的边;Join Player每次可以将物品沿着一条未删除的边移动,并且删除这条边。

如果物品在某刻被移动到t,则Join Player获胜,否则Cut Player获胜,求双方最优策略下的胜者。

题解

定义一个点集,该点集中的点在双方最优策略下可以到达t点。

初始时点集只有t点。

某一个点可以添加到点集的条件:该点与点集中的所有点之间的边的数量大于等于2即可。因为Cut Player只能删除一条边,然后Join Player可以从该点与点集的其他边到达点集。

最后判断s是否在该点集中即可。

代码

#include <bits/stdc++.h>
using namespace std;
int T, n, m, s, t;
const int maxn = 1e2 + 5;
int g[maxn][maxn], num[maxn];
bool vis[maxn];
bool bfs()
{
    queue<int> q;
    q.push(t);
    vis[t] = 1;
    while (q.size())
    {
        int u = q.front();
        q.pop();
        for (int i = 1; i <= n; i++)
        {
            if (vis[i])
                continue;
            num[i] += g[u][i];
            if (num[i] > 1)
            {
                q.push(i);
                vis[i] = 1;
            }
        }
    }
    return num[s] > 1;
}
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    cin >> T;
    while (T--)
    {
        memset(vis, 0, sizeof vis);
        memset(g, 0, sizeof g);
        memset(num, 0, sizeof num);
        cin >> n >> m >> s >> t;
        while (m--)
        {
            int u, v;
            cin >> u >> v;
            g[u][v]++;
            g[v][u]++;
        }
        cout << (bfs() ? "Join Player" : "Cut Player") << endl;
    }
    return 0;
}
(代码可运行)半导体器件和工艺模拟 使用Silvaco设计构建NMOS并提取各项工艺及器件参数 win10。 阅读详情

相关推荐

WSL2不能上网,Failed to connect to github.com port 443问题解决方案

WSL2不能上网: 问题:ping外网无效 例如:ping www.baidu.com失败 解决方案: 在wsl: $sudo vi /etc/wsl.conf wsl.conf: [network] generateResolvConf = false 在PowerShell: $sudo vi /etc/etc/resolv.conf resolv.conf: # This file was automatically generated by WSL. To stop automatic gen

Jason_Chen__的博客 9525

2022牛客多校(十)

2022牛客多校(十)

m0_54646258的博客 1198

UFS电源管理实战:如何优化手机存储的功耗与性能(附实测数据)

本文深入探讨了UFS电源管理的实战优化策略,旨在平衡手机存储的功耗与性能。通过解析UFS核心电压域与工作状态,重点介绍了通过动态调整bActiveICCLevel(活动电流等级)来实现精细控制,并结合实测数据与场景驱动的智能策略,为Android系统与硬件工程师提供了降低功耗、提升流畅度的有效方法。

weixin_29214559的博客 504

“蔚来杯”2022牛客暑假多校训练营部分题解 1

对牛客多校的部分题做一些记录 1

Log_x's Blog 740

STM32H750xx【QSPI】轮询方式读写GD25Q64E

本文详细介绍了GD25Q64E其特性、引脚定义及功能说明,重点阐述了在STM32H750平台上通过CubeMX配置QuadSPI接口的步骤,包括时钟设置、参数优化等。文章提供了完整的BSP驱动开发流程,涵盖写使能、四线模式使能、ID读取、解除保护、扇区擦除、整片擦除、页编程和数据读取等关键功能实现,并通过读写测试验证了DummyCycles参数对数据准确性的影响。

honmy18的博客 1422

gdb对dwarf调试信息的解析和使用

gdb的对dwarf的调试信息的解析到使用的过程分析

JS072110的专栏 9568

[牛客]2021牛客暑期多校训练营10

目录前言E.War of Inazuma (Easy Version)code 前言 近期打算补一下 牛客暑假多校,打算提升一波 传送门 : E.War of Inazuma (Easy Version) 题意 : 题面较为复杂,大概意思是 对于一个超立方体,有2n2^n2n个节点,对于每一个节点当他们的二进制只有一位不同的时候,认为他们相邻,问使得相邻0,10,10,1不超过(n)\sqrt{(n)}(n)​的方案 思路 : 设xxx为一个数的二进制个数,另一个为yyy 则如果这两个数相邻那么y=x+1∣

qq_34364611的博客 426

Android架构中UseCase的设计原则与实战解析

本文深入解析Android架构中UseCase的设计原则与实战应用,探讨其在Domain Layer中的核心作用。通过对比ViewModel的臃肿问题,详细阐述UseCase的无状态原则、单一职责边界等设计铁律,并提供多种实现方式的代码示例,帮助开发者构建更清晰、高效的Android应用架构。

weixin_28432777的博客 431

“蔚来杯“2022牛客暑期多校训练营(补题合集)

“蔚来杯“2022牛客暑期多校训练营(补题合集) J-Serval and Essay K-Link with Bracket Sequence I L-Link with Level Editor I F-Fief D-Birds in the tree A-Don't Starve M-Z-Game on grid F-Longest Common Subsequence I-The Great Wall II

酒姬民的博客 1049

断层错动和近断层地震动联合作用下软岩隧洞衬砌损伤分析

摘要 本文提出了一种基于Python的软岩隧洞衬砌损伤分析系统,重点研究断层错动和近断层地震动的联合作用效应。系统采用有限元方法建立隧洞-围岩体系模型,通过非线性动力分析评估衬砌结构损伤。研究内容包括:1)建立考虑应变软化的软岩本构模型;2)基于位错理论模拟断层错动过程;3)合成具有速度脉冲效应的近断层地震动;4)开发完整的动力响应分析流程。结果表明,所提出的方法能有效评估软岩隧洞在复杂地质条件下的抗震性能,为工程设计提供理论依据。 关键词:软岩隧洞、断层错动、近断层地震动、损伤分析、Python、有限元法

max500600的博客 842

【推荐100个unity插件之24】实现2d交互式草树叶和随风飘动的效果——pixelgraphics插件

【推荐100个unity插件之23】实现2d交互式草树叶和随风飘动的效果——pixelgraphics插件

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1683

2022 年牛客多校加赛场补题记录

2022 年牛客多校加赛场补题记录

m0_52048145的博客 902

论文阅读:2024 ACM CCS “Do Anything Now”: Characterizing and Evaluating In-The-Wild Jailbreak Prompts on

大语言模型(LLMs)的滥用问题引起了公众和大语言模型供应商的高度关注。有一种特殊的对抗性提示,叫做越狱提示,它已成为绕过防护措施、让大语言模型生成有害内容的主要攻击手段。在这篇论文中,作者使用新框架JailbreakHub,对2022年12月至2023年12月期间的1405个越狱提示进行了全面分析。作者识别出131个越狱提示社区,发现了越狱提示的独特特征以及主要攻击策略,比如提示注入和权限提升。

CSPhD-winston的博客 1411

“蔚来杯“2022牛客暑期多校训练营10,签到题HFIE

题号 标题 已通过代码 通过率 团队的状态A Everlasting Transeunt 点击查看 6/42B Fall Guys-Perfect Match 点击查看 6/115C Magic Ritual 点击查看 2/10So Fa!点击查看 21/140G Steins;Game 2 点击查看 24/59点击查看 15/146K You are given a tree… 点击查看 10/78。

小哈里的博客 1296

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

“蔚来杯“2022牛客暑期多校训练营10 EFI题解

EFI题解加代码

Shanhj的博客 426

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

“蔚来杯“2022牛客暑期多校训练营10 题解

思路:对于A和B来说,随从是共用的,只要随从被咒语砸中就是为两个人抵挡伤害,所以只需要考虑AB的生命值即可。AB能抵挡的攻击次数分别为ceil(A/10.0)和ceil(B/10.0),最少攻击次数就是ceil(B/10.0)最多次数就是ceil(B/10.0)+ceil(A/10.0)-1。思路:这是一道博弈论的题,一般要从后往前想,t这个点一定是必胜态,然后能有两条路径到必胜态的情况也一定是必胜态,因为join保证了一定不会被cut给拦截。F题 Shannon Switching Game?

qq_53351374的博客 169

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

“蔚来杯“2022牛客暑期多校训练营10补题

无

A______2333的博客 300

“蔚来杯“2022牛客暑期多校训练营10 F.Shannon Switching Game?

Tag:博弈论、DFS

PTCCTP的博客 1099

“蔚来杯“2022牛客暑期多校训练营10 I.Yet Another FFT Problem?

Tag:鸽巢原理,枚举

PTCCTP的博客 425

“蔚来杯“2022牛客暑期多校训练营10-I Yet Another FFT Problem?

Tag:鸽巢原理

qq_60252920的博客 466

“蔚来杯“2022牛客暑期多校训练营10 Yet Another FFT Problem?

"蔚来杯"2022牛客暑期多校训练营10

wantBe_better的博客 300

“蔚来杯“2022牛客暑期多校训练营10-F Shannon Switching Game?

Tag:博弈论?、BFS(DFS)

qq_60252920的博客 424

“蔚来杯“2022牛客暑期多校训练营10 K.You are given a tree...

Tag:状压DP,随机化

PTCCTP的博客 292

“蔚来杯“2022牛客暑期多校训练营10-K You are given a tree...

Tag:状压dp

qq_60252920的博客 282

2024牛客暑期多校训练营9 I Interesting Numbers

题解

qq_73746764的博客 1312

2025牛客暑期多校训练记录

【省流版】 I 题是正解却被卡常的,H 是比赛结束后 2s 以后过的…… 【Zlw】上来先开始看 E,看到平方差想到化成 (a+b)(a−b)(a+b)(a-b)(a+b)(a−b) ,但是一开始以为是质数不合法。不过后面细想一下发现分奇偶考虑,(a+b),(a−b)(a+b),(a-b)(a+b),(a−b) 奇偶性要相同,然后就能得到答案了。【Scy】G 题题意有点迷惑,看了一遍仍然没懂,于是让 zlw 先开始敲题,趁着他卡住了一下的间隙签到完毕。【*】前两题在 16/18 min 的时候通过。【Z

scy923的博客 2329
上一篇: 2022“杭电杯”中国大学生算法设计超级联赛(10)
Troyyee
博客等级 码龄5年 5粉丝 21原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值