C. Random Events(思维+概率)

news2024/11/26 18:40:27

Problem - 1461C - Codeforces

罗恩是一个长度为n的排列组合的快乐主人。

一个长度为n的排列组合是一个由1到n的n个不同的整数按任意顺序组成的阵列。例如,[2,3,1,5,4]是一个排列组合,但是[1,2,2]不是一个排列组合(2在数组中出现了两次),[1,3,4]也不是一个排列组合(n=3,但是数组中有4)。


罗恩的排列组合要经过m个以下类型的实验:(ri,pi)。这意味着范围[1,ri]中的元素(换句话说,长度为ri的前缀)必须以pi的概率进行升序排序。所有的实验都是按照输入数据中指定的顺序进行的。

作为一个例子,我们来看看一个排列组合[4,2,1,5,3]和一个实验(3,0.6)。在这样一个概率为60%的实验之后,排列组合将变成[1,2,4,5,3]的形式,而概率为40%的排列组合将保持不变。

你必须确定经过m次实验后,排列组合成为完全升序排序的概率。

输入
每个测试包含一个或多个测试案例。第一行包含测试用例的数量t(1≤t≤100)。

每个测试案例的第一行包含两个整数n和m(1≤n,m≤105)--分别是排列组合的长度和实验的数量。

每个测试用例的第二行包含n个整数a1,a2,...,an(1≤ai≤n)--排列组合的内容。

每个测试案例的下面m行分别包含一个整数ri和一个实数pi(1≤ri≤n,0≤pi≤1)--前缀的长度和它被排序的概率。所有的概率都最多给出6位小数。

保证n和m的总和不超过105(∑n,∑m≤105)。

输出
对于每个测试案例,打印一个数字--经过所有实验后,排列组合成为升序排列的概率。如果你的答案的绝对或相对误差不超过10-6,将被认为是正确的。

形式上,让你的答案为a,陪审团的答案为b。你的答案被接受,当且仅当|a-b|max(1,|b|)≤10-6。

例子
输入复制
4
4 3
4 3 2 1
1 0.3
3 1
4 0.6
5 3
4 2 1 3 5
3 0.8
4 0.6
5 0.3
6 5
1 3 2 4 5 6
4 0.9
5 0.3
2 0.4
6 0.7
3 0.5
4 2
1 2 3 4
2 0.5
4 0.1
输出拷贝
0.600000
0.720000
0.989500
1.000000
备注
对第一个测试案例的解释。可以证明,最终的排列组合是否被排序完全取决于在(4,0.6)实验中进行的排序。

题解:
非常简单的一道题,主要看能不能理解题意

从后往前找第一个a[i] 不等于i的,因为如果a[i] = i,代表i往后的都已排好序,不需要操作,如果a[i]!=i,ma=  i代表要对前i个进行排序,

剩下就是找前缀大于ma的找不可能的情况(1-y)相乘,最后

1- ans就是可能的概率

