A 清楚姐姐学信息论【2023牛客寒假算法基础集训营4】
A 清楚姐姐学信息论
题意
给出
思路
令
令
当时
当时
,极大值
有三种情况
, ->单调递减->min(a,b) , ->单调递增->max(a,b) ,
由于题目范围
只需讨论即可
即当->
当->
代码
点击查看代码
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<vector>
#include<queue>
using namespace std;
#define X first
#define Y second
typedef long long LL;
const char nl = '\n';
const int N = 1e6+10;
int n,m;
void solve(){
int a,b;
cin >> a >> b;
if(a > 2 && b > 2)cout << min(a,b);
else if(a == 2 && b == 2)cout << 2;
else{
if(max(a,b) < 4)cout << max(a,b);
else cout << min(a,b);
}
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
solve();
}
补充
问题的背景是进制效率
x进制和y进制分别使用张号码牌时x进制能够表示的数字数目大于y进制,则称x进制的信息表示效率大于y进制
简单来说,在两种进制每个位数都被填满的情况下,相同数目个数的数字能表式的数字更大则效率越高
透过题目我们可以得到
- 对于整数进制而言,进制效率:
- 理论上e进制效率最高
点击查看代码
if(min(a,b) == 2 && max(a,b)==3)cout << 3; //只有一种情况是例外
else cout << min(a,b); //否则都是进制数小的效率越高
标签:
2023牛客寒假算法基础集训营
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】