第14届蓝桥杯C++B组省赛:串的熵|枚举、浮点数相等比较、log函数

news2024/11/25 10:58:14

题目链接:

 2.01串的熵 - 蓝桥云课 (lanqiao.cn)

注意点:

1.C++的log函数:有2,e(log()以e为底),10为底的,没有现成的用换底公式:

\log_{m}n=\log_{e}n /\log_{e}m

C++ 标准库 <cmath> 数学函数大全 - 菜鸟教程 (cainiaojc.com)

 2.浮点数相等比较,用差值绝对值小于某个很小的值。以用fabs 求浮点数绝对值 。abs返回整形。

代码:

 

#include<bits/stdc++.h>
#define int long long
#define endl '\n'
using namespace std;
double res= 11625907.5798;
int s=23333333ll;
bool calcu(int a,int b){
	double ans=0;
	double rate0=a*1.0/s,rate1=b*1.0/s;
	//log的换底公式,换成自定义底数,log函数以e为底 
	//c++有现成的以2为底的函数 log2() 
//	ans+=-(rate0*a*log(rate0)/log(2));
//	ans+=-(rate1*b*log(rate1)/log(2));
	 
	 ans+=-(rate0*a*log2(rate0));
	 ans+=-(rate1*b*log2(rate1));
	 
	 
	 //注意浮点数的比较,题目保留的四位,那么差值误差在三位就可以了 
	 //可以用fabs 求浮点数绝对值 
//	if(ans-res<1e-3&&ans-res>0) return true;
//    if(res-ans<1e-3&ans-res<0) return true;
    //res= 11625907.5798,那么res>=11625907.57975 ,差值肯定小于0.0001 
     if(fabs(ans-res)<1e-4) return true;
    
	return false; 
	
}

//直接暴力枚举所有0小于1的情况,注意算出结果之后再带进去算一下验证。
//注意换底公式,注意读题仔细一点看一下它的公式是怎么样的,每一项带入的是比例,
//0和1的式子是分别相同的,所以可以直接个数乘式子即可 

signed main(){
	ios::sync_with_stdio(0);
	cin.tie(0);cout.tie(0);
	
//验证 
//	calcu(2,1);
//calcu(11027421,s-11027421);
	
	int fre0=1,fre1=s-1;
	for(;fre0<fre1;fre0++,fre1--){
		if(calcu(fre0,fre1))
         break;		
	}
	
	if(fre0<fre1)
	cout<<fre0;
	
//	cout<<log2(2);   
//	cout<<11027421ll;
	return 0;
}

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

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

相关文章

SpringMvc项目创建过程

1、新建空项目 名字和路径自定义&#xff0c;Maven项目&#xff0c;不建议勾选Add sample code 2、创建web模块 选中当前项目 修改路径&#xff0c;注意是在main包下 选择当前项目 3、编写pom.xml文件 在文件中加入以下内容&#xff0c;packaging标签表明了maven打包类型。 &…

【网站项目】贫困生管理系统

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

文献速递:机器学习 + 分子动力学 + 第一性原理计算 + 热力学性质(熔化温度 热导率 热膨胀系数)

分享一篇关于机器学习 分子动力学 第一性原理 热力学性质&#xff08;熔化温度 & 热导率 & 热膨胀系数&#xff09;的文章。 感谢论文的原作者&#xff01; 关键词&#xff1a; 1. Al−Li alloy 2. Neural network potential 3. Molecular dynamics 4. Thermal …

C语言 键盘输入与屏幕输出——数据的格式化屏幕输出

目录 顺序结构 C语言如何实现数据的输入和输出&#xff1f; 数据的格式化屏幕输出 printf&#xff08;&#xff09;格式字符 printf&#xff08;&#xff09;的格式修饰符 顺序结构 一般而言&#xff0c;顺序结构程序涉及如下三个基本操作&#xff1a; *输入数据 *处理数…

Linux_地址空间_进程控制_进程创建_进程终止_进程等待_进程替换_简易shell_4

文章目录 一、程序地址空间1.地址空间验证2.验证堆和栈的增长方向3.感知地址空间4.什么是地址空间 二、进程控制1.进程创建2.进程终止1、**关于终止的正确认识&#xff1a;**2、**关于终止常见做法**3、**关于终止&#xff0c;内核做了什么&#xff1f;** 3.进程等待1、为什么要…

【DETR系列目标检测算法代码精讲】01 DETR算法02 DETR算法数据预处理+图像增强+dataset代码精讲

今天这一节主要对DETR算法的数据预处理和数据增强部分的代码做逐行的精讲。 这一部分的代码主要的功能就是将COCO数据集中的原始图像和原始标注处理成能够输入到DETR网络中的图像和标注。 我首先采取任务流程逐行讲解的办法&#xff0c;然后再debug演示一下 准备 这个读取数…

<Linux> Linux环境开发工具

一、Linux软件包管理器 - yum 什么是软件包&#xff1a; 在Linux 下安装软件 , 一个通常的办法是下载到程序的源代码 , 并进行编译 , 得到可执行程序 . 但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好 , 做成软件包 ( 可以理解成 windows 上的安装程序) 放在一…

Transformer的前世今生 day12(Transformer的三个问题)

