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

题目链接:

 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.hqwc.cn/news/586234.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mybatis-自定义映射ResultMap用法

文章目录 一、处理属性名与字段名不同问题1.通过设置查询别名&#xff0c;使类属性名与字段名&#xff08;数据库内的名&#xff09;一致2.设置全局配置&#xff0c;使下划线自动映射为驼峰3.ResultMap 二、处理多对一映射问题前提背景1.使用级联来实现2.association 标签实现3…

探索数据库-------MYSQL故障排除与优化

目录 mysql逻辑架构图 一、MySQL 数据库故障 1.1 MySQL 单实例故障排查 1.1.1故障现象 1 1.1.2故障现象 2 1.1.3故障现象 3 1.1.4故障现象 4 1.1.5故障现象 5 1.1.6故障现象 6 1.1.7故障现象 7 1.1.8故障现象 8 1.2MySQL 主从故障排查 1.2.1故障现象 1 1.2.2故障…

SSM框架学习——Spring事务管理

Spring事务管理 概念 事务&#xff08;Transaction&#xff09;是访问并可能操作各种数据项的一个数据库操作序列&#xff0c;这些操作要么全部执行&#xff0c;要么都不执行&#xff0c;是一个不可分割的工作单元。 事务有如下特性&#xff1a; 原子性隔离性一致性持久性 …

789. 数的范围 (二分学习)

1.确定一个区间&#xff0c;使得目标值一定在区间中 2.找一个性质满足&#xff1a; &#xff08;1&#xff09;性质具有二段性 &#xff08;2&#xff09;答案是二段性的分界点 3.整数二分&#xff08;处理红色右端点和绿色左端点&#xff09; //代码1&#xff1a;右端点 int…

搜索与图论——Prim算法求最小生成树

在最小生成树问题里&#xff0c;正边和负边都没问题 朴素版prim算法 时间复杂度O(n^2) 生成树&#xff1a;每一次选中的t点&#xff0c;它和集合的距离对应的那条边&#xff0c;就是生成树的一条边 算法流程和dijkstra算法非常相似 #include<iostream> #include<cs…

算法——矩阵,被围绕的区域

. - 力扣&#xff08;LeetCode&#xff09; 最开始也是考虑使用dfs&#xff0c;对于矩阵中的每个点&#xff0c;如果能到达边界的O&#xff0c;则跳过继续dfs。否则如果上下左右四个方向都无法到达边界的O&#xff0c;则说明当前的无法到达&#xff0c;在一个set中记录他的行数…

LLMs 可能在 2 年内彻底改变金融行业

在艾伦图灵研究所&#xff08;The Alan Turing Institute&#xff09;最新的一项研究中&#xff0c;我们看到了大型语言模型&#xff08;Large Language Models&#xff0c;LLMs&#xff09;的一种可能性。它有望通过检测欺诈行为、生成财务洞察以及自动化客户服务&#xff0c;…

十五.PyEcharts常用视图(1)

目录 十二.PyEcharts常用视图(1) 1-PyEcharts-Faker 2-常用视图 2.1 柱状图 普通柱状图 条形柱状图 堆叠柱状图 象形柱状图 颜色自定义 2.2 折线图 基本折线图 折线图常用属性 面积图 堆叠面积图 2.3 散点图 2.4 双轴图 2.5 饼图 基本饼图 空心饼图 玫瑰图…

机器学习实战18-机器学习中XGBClassifier分类器模型的应用实战,以及XGBClassifier分类器的调优策略

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下机器学习实战18-机器学习中XGBClassifier分类器模型的应用实战&#xff0c;以及XGBClassifier分类器的调优策略。XGBClassifier是基于eXtreme Gradient Boosting (XGBoost)算法的分类器模型&#xff0c;在机器学习领…

热榜!基于jsp+mysql的JSP在线水果销售商城系统设计实现【建议收藏】

热榜&#xff01;基于jspmysql的JSP在线水果销售商城系统设计实现【建议收藏】 博主介绍&#xff1a;多年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《500套》 欢迎…

人工智能+的广泛应用,已渗透到生活的方方面面

引言 随着科技的不断进步和人工智能技术的快速发展&#xff0c;我们正处于一个人工智能时代。人工智能不仅仅是一种技术&#xff0c;更是一种革命性的变革力量&#xff0c;它正在以前所未有的方式改变着我们的生活和工作方式。 人工智能&#xff08;AI&#xff09;指的是人工…

Go 源码之互斥锁 Mutex

文章目录 一、总结二、源码&#xff08;一&#xff09;Mutex&#xff08;二&#xff09; Lock&#xff08;三&#xff09;Unlock 三、常见问题有劳各位看官 点赞、关注➕收藏 &#xff0c;你们的支持是我最大的动力&#xff01;&#xff01;&#xff01;接下来会不断更新 golan…