B - Little Tiger vs. Deep Monkey

news2024/11/22 21:12:33

思路:

(1)条件:n道单选题,分值不一定相同,选对或者错,A,B分别做题,得分多者胜;

(2)问题:A至少做对几道题才能保证获胜概率达到50%;

(3)分析:

  1. 假设A得分为x,则获胜概率为B的\sum P(i),其中i取1~x-1;即B得分在1~x-1之间的概率和;
  2. 那么问题就转换为x是多少时,1~x-1的得分概率和达到0.5,显然可以先预处理出得各个分的概率,一个一个加,如果超过0.5,输出此时得分即可。
  3. 预处理:

               思路1:dfs()爆搜各种组合算概率;N= 40超时;

                思路2:概率dp,令dp[i][j]描述做i道题,得分为j的概率,则有dp[i + 1][j] += dp[i][j]*0.5;

                             dp[i + 1][j + a[i + 1] ]  += dp[i][j]*0.5;成功处理;

     

代码:

#include  <stdio.h>
#include <iostream>
#include<algorithm>
#include      <map>
#include      <set>
#include   <vector>
#include    <queue>
#include    <stack>
#include <stdlib.h>
#include  <cstring>
#include <string.h>
#include   <string>
#include   <math.h>
using namespace std;
typedef long long ll;
#define MAXN 105
#define INF 0x3f3f3f3f//将近ll类型最大数的一半,而且乘2不会爆ll
const ll mod = 1000000007;
 
int a[MAXN];
double dp[50][50000];
int main()
{
	int t;
	cin >> t;
	while (t--) {
		memset(a, 0, sizeof(a));
		memset(dp, 0, sizeof(dp));
		int n, sum=0;
		dp[0][0] = 1;
		double p;
		scanf("%d %lf", &n, &p);
		for (int i = 0; i < n; ++i) {
			scanf("%d", &a[i]);
			sum += a[i];            //总分
		}
		for(int i=0; i<n; ++i)
			for (int k = 0; k <= sum; ++k) {
				dp[i + 1][k + a[i]] += dp[i][k] * 0.5;
				dp[i + 1][k] += dp[i][k] * 0.5;
			}
		double ans = 0;
		for (int i = 0; i <= sum; ++i) {
			ans += dp[n][i];            //求概率和
			if (ans >= p) {
				cout << i << '\n';
				break;
			}
		}
	}
	return 0;
}

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

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

相关文章

web前端js基础------制作滚动图片

1&#xff0c;要求 通过定时器使其出现滚动的效果 可以通过按键控制图片滚动的方向&#xff08;设置两个按钮绑定点击事件&#xff09; 当鼠标悬停时图片停止&#xff0c;鼠标离开时图片继续向前滚动&#xff08;可以设置鼠标的悬停和离开事件&#xff09; 参考如下 conten…

【后端速成 Vue】初识指令(下)

前言&#xff1a; 上一篇初识指令(上)文章中&#xff0c;一共讲解了 v-html&#xff0c;v-show&#xff0c;v-if&#xff0c;v-else&#xff0c;v-else-if&#xff0c;v-on&#xff0c;v-bind 这些指令&#xff0c;当然&#xff0c;还剩不少的指令没有讲解&#xff0c;本问将会…

DBeaver Ultimate forMac/Win中文版:掌控数据宇宙的强大工具

在当今的数字化世界中&#xff0c;数据库管理软件在企业和个人的数据处理中扮演着至关重要的角色。在这篇文章中&#xff0c;我们将介绍一款备受赞誉的数据库管理软件——DBeaver Ultimate&#xff0c;它被广泛应用于各种行业和场景&#xff0c;帮助用户高效地管理和利用他们的…

“Redis与Spring整合及缓存优化“

文章目录 引言1. Spring整合Redis1.1. 为什么选择Redis作为缓存解决方案&#xff1f;Redis的特点和优势Redis与传统关系数据库的对比 1.2. Spring与Redis整合的基本步骤 2. Redis注解式缓存2.1. Spring提供的缓存注解介绍2.2. 使用注解实现方法级别的缓存 3. Redis的击穿、穿透…

系统有同类资源m个,供n个进程共享,若每个进程对资源的最大需求量为k,试问:当m,n,k的值分别为下列情况时(见下表),是否会发生死锁?

一.系统有同类资源m个&#xff0c;供n个进程共享&#xff0c;若每个进程对资源的最大需求量为k&#xff0c;试问&#xff1a;当m,n,k的值分别为下列情况时&#xff08;见下表&#xff09;&#xff0c;是否会发生死锁&#xff1f; &#xff08;1&#xff09;m6;n3;k3 &#xf…

shopee买家通系统一款全自动化操作的软件

Shopee买家通系统可以批量注册虾皮买家号、自动加购加心愿单、根据关键词及产品编号搜索下单。 想要注册虾皮买家号&#xff0c;准备好相应国家的手机号及ip即可&#xff0c;准备好之后按照软件所需格式添加后即可运行自动化注册&#xff0c;注册时可以自动输入手机号、自动接…

linux服务器国内源安装nvm,又快又方便

国内安装nvm的话&#xff0c;如果你的服务器不能访问github&#xff0c;那么使用gitee快速安装还是很方便的&#xff1a; # 能方位github的话&#xff0c;使用这条命令 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash# 不能访问github的话…