Transformer的Decoder为什么要用掩码&#xff08;Masked Self-Attention&#xff09; 机器翻译中&#xff1a;源语句&#xff08;我爱中国&#xff09;&#xff0c;目标语句&#xff08;I love China&#xff09; 为了解决训练阶段和测试阶段不匹配的问题&#xff1a; 在训练阶…

多传感器标定——概述

文章目录 一、前言二、内容记录 一、前言 是对自动驾驶之心多传感器标定课程内容的记录&#xff0c;也是对一些被老师简单略过问题的自主学习。第一章是概述&#xff0c;将内容以问题的形式记录&#xff0c;并结合课上内容以及自己的项目经验给出回答 二、内容记录 车上会安装…

如何使用route-detect在Web应用程序路由中扫描身份认证和授权漏洞

关于route-detect route-detect是一款功能强大的Web应用程序路由安全扫描工具&#xff0c;该工具可以帮助广大研究人员在Web应用程序路由中轻松识别和检测身份认证漏洞和授权漏洞。 Web应用程序HTTP路由中的身份认证&#xff08;authn&#xff09;和授权&#xff08;authz&…

实验04_OSPF&RIP选路实验

实验拓扑 IP地址规划 拓扑中的 IP 地址段采用&#xff1a;172.16.AB.X/24。其中 AB 为两台路由器编号组合&#xff0c;例如&#xff1a;R3-R6 之间的 AB 为 36&#xff0c;X 为路由器编号&#xff0c;例如R3 的 X3所有路由器都有一个 loopback 0 接口&#xff0c;地址格式为&…

代码随想录算法训练营第二十七天| LeetCode 39. 组合总和、40.组合总和II、131.分割回文串

一、39. 组合总和 题目链接/文章讲解/视频讲解&#xff1a; https://programmercarl.com/0039.%E7%BB%84%E5%90%88%E6%80%BB%E5%92%8C.html 状态&#xff1a;已解决 1.思路 这道题跟216. 组合总和 III - 力扣&#xff08;LeetCode&#xff09;题思路差不多&#xff0c;区别在于…

为什么感觉张宇 25 版没 24版讲得好?

很多同学反映&#xff1a;25版&#xff0c;讲得太散了, 知识点太多&#xff0c;脱离了基础班。 三个原因&#xff1a; 1. 25版改动很大&#xff0c;课程没有经过打磨&#xff1b; 2. 因为24考试难度增加&#xff0c;所以改动的总体思路是“拓宽基础”&#xff1a;即把部分强…

redis中bitmap的使用及场景,如何操作

一、概念 在Redis数据库中&#xff0c;Bitmap&#xff08;位图&#xff09;是一种特殊的数据结构&#xff0c;它不是一个独立的数据类型&#xff0c;而是基于String类型实现的。Bitmap主要用于存储大量二进制位&#xff08;0或1&#xff09;的数据&#xff0c;这些位可以代表不…

支付接口和数据库断言及封装

支付下单接口 请求方法&#xff1a; post 请求地址&#xff1a;http://shop.lemonban.com:8107/p/order/pay 请求参数&#xff1a;{“payType”:3,“orderNumbers”:“1733308182027309056”} 请求头部&#xff1a; {“Content-Type”:“application/json”,“Authorization…

HDMI 2.1b 规范解读

HDMI 规范 HDMI 2.1b 是最新版 HDMI 规范&#xff0c;支持一系列更高的视频分辨率和刷新频率&#xff0c;包括 8K60 和 4K120 以及高达 10K 的分辨率。同时支持动态 HDR 格式&#xff0c;带宽能力增加到 48Gbps HDMI。 新的超高速 HDMI 线缆支持 48Gbps 带宽。该线缆可确保提供…

在单通道彩图上踩的坑

使用labelme后&#xff0c;生成如图所示文件夹&#xff0c;其中JPEGImages是原图&#xff0c;SegmentationClassPNG是标签。 此时SegmentationClassPNG中的标签&#xff08;masks&#xff09;是只包含0和1的二进制文件&#xff0c;0表示背景,1表示要识别的物体类型。&#xff…

什么是ISP住宅IP?相比于普通IP它的优势是什么?

什么是ISP住宅IP&#xff1f; ISP住宅IP是指由互联网服务提供商&#xff08;ISP&#xff09;分配给住宅用户的IP地址。它是用户在家庭网络环境中连接互联网的标识符&#xff0c;通常用于上网浏览、数据传输等活动。ISP住宅IP可以是动态分配的&#xff0c;即每次连接时都可能会…

RabbitMQ高级-应用问题、集群搭建

1.消息补偿 消息可靠性保障&#xff1a;——消息补偿机制 需求&#xff1a;100%确保消息发送成功 2.幂等性保障 幂等性指一次和多次请求某一资源&#xff0c;对于资源本身应该具有同样的结果。也就是说&#xff0c;其任意多次执行对资源本身所产生的影响均与第一次执行的影响…

2024/3/31周报

文章目录 摘要Abstract文献阅读题目创新点实验数据研究区域数据和材料 方法XGBoost algorithmLong Short‑Term Memory AlgorithmEvaluation of the Model Accuracy 实验结果 深度学习XGBoost代码实现AdaBoostBoostingAdaBoost算法AdaBoost代码实现 总结 摘要 本周阅读了一篇基…