专栏文章
题解:B4185 [中山市赛 2024] 倍数子串
B4185题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @miq47m8u
- 此快照首次捕获于
- 2025/12/03 22:41 3 个月前
- 此快照最后确认于
- 2025/12/03 22:41 3 个月前
B4185 [中山市赛 2024] 倍数子串
思路:
看样例:04320
先看04:以04或4为结尾的连续子串有
04,4
再看43:以43或3为结尾的连续子串有
实际上什么也没有
接着看32:以32或2为结尾的连续子串有
32,432,0432
最后再看20:以20或0为结尾的连续子串有
0,20,320,4320,04320
别忘了开头的0
别忘了开头的0
别忘了开头的0
重要的事说三遍
大家应该有个思路了
代码
CPP#include <bits/stdc++.h>
using namespace std;
#define int long long
string s;
int n,ans=0;
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>s;
n=s.size();
int s0=s[0]-'0';
if(s0%4==0||s0%5==0) ans++;
for(int i=0;i<=n-2;i++)
{
int t=s[i]-'0',o=s[i+1]-'0',sum;
sum=t*10+o;
if(o%4==0||o%5==0) ans++;
if(sum%4==0||sum%5==0) ans+=i+1;
}
cout<<ans;
return 0;
}
OK🆗就这样了
第一次写题解 还不太会 不喜勿喷
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...