| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> [PKUSC2022]撸猫——Hall定理 -> 正文阅读 |
|
[数据结构与算法][PKUSC2022]撸猫——Hall定理 |
原题链接也许没寄吧题目描述作为一位喜欢猫的人,小 B 家里养了 n n n 只猫。这些猫从 1 1 1 到 n n n 标号。 他每天最喜欢的时候就是撸猫,可惜猫猫并不是每天都愿意被他撸。愿意被他撸的猫猫集合 S ? [ n ] S \subseteq [n] S?[n] 根据某个概率分布 P P P 随机而来。 在知道了哪些猫猫愿意被撸之后,小B可以选择某一只愿意的来 rua。注意,如果 S S S 集合为空,则小 B 不能撸任何一只猫。同时,小 B 的撸猫策略可以带有随机性。比如,在知道了 1,2 号猫猫都愿意被撸之后,他可以以 50 % 50\% 50% 的概率撸第一只猫,以另外 50 % 50\% 50% 的概率撸第二只猫。 作为一位公平的人,小 B 希望给每一只猫猫更多被 rua 的机会。他希望设计一个撸猫的策略来最大化 Pr ? [ i 被撸 ∣ i ∈ S ] \operatorname{Pr}[i_{\text{被撸}} | i\in S] Pr[i被撸?∣i∈S] 的最小值。换句话说,令 p i = Pr ? [ i ∈ S ] p_i = \operatorname{Pr}[i\in S] pi?=Pr[i∈S] 是第 i i i 只猫猫愿意被撸的概率。我们需要设计一个撸猫的策略来最大化常数 c c c,使得每只猫被撸的概率至少是 c p i cp_i cpi?。 输入格式 一行一个整数
n
n
n。 输出格式 一行一个浮点数 c c c,表示答案。 样例 样例输入 1
样例输出 1
样例输入 2
样例输出 2
数据范围与提示 Subtask 1 [12 pts]:
1
?
n
?
2
1\leqslant n\leqslant 2
1?n?2。 题解听永神说是脑瘫题。 考虑二分答案,那么问题就转化为一个二分图网络流:左边是 2 n 2^n 2n 个点表示每种情况,入边容量为这种情况的概率,右边是 n n n 个点表示每只猫,出边容量为 c ? p i c*p_i c?pi?,中间对应连上容量 + ∞ +\infty +∞ 的边。答案合法当且仅当图的右边满流。 我们可以直接套用 H a l l \rm Hall Hall 定理来判断是否可以满流,这样判断一次是 O ( 2 n ) O(2^n) O(2n),二分答案可以直接通过。 当然你会发现完全没必要二分答案,直接 H a l l \rm Hall Hall 定理枚举时取个最小值即可。 代码我的还是二分答案
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/30 0:57:20- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |