当前位置: 首页 > news >正文

Educational Codeforces Round 135 (Rated for Div. 2)C. Digital Logarithm(思维)

文章目录

  • 题目链接
  • 题意
  • 题解
  • 代码

题目链接

C. Digital Logarithm
image

题意

给两个长度位 n n n的数组 a a a b b b,一个操作 f f f
定义操作 f f f为, a [ i ] = f ( a [ i ] ) = a [ i ] a[i]=f(a[i])=a[i] a[i]=f(a[i])=a[i]的位数
求最少多少次操作可以使 a 、 b a、b ab两个数组变得完全相同

题解

性质:
对于任何数,经过两次操作我们一定可以让其变为 1 1 1,所以答案小于等于 2 n 2n 2n

然后我们考虑如何求最少的操作次数,很自然的去考虑贪心,对于相同的数我们不去操作,只取操作不同的数,这些不同的数一定需要进行一次操作,然后操作完一次之后所有的数都被限制到 [ 1 , 9 ] [1,9] [1,9]之内,我们只需要统计 [ 2 , 9 ] [2,9] [2,9]之内的数还需要操作几次即可。

代码

#include <bits/stdc++.h> 
#define int long long
#define rep(i,a,b) for(int i = (a); i <= (b); ++i)
#define fep(i,a,b) for(int i = (a); i >= (b); --i)
#define pii pair<int, int>
#define pll pair<long long, long long>
#define ll long long
#define db double
#define endl '\n'
#define x first
#define y second
#define pb push_backusing namespace std;
const int N=1e5+10;void solve()
{string s;cin>>s;if(s.find('0')!=s.npos){cout<<"YES"<<endl;cout<<0<<endl;return;}rep(i,0,s.size()-1){rep(j,i+1,s.size()-1){rep(k,j+1,s.size()-1){int a=s[i]-'0',b=s[j]-'0',c=s[k]-'0';if((a*100+b*10+c)%8==0){cout<<"YES"<<endl;cout<<s[i]<<s[j]<<s[k]<<endl;return;}}int a=s[i]-'0',b=s[j]-'0';if((a*10+b)%8==0){cout<<"YES"<<endl;cout<<s[i]<<s[j]<<endl;return;}}int c=s[i]-'0';if(c%8==0){cout<<"YES"<<endl;cout<<s[i]<<endl;return;}}cout<<"NO"<<endl;
}signed main(){ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
//   	freopen("1.in", "r", stdin);int _;
//	cin>>_;
//	while(_--)solve();return 0;
}

相关文章:

  • 书生浦语-模型微调
  • 用HTML和CSS打造跨年烟花秀视觉盛宴
  • 新的风口:继ChatGPT热潮后,OpenAI又推出视频生成新浪潮
  • 【AIGC】Stable Diffusion介绍
  • nginx upstream server主动健康监测模块添加https检测功能
  • 拿捏c语言指针(上)
  • 【微服安全】API密钥和令牌与微服务安全的关系
  • Windows 环境下 Redis 的安装和基本使用
  • Arduino ESP8266/ESP32 TCP/UDP通讯例程
  • 嵌入式——Flash(W25Q64)
  • 【Go语言】Go项目工程管理
  • 解线性方程组(一)——克拉默法则求解(C++)
  • wayland(xdg_wm_base) + egl + opengles 使用FBO渲染到纹理实例(六)
  • Java-贪吃蛇游戏
  • AI专题:5G-A扬帆风正劲,踏AI增长新浪潮
  • (三)从jvm层面了解线程的启动和停止
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • 【刷算法】求1+2+3+...+n
  • AHK 中 = 和 == 等比较运算符的用法
  • javascript从右向左截取指定位数字符的3种方法
  • JavaScript对象详解
  • JavaScript函数式编程(一)
  • React组件设计模式(一)
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • Vue--数据传输
  • 多线程事务回滚
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 使用parted解决大于2T的磁盘分区
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • 用mpvue开发微信小程序
  • 再次简单明了总结flex布局,一看就懂...
  • Nginx实现动静分离
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • 如何在招聘中考核.NET架构师
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • #QT(串口助手-界面)
  • #数学建模# 线性规划问题的Matlab求解
  • $refs 、$nextTic、动态组件、name的使用
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (多级缓存)多级缓存
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (四)Controller接口控制器详解(三)
  • (五)网络优化与超参数选择--九五小庞
  • (转)大道至简,职场上做人做事做管理
  • (转载)(官方)UE4--图像编程----着色器开发
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .NET Framework 4.6.2改进了WPF和安全性
  • [Android] Android ActivityManager
  • [Android]常见的数据传递方式
  • [BZOJ] 2427: [HAOI2010]软件安装