多比特杯武汉工程大学第四届ACM程序设计竞赛同步赛

比赛链接

多比特杯武汉工程大学第四届ACM程序设计竞赛同步赛

E.讨厌的字符串

题目描述

现在你的面前有一个字符串长度为 n,你看他很不爽所以你想将它一刀两断,你可以从中间切一刀使字符串变成两半,我们将前一半记作s1,将剩下一半记作s2,如果满足s1s2 中都没有前导0并且存在两个正整数c,d使得 d%c==0 (即dc的倍数) && d/c==s1 &&cd==s2 那么我们把这种分发成为一种合法拆分方式,如果一个字符串有2种或者2种以上的合法拆分方式那样我们就把这个字符串成为一个合法字符串。
现在给定一个正整数 n(1n300)请问是否可以构造出一个合法字符串,如果可以请在第一行输出'YES'否则输出'NO'

输入描述:

输入一个正整数 n(1n300)

输出描述:

输出 'YES' 或者 'NO' (不包含引号)

示例1

输入

9

输出

YES

说明

s = 164000000

示例2

输入

10

输出

YES

说明

s = 1144000000

解题思路

构造

结论:对于大于 3 的数都满足条件

  • 对于大于 3 的奇数,字符串可以为 1640...00(n30)
    此时可以构造出两种方案:
  1. s1=1,s2=640...00(n30),此时 d=c=80...00(n320)
  2. s1=16,s2=40...00(n30),此时 d=80...00(n320),c=50...00(n4n320)
  • 对于大于 3 的偶数,字符串可以为 11440...00(n20)
    此时可以构造出两种方案:
  1. s1=1,s2=1440...00(n20),此时 d=c=120...00(n220)
  2. s1=11,s2=440...00(n20),此时 d=220...00(n220),c=20...00(n220)
  • 时间复杂度:O(1)

代码

// Problem: 讨厌的字符串 // Contest: NowCoder // URL: https://ac.nowcoder.com/acm/contest/33616/E // Memory Limit: 524288 MB // Time Limit: 2000 ms // // Powered by CP Editor (https://cpeditor.org) // %%%Skyqwq #include <bits/stdc++.h> // #define int long long #define help {cin.tie(NULL); cout.tie(NULL);} #define pb push_back #define fi first #define se second #define mkp make_pair using namespace std; typedef long long LL; typedef pair<int, int> PII; typedef pair<LL, LL> PLL; template <typename T> bool chkMax(T &x, T y) { return (y > x) ? x = y, 1 : 0; } template <typename T> bool chkMin(T &x, T y) { return (y < x) ? x = y, 1 : 0; } template <typename T> void inline read(T &x) { int f = 1; x = 0; char s = getchar(); while (s < '0' || s > '9') { if (s == '-') f = -1; s = getchar(); } while (s <= '9' && s >= '0') x = x * 10 + (s ^ 48), s = getchar(); x *= f; } const int N=1e3+5; bool f[N]; int cal(int x) { string s=to_string(x); return s.size(); } int main() { int n; cin>>n; puts(n>=4?"YES":"NO"); return 0; }

__EOF__

本文作者acwing_zyy
本文链接https://www.cnblogs.com/zyyun/p/16247507.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   zyy2001  阅读(42)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示