延长千倍!美国阿贡实验室量子比特相干时间新纪录

两个具有长相干时间并强耦合的量子比特&#xff08;图片来源&#xff1a;网络&#xff09; 在书面语、口语以及信息处理领域&#xff0c;连贯性均是实现有效沟通的关键要素&#xff0c;这同样适用于量子比特。 美国能源部&#xff08;DOE&#xff09;下属的阿贡国家实验室所领…

计算机毕业设计java+springboot+vue的在线考试系统

项目介绍 具体在系统设计上&#xff0c;采用了B/S的结构&#xff0c;同时&#xff0c;也使用Java技术在动态页面上进行了设计&#xff0c;后台上采用Mysql数据库&#xff0c;是一个非常优秀的青少年编程在线考试系统。 开发环境 开发语言&#xff1a;Java 后端框架&#xff…

SpirngBoot做H5支付 JSSDK支付 为uniapp小程序提供接口 详细内容包含支付、退款以及支付退款回调 纯微信支付V2支付 最后附上完整代码

可以先看一下下面的IndexController 先理解一下需要用到哪些参数然后再从头开始准备就不会一头蒙了 完整代码&#xff1a; 链接: https://pan.quark.cn/s/518e02b22e4f 提取码&#xff1a;J6f2 可能遇到的坑&#xff1a; 微信支付这个的文档可以说跟没有是一样的 只写入参回…

【HMS Core】推送热门合集4

【问题描述1】 如果云端通知的category&#xff0c;本地通知不支持&#xff0c;如何处理&#xff1f; 【解决方案】 如果云端通知的category&#xff0c;本地通知不支持&#xff0c;或者云端通知的category的取值在分类标准中是不涉及&#xff0c;那么说明该类型不支持本地通…

工业物联网网关解决方案openwrt二次开发无线路由WiFi模块选型

在现今高科技快速发展的时代&#xff0c;无线通信技术已经成为人们日常生活中不可或缺的一部分。而在众多的无线技术产品中&#xff0c;基于IEEE 802.11系列协议的WiFi技术无疑是其中的主流。随着WiFi技术的广泛应用&#xff0c;市面上涌现出了各种各样的主控平台和WiFi模块。今…

魔众文库系统 v5.5.0 批量快捷上传,文档图标优化,档转换逻辑优化

魔众文库系统基于文档系统知识&#xff0c;建立平台与领域&#xff0c;打造流量、用户、付费和变现的闭环&#xff0c;帮助您更好的搭建文库系统。 魔众文库系统发布v5.5.0版本&#xff0c;新功能和Bug修复累计14项&#xff0c;批量快捷上传&#xff0c;文档图标优化&#xff…

JQ完成模拟QQ好友分组案例(介绍JQ实现原理)

当我们写这个案例之前&#xff0c;需要引入好JQ文件&#xff0c;以防没有效果 这个案例的需求请看以下效果图 不能重复点击&#xff0c;只有删除掉之后才可以继续点击 效果图&#xff1a; 代码介绍&#xff1a; <!DOCTYPE html> <html lang"en"><h…

【每日一题】2586. 统计范围内的元音字符串数-2023.11.7

题目&#xff1a; 2586. 统计范围内的元音字符串数 给你一个下标从 0 开始的字符串数组 words 和两个整数&#xff1a;left 和 right 。 如果字符串以元音字母开头并以元音字母结尾&#xff0c;那么该字符串就是一个 元音字符串 &#xff0c;其中元音字母是 a、e、i、o、u 。…

Python采集数据代码示例

基本的爬虫程序的示例&#xff1a; typescript import * as request from request; // 信息 const proxyHost ; const proxyPort ; // 网站的 URL const url ; // 使用 request 库发起请求 request({ url, method: GET, proxy: { host: proxyHost…

vue递归获取树形菜单

文章目录 前言什么是递归&#xff1f; 一、数据集二、 递归函数三、打印树形结构展示 前言 什么是递归&#xff1f; 程序调用自身的编程技巧称为递归&#xff08; recursion&#xff09;。 递归 粗略的理解为 循环 &#xff0c;只不过 递归 是调用自身。 在实际使用中&#xf…

libwebsockets入门

WebSocket是一种在单个TCP连接上进行全双工通讯的协议&#xff0c;用于在Web客户端和服务器之间建立持久连接&#xff0c;进行实时通信。它是HTML5开始提供的一种通讯方式&#xff0c;通过使用WebSocket连接&#xff0c;web应用程序可以执行实时的交互&#xff0c;而不是以前的…

将json数据转换为Python字典

import requests from bs4 import BeautifulSoup import json# 定义代理信息 proxy_host www.duoip.cn proxy_port 8000# 定义要爬取的url url http://localhost:9200/_search# 创建一个requests.Session对象&#xff0c;并设置代理 session requests.Session() session.pr…

Python3,3行代码,给照片填充背景色,从此跟照相馆说拜拜。

3行代码照片上背景色 1、引言2、代码实战2.1 思路2.2 安装2.3 实例 3、总结 1、引言 小屌丝&#xff1a; 鱼哥&#xff0c;帮个忙。 小鱼&#xff1a; 在开车。 小屌丝&#xff1a;… 那你先忙&#xff0c;不打扰你了。 小鱼&#xff1a;…我可以说话的&#xff0c;没事。 小屌…