您当前的位置: 首页 > 

[总结|题解|补题] Codeforces Round #719 (Div. 3)

发布时间:2021-05-06 11:16:26 ,浏览量:7

手速场 推荐做
  • A. Do Not Be Distracted!(字符打标记)
    • 题意:
    • 思路:
    • code:
  • B - Ordinary Numbers(数论/预处理/思维)
    • 题意:
    • 思路(推公式):
    • code1:
    • 思路(思维):
    • code2:
    • 思路(预处理)
    • code:
  • C. Not Adjacent Matrix(构造+思维)
    • 题意:
    • 思路:
    • code:
  • D - Same Differences(思维+变换公式+map处理)
    • 题意
    • 思路
    • code:
  • E - Arranging The Sheep(中位数)
    • 题意
    • 思路
    • code:
  • F1.Guess the K-th Zero (Easy version)(交互题 不补了)
  • F2.Guess the K-th Zero (Hard version)(树状数组或分块) (待补)
  • G.To Go Or Not To Go?(待补)
A. Do Not Be Distracted!(字符打标记) 题意:

输入:

出现过的字符 除了在他出现的那个连续区间可以重复出现,后面都不可出现 输出 如果后面没出现则则输出"YES" 否则"NO" 条件: 都是大写字母

思路:

打标记判断,(连续区间这里卡了我一下,但是我还是硬着头皮(s[i] == s[i-1]))

code:
#include  using namespace std; int st[26]; int main() { int t; cin>>t; while (t -- ) { int n; cin>>n; memset(st,0,sizeof st); string s; cin>>s; bool flag = false; for(int i=0;i<n;i++) { if(!st[s[i]-'A'] ) { st[s[i]-'A']= 1; } else { if(s[i] == s[i-1]) continue; else { flag = true; cout<<"NO"<<endl; break; } } } if(!flag) cout<<"YES"<<endl; } return 0; } 
B - Ordinary Numbers(数论/预处理/思维) 题意:

输入 输入一个t和多个n 条件 普通数字即 每个数字各个位相同 输出 输出1-n中的普通数字

思路(推公式):

因为范围1e9,所以推公式,先打1e5的表出思路,后面推公式 公式如下 ans = 9*(位数-1) + (最大位数 或者 最大位数-1)

code1:
#include  using namespace std; typedef long long ll ; int main() { int t; cin>>t; while(t -- ) { int n; cin>>n; if(n<10) cout<<n<<endl; else { int ws = 0; int temp = n; int maxx = 0; while(temp!= 0) { maxx = temp; ws++; temp/=10; } int ans = 0; ans = 9*(ws-1); ll mid = 0 ; for(int i=1;i<=ws;i++) { mid+=maxx; mid*=10; } mid/=10; // cout<            
关注
打赏
1688896170
查看更多评论

暂无认证

  • 7浏览

    0关注

    115984博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0544s