当前位置:网站首页>NIO‘s Sword(牛客多校赛)
NIO‘s Sword(牛客多校赛)
2022-08-02 02:10:00 【beyond+myself】
题目链接
题意:
1:给一个数n
2:要求按顺序消灭1~n的敌人
3:给一个数据A,初始值为0
4:每次可以对A进行一个操作,使得A=10*A+x,(0<=x<=9)
5:当A%n==i%n的时候,才可以消灭第i个敌人
求消灭所有的敌人需要的最小操作数:
题解:当我们正在消灭第i个敌人时,我们是已知A(i-1)%n == i-1的,所以所以上一个数保持原数是肯定不能的,即A(i-1)%n!=i,所以我们必须对其进行一次操作。我们现在可能考虑到前面取不同的值可能对当前%n的余数造成影响,但是其实是不会影响的,我们假设A(i-1)%n=i-1,那么不论A(i-1)是多少,(10 * A(i-1) + x ) % n = (10 * A(i-1) %n + x%n ) % n=((10 % n * A(i-1) %n ) % n + x %n )%n,因为这里不一定是1所以可能是10^k所以我们进一步化简原式=((10 ^ k % n * A(i-1) %n ) % n + x %n )%n=( (i-1) * (10 ^ k % n) + x ) % n= i ,这样我们会发现,无论A(i-1)取多少,都不会对当前的数造成影响。所以,只要我们找到最小的满足的就可以。
现在我们的问题变成了找到了对i来说最小的满足情况的值,这里因为x是0~9的所以我们会发现,(10*x1+x2) * 10 + x3 ……,这样循环下去,我们可以表示所有 0 ~ (10^k)-1的所有的值,这样因为n是1e6的,所以最多6位就可以将所有的余数表示出来,这样的话,我们直接枚举即可
下面是AC代码:
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
#define int long long
int pw[20];
int n;
int A;
int check(int len,int i)
{
int res=A*(pw[len]%n);
res%=n;
int need=(i-res+n)%n;//这里我们对应公式就是我们需要的xi
if(need<pw[len]) return 1;//如果比当前能够形成的数小,就可以ok
else return 0;
}
signed main()
{
cin>>n;
pw[0]=1;
for(int i=1;i<=15;i++) pw[i]=pw[i-1]*10;
int ans=0;
for(int i=1;i<=n;i++)
{
for(int j=0;j<=6;j++)
{
if(check(j,i))
{
A=i;
ans+=j;
break;
}
}
}
cout<<ans<<endl;
return 0;
}
边栏推荐
- 拼多多借力消博会推动国内农产品品牌升级 看齐国际精品农货
- 检查IP或端口是否被封
- LeetCode Review Diary: 34. Find the first and last position of an element in a sorted array
- Constructor instance method inheritance of typescript38-class (implement)
- 垃圾回收器CMS和G1
- Rasa 3.x 学习系列- Rasa - Issues 4873 dispatcher.utter_message 学习笔记
- 成都openGauss用户组招募啦!
- AOF rewrite
- ¶Backtop 回到顶部 不生效
- MySQL8 download, start, configure, verify
猜你喜欢

Day115. Shangyitong: Background user management: user lock and unlock, details, authentication list approval

Day115.尚医通:后台用户管理:用户锁定解锁、详情、认证列表审批

typescript36-class的构造函数实例方法

After graduating from three books, I was rejected by Tencent 14 times, and finally successfully joined Alibaba

The ultra-large-scale industrial practical semantic segmentation dataset PSSL and pre-training model are open source!

2022-07-30 mysql8执行慢SQL-Q17分析

Redis 订阅与 Redis Stream

Handwritten Blog Platform ~ Day Two

Fly propeller power space future PIE - Engine Engine build earth science

Fundamentals of Cryptography: X.690 and Corresponding BER CER DER Encodings
随机推荐
2023年起,这些地区软考成绩低于45分也能拿证
优炫数据库导库导错了能恢复吗?
typescript36-class的构造函数实例方法
Fundamentals of Cryptography: X.690 and Corresponding BER CER DER Encodings
swift项目,sqlcipher3 -&gt; 4,无法打开旧版数据库有办法解决吗
3.Bean的作用域与生命周期
Win Go开发包安装配置、GoLand配置
个人博客系统项目测试
"NetEase Internship" Weekly Diary (1)
LeetCode 213. Robbery II (2022.08.01)
2022 Henan Youth Training League Game (3)
Win Go development kit installation configuration, GoLand configuration
Constructor instance method inheritance of typescript37-class (extends)
Fly propeller power space future PIE - Engine Engine build earth science
[ORB_SLAM2] SetPose, UpdatePoseMatrices
Project Background Technology Express
YGG Guild Development Plan Season 1 Summary
Named parameter implementation of JDBC PreparedStatement
软件测试功能测试全套常见面试题【开放性思维题】面试总结4-3
"NetEase Internship" Weekly Diary (2)