题目链接

C. Digital Logarithm

题意



给两个长度位\(n\)的数组\(a\)、\(b\),一个操作\(f\)

定义操作\(f\)为,\(a[i]=f(a[i])=a[i]\)的位数

求最少多少次操作可以使\(a、b\)两个数组变得完全相同

题解

性质:

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

然后我们考虑如何求最少的操作次数,很自然的去考虑贪心,对于相同的数我们不去操作,只取操作不同的数,这些不同的数一定需要进行一次操作,然后操作完一次之后所有的数都被限制到\([1,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_back using 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;2024-02-11 16:01:40 星期日
}
}
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;
}

Educational Codeforces Round 135 (Rated for Div. 2)C. Digital Logarithm(思维)的更多相关文章

  1. Educational Codeforces Round 96 (Rated for Div. 2) E. String Reversal (思维,逆序对)

    题意:给你一个字符串,每次可以调换现字符串的相邻两个字符,问最少操作多少次使得这个字符串等于其反转过来的字符串. 题解:先考虑字符串中没有相同字符的情况,那么我们每次将目前字符串的最后一个字符一直调换 ...

  2. Educational Codeforces Round 69 (Rated for Div. 2) C. Array Splitting (思维)

    题意:给你一个长度为\(n\)的升序序列,将这个序列分成\(k\)段,每一段的值为最大值和最小值的差,求\(k\)段值的最小和. 题解:其实每一段的最大值和最小值的差,其实就是这段元素的差分和,因为是 ...

  3. Educational Codeforces Round 96 (Rated for Div. 2) D. String Deletion (思维)

    题意:有一个\(01\)串,每次操作要先删除一个位置上的元素,然后删除相同前缀和,直到字符串被删完,问最多能操作多少次. 题解: 对于一个长度大于\(1\)的相同前缀,我们最多只能对它操作一次,然后就 ...

  4. Educational Codeforces Round 89 (Rated for Div. 2) C. Palindromic Paths (思维)

    题意:有一个\(n\)x\(m\)的矩阵,从\((1,1)\)出发走到\((n,m)\),问最少修改多少个数,使得所有路径上的数对应相等(e.g:\((1,2)\)和\((n-1,m)\)或\((2, ...

  5. Educational Codeforces Round 60 (Rated for Div. 2) - C. Magic Ship

    Problem   Educational Codeforces Round 60 (Rated for Div. 2) - C. Magic Ship Time Limit: 2000 mSec P ...

  6. Educational Codeforces Round 60 (Rated for Div. 2) - D. Magic Gems(动态规划+矩阵快速幂)

    Problem   Educational Codeforces Round 60 (Rated for Div. 2) - D. Magic Gems Time Limit: 3000 mSec P ...

  7. Educational Codeforces Round 43 (Rated for Div. 2)

    Educational Codeforces Round 43 (Rated for Div. 2) https://codeforces.com/contest/976 A #include< ...

  8. Educational Codeforces Round 35 (Rated for Div. 2)

    Educational Codeforces Round 35 (Rated for Div. 2) https://codeforces.com/contest/911 A 模拟 #include& ...

  9. Codeforces Educational Codeforces Round 44 (Rated for Div. 2) F. Isomorphic Strings

    Codeforces Educational Codeforces Round 44 (Rated for Div. 2) F. Isomorphic Strings 题目连接: http://cod ...

  10. Codeforces Educational Codeforces Round 44 (Rated for Div. 2) E. Pencils and Boxes

    Codeforces Educational Codeforces Round 44 (Rated for Div. 2) E. Pencils and Boxes 题目连接: http://code ...

随机推荐

  1. Unity SetActive Event

    网上查了一下Unity的SetActive变化事件没有找到,我想到用另一种思路来实现这个事件通知,它可用来调试是何处把某个gameobject隐藏掉了 Unity提供了这两个函数,OnEnable,O ...

  2. 强化学习从基础到进阶-案例与实践[4.1]:深度Q网络-DQN项目实战CartPole-v0

    强化学习从基础到进阶-案例与实践[4.1]:深度Q网络-DQN项目实战CartPole-v0 1.定义算法 相比于Q learning,DQN本质上是为了适应更为复杂的环境,并且经过不断的改良迭代,到 ...

  3. Markdown-CSDN自带帮助语法

    这里写自定义目录标题 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一 ...

  4. 《Java 面经手册》PDF,417页11.5万字,完稿!

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 我膨胀了 ,在看了大部分以面试讲解的 Java 文章后,发现很多内容的讲解都偏向于翻 ...

  5. Star 4.2k,这是我用过最舒服的跨平台Redis桌面客户端

    项目介绍 Tiny RDM 一个现代化轻量级的跨平台Redis桌面客户端,支持Mac.Windows和Linux 软件截图 运行效果 版本展示 配置连接 项目亮点 极致轻量 极小包体,随处安装随处使用 ...

  6. P5047 [Ynoi2019 模拟赛] Yuno loves sqrt technology II 题解

    题目链接:Yuno loves sqrt technology II 很早以前觉得还挺难的一题.本质就是莫队二次离线,可以参考我这篇文章的讲述莫队二次离线 P5501 [LnOI2019] 来者不拒, ...

  7. CF678F Lena and Queries题解

    题目链接:CF 或者 洛谷 可以看到查询和插入就是李超线段树的基本操作,但在原有基础上多了一个删除操作,李超线段树不支持删除操作,但支持可撤销和可持久化,所以我们容易想到外层再套一个线段树分治即可.本 ...

  8. JuiceFS 新手必知 24 问

    JuiceFS 是一个创新性的软件产品,很多初次尝试的小伙伴对产品和用法感到很多疑惑,所以为了帮助大家快速理解并上手 JuiceFS,我们整理了24个关于 JuiceFS 经典的问题答案,相信经过这 ...

  9. 如果在循环中不改变vector的大小,C++编译器是否会将.size()优化为常数?

      在C++中,可以使用以下代码计算vector<int>中所有元素的和: vector<int> v = {1, 3, 7, 9}; sums = 0; for (int i ...

  10. 教你用JavaScript实现背景图像滑动

    案例介绍 欢迎来到我的小院,我是霍大侠,恭喜你今天又要进步一点点了!我们来用JavaScript编程实战案例,做一个背景图像滚动效果.滚动鼠标背景图像缩小,下方滑动出现文字.通过实战我们将学会obj. ...