#include<iostream>
#include<algorithm>
#include<cstring>
#include<string>
#include<map>
#include<vector>
#include<queue>
using namespace std;
#define int long long
int a[200505];
int b[200050];
void solve()
{
	int n,m;
	cin >> n >> m;
	for(int i = 1;i <= n;i++)
	cin >> a[i];
	int ma = 0;
	for(int i = 1;i <= n;i++)
	{
		if(a[i]!=i)
		{
			ma = i;
		}
	}
	double ans = 1;
	for(int i = 1;i <= m;i++)
	{
		int x;
		double y;
		cin >> x>>y;
		if(x >= ma)
		{
			ans = ans*(1.0 - y);
		}
	}
	ans = 1.0 - ans;
	if(ma != 0)
	printf("%.8lf\n",ans);
	else
	printf("%lf\n",1.0);
}
signed main()
{
	int t = 1;
	cin >> t;
	while(t--)
	{
		solve();
	}
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/27405.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

动手学习深度学习

动手学习深度学习内容安排深度学习介绍内容安排 深度学习基础&#xff1a;线性神经网络、多层感知机卷积神经网络&#xff1a;LeNet、AlexNet、VGG、Inception、ResNet循环神经网络&#xff1a;RNN、GRU、LSTM、seq2seq注意力机制&#xff1a;Attention、Transformer优化算法&…

GPU是什么?GPU有多重要?

前段时间&#xff0c;MD和英伟达相继接到通知要对我国断供高端GPU芯片&#xff0c;很多人不知道GPU到底有什么用&#xff1f;下面IC修真院就带大家来一起了解一下GPU。 首先来了解一下GPU是什么&#xff1f; GPU–图形处理器&#xff08;Graphics Processing Unit&#xff09…

Assignment写作需要做好哪些练习?

有些澳洲留学小伙伴在被Assignment难住后往往会选择多练习来完成&#xff0c;那么如何顺利完成一篇Assignment的呢&#xff1f;小编就来为大家详解一番。 Some students studying in Australia often choose to practice more to complete assignments when they are baffled b…

【pwn】2022 极客大挑战

【pwn】2022 极客大挑战 前言 又是一年的极客大挑战&#xff0c;又老了一岁&#xff0c;也只有打打新生赛才能有第一次接触ctf快乐了&#xff0c;现在各种比赛的pwn都是纯纯的坐牢~ 本次题解的所有脚本使用的类库都是本人自己整合的一个库&#xff0c;github地址&#xff1a…

2022京东双十一全品类销售额变化情况一览:50%增长,50%下滑

面对外界的风风雨雨&#xff0c;京东一直稳如泰山。有人认为京东全线都出现销售额大幅下滑&#xff0c;有人则认为京东今年的销售额整体可观。 那么相较于去年同期&#xff0c;究竟有哪些品类在如此大环境下依然处于上升期&#xff0c;又有哪些品类遭遇滑铁卢&#xff0c;面临短…

Redis数据类型之list

文章目录listⅠ. 增删查改Ⅱ. 业务场景Ⅲ. 注意事项提示&#xff1a;以下是本篇文章正文内容&#xff0c;Redis系列学习将会持续更新 list ● 数据存储需求&#xff1a;存储多个数据&#xff0c;并对数据进入存储空间的顺序进行区分 ● 需要的存储结构&#xff1a;一个存储空间…

问题 D: 是否为有效的拓扑序列

题目描述 在一个有向无环图中&#xff0c;可能存在多种有效拓扑序列。以下图为例&#xff1a; 存在两种可行的拓扑序列&#xff1a;0 1 2 3 40 2 1 3 4 本题会给出一个图&#xff0c;以及多个序列&#xff0c;你来判断每一个序列是否是该图的有效拓扑序列。 输入格式 第一…

(Transferrin)TF-PEG-PCL/PLA/PAA 转铁蛋白-聚乙二醇-聚已内酯/聚乳酸/聚丙烯酸

产品名称&#xff1a;转铁蛋白-聚乙二醇-聚已内酯 英文名称&#xff1a;TF-PEG-PCL;Transferrin-PEG-PCL 纯度&#xff1a;95% 存储条件&#xff1a;-20C&#xff0c;避光&#xff0c;避湿 外观:固体或粘性液体&#xff0c;取决于分子量 PEG分子量可选&#xff1a;350、550、75…

外汇天眼:美国10月份成屋销售连续第九个月下降!利率上升和通胀飙涨吓跑潜在买家!

10月份美国房屋销售连续第9个月下滑&#xff0c;因利率上升和通胀飙升令买家持观望态度。 具体付 全美房地产经纪人协会(National Association of Realtors)的数据显示&#xff0c;9月至10月&#xff0c;成屋销售下降5.9%。这是自2011年12月以来的最慢速度&#xff0c;除了在C…

企业真实面试:父子类之间到底是怎么实例化的?

一. 问题展现 今天有粉丝向波哥询问了这样一道题目&#xff0c;这道题目是粉丝在面试时遇到的&#xff0c;如下图所示&#xff1a; 波哥把上图这道题目的考察重点给大家梳理一下&#xff1a; 有一个父类People&#xff0c;它有一个子类Child&#xff1b; 父类的的无参构造方法…

Redis——》过期删除策略

推荐链接&#xff1a; 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 Redis——》过期删除策略一、过期删除策略1、定时删除2、惰性删除3、定期删…

通达信交易dll接口怎么实现程序化交易?

现在很多交易者选择量化投资与传统的股票交易之间&#xff0c;往往会选择自动化交易跟量化交易的比较多&#xff0c;毕竟现在很多可以开发出来的交易软件都具备了量化的特点&#xff0c;能够及时的把握更多的盈利的机会&#xff0c;就比如说常使用的到通达信交易dll接口就是一个…

LeetCode | 850. 矩形面积 II

我们给出了一个&#xff08;轴对齐的&#xff09;二维矩形列表 rectangles 。 对于 rectangle[i] [xi1, yi1, xi2, yi2], 表示第 i 个矩形的坐标&#xff0c; (xi1, yi1) 是该矩形 左下角 的坐标&#xff0c; (xi2, yi2) 是该矩形 右上角 的坐标。 计算平面中所有 rectangles…

java maven pom application 生产prod/开发dev/测试test

前言 pom 和 application.properties&#xff08;application.yml)里的定义的环境不太一样&#xff0c; pom 是maven对应的配置文件&#xff0c;编译阶段使用 application.properties&#xff08;application.yml) 是Spring配置文件&#xff0c;程序运行阶段使用 POM pom文…

每次打开百度太麻烦?用程序直接打开网页 Python实现百度划词搜索功能(获取剪切板数据)

浏览顺序实现划词功能运行错误解决问题转载声明实现划词功能 说是划词翻译&#xff0c;实际上我们是通过获取用户的剪切板内容&#xff0c;通过一系列的操作得到的。首先呢&#xff0c;我们就先实现如何获取剪切板内容的程序 首先先在桌面创建一个文件夹&#xff0c;命名为“…

pac自动代理

文章目录1.pac 定义2. 参考配置地址3. 实际配置案例3.1 编写pac文件3.1.1 return 语句有三种指令&#xff1a;3.1.2 内置函数3.1.2.1 dnsDomainIs3.1.2.2 shExpMatch3.1.2.3 isInNet3.1.2.4 主机ip3.1.2.5 dnsResolve3.1.2.6 isPlainHostName3.1.2.7 isResolvable3.1.2.8 dnsDo…

RabbitMQ初步到精通-第十章-RabbitMQ之Spring客户端源码

目录 第十章-RabbitMQ之Spring客户端源码 1. 前言 2. 客户端消费代码 2.1 消费的实现方式 2.2 消费中注解解释 2.3 推测Spring实现过程 3.MQ消费源码分析 3.1 集成SpringBoot 启动过程 3.2 Broker投递消息给客户端过程 3.3 客户端消费过程 4. 总结 第十章-RabbitMQ之S…

【Linux】线程安全

文章目录1.线程互斥1.1.线程间互斥的相关概念1.2互斥量1.3互斥量接口1.4互斥量实现原理2.可重入VS线程安全3.常见锁概念3.1死锁3.2常见死锁情况3.2.1情况一&#xff1a;忘记释放锁3.2.2情况二&#xff1a;线程重复申请锁3.2.3情况三&#xff1a;双线程多锁申请3.3锁的相关概念4…

m在VBLAST协作MIMO系统分部使用LDPC,Turbo,卷积三种信道编译码进行误码率matlab仿真

目录 1.算法描述 2.仿真效果预览 3.MATLAB部分代码预览 4.完整MATLAB程序 1.算法描述 从上面的结构可知&#xff0c;整个卷积编码的结构可由CRC校验&#xff0c;卷积编码&#xff0c;打孔组成&#xff0c;其中打孔的作用就是讲卷积编码后的码率变为所需要的码率进行发送。 …

一种在行末隐藏有效载荷的新供应链攻击技术研判

近期&#xff0c;Phylum检测到数十个新发布的Pypi软件包执行供应链攻击&#xff0c;在这些软件包中&#xff0c;通过隐藏的__import__将窃取程序投递到开发人员的机器上。攻击者利用代码审核者所使用IDE默认的不换行代码显示设置隐藏自身的行为与载荷&#xff0c;本文将就其中出…