2023蓝桥杯题解 仅C、D

打印 上一主题 下一主题

主题 868|帖子 868|积分 2604

2023蓝桥杯题解

洛谷2023蓝桥杯C题
洛谷2023蓝桥杯D题
C题 [蓝桥杯 2023 省 A] 平方差

[size=4
]题目描述

给定                                    L                         ,                         R                              L,R                  L,R,问                                    L                         ≤                         x                         ≤                         R                              L \leq x \leq R                  L≤x≤R 中有多少个数                                    x                              x                  x 满足存在整数                                    y                         ,                         z                              y,z                  y,z 使得                                    x                         =                                   y                            2                                  −                                   z                            2                                       x=y^2-z^2                  x=y2−z2。
[size=4
]输入格式

输入一行包罗两个整数                                    L                         ,                         R                              L,R                  L,R,用一个空格分隔。
[size=4
]输特别式

输出一行包罗一个整数满足题目给定条件的                                    x                              x                  x 的数目。
[size=4
]样例 #1

样例输入 #1

  1. 1 5
复制代码
样例输出 #1

  1. 4
复制代码
[size=4
]提示

【样例阐明】



  •                                         1                            =                                       1                               2                                      −                                       0                               2                                            1=1^2-0^2                     1=12−02
  •                                         3                            =                                       2                               2                                      −                                       1                               2                                            3=2^2-1^2                     3=22−12
  •                                         4
                                =                                       2                               2                                      −                                       0                               2                                            4
    =2^2-0^2                     4
    =22−02
  •                                         5                            =                                       3                               2                                      −                                       2                               2                                            5=3^2-2^2                     5=32−22
【评测用例规模与约定】

对于                                    4
0                         %                              4
0 \%                  4
0% 的评测用例,                                   L                         ,                         R                         ≤                         5000                              L,R \leq 5000                  L,R≤5000;
对于所有评测用例,                                   1                         ≤                         L                         ≤                         R                         ≤                         1                                   0                            9                                       1 \leq L \leq R \leq 10^9                  1≤L≤R≤109。
第十四届蓝桥杯大赛软件赛省赛 C/C&#4
3;&#4
3; 大学 A 组 C
  1. #include<bits/stdc&#4
  2. 3;&#4
  3. 3;.h>using namespace std;int main(){   int L,R,temp,res=0;   cin>>L>>R;   if (L>R){           temp=L;           L=R;           R=temp;   }   for(int i=L;i<=R;i&#4
  4. 3;&#4
  5. 3;){           if(i<0)                   continue;           if(i&1||i%4
  6. ==0)           {                   res&#4
  7. 3;&#4
  8. 3;;        }   }   cout<<res; }
复制代码
[img]https://i-blog.csdnimg.cn/blog_migrate/ffef6a24
62e8
c15635962fef1f5931e6.png[/img]

D题 [蓝桥杯 2023 省 A] 更小的数

[size=4
]题目描述

[img]https://i-blog.csdnimg.cn/img_convert/08
8
9b101021e92bf01bd2e18
3f963fcb.png[/img]

小蓝有一个长度均为                                    n                              n                  n 且仅由数字字符                                    0                         ∼                         9                              0 \sim 9                  0∼9 构成的字符串,下标从                                    0                              0                  0 到                                    n                         −                         1                              n-1                  n−1,你可以将其视作是一个具有                                    n                              n                  n 位的十进制数字                                    n                         u                         m                              num                  num,小蓝可以从                                    n                         u                         m                              num                  num 中选出一段一连的子串并将子串举行反转,最多反转一次。小蓝想要将选出的子串举行反转后再放入原位置处得到的新的数字                                    n                         u                                   m                                       n                               e                               w                                                 num_{new}                  numnew​ 满足条件                                    n                         u                                   m                                       n                               e                               w                                            <                         n                         u                         m                              num_{new}<num                  numnew​<num,请你帮他计算下一共有多少种差别的子串选择方案,只要两个子串在                                    n                         u                         m                              num                  num 中的位置不完全雷同我们就视作是差别的方案。
注意,我们答应前导零的存在,即数字的最高位可以是                                    0                              0                  0,这是合法的。
[size=4
]输入格式

输入一行包罗一个长度为                                    n                              n                  n 的字符串表现                                    n                         u                         m                              num                  num&#xff08
;仅包罗数字字符                                    0                         ∼                         9                              0 \sim 9                  0∼9),从左至右下标依次为                                    0                         ∼                         n                         −                         1                              0 \sim n-1                  0∼n−1。
[size=4
]输特别式

输出一行包罗一个整数表现答案。
[size=4
]样例 #1

样例输入 #1

  1. 210102
复制代码
样例输出 #1

  1. 8
复制代码
[size=4
]提示

【样例阐明】

一共有                                    8
                              8
                  8
种差别的方案:

  • 所选择的子串下标为                                         0                            ∼                            1                                  0\sim1                     0∼1,反转后的                                         n                            u                                       m                                           n                                  e                                  w                                                 =                            120102                            <                            210102
                                      num_{new} = 120102 < 210102
                         numnew​=120102<210102

  • 所选择的子串下标为                                         0                            ∼                            2                                  0\sim2                     0∼2,反转后的                                         n                            u                                       m                                           n                                  e                                  w                                                 =                            012102                            <                            210102
                                      num_{new} = 012102 < 210102
                         numnew​=012102<210102

  • 所选择的子串下标为                                         0                            ∼                            3                                  0\sim3                     0∼3,反转后的                                         n                            u                                       m                                           n                                  e                                  w                                                 =                            101202                            <                            210102
                                      num_{new} = 101202 < 210102
                         numnew​=101202<210102

  • 所选择的子串下标为                                         0                            ∼                            4
                                      0\sim4
                         0∼4
    ,反转后的                                         n                            u                                       m                                           n                                  e                                  w                                                 =                            010122                            <                            210102
                                      num_{new} = 010122 < 210102
                         numnew​=010122<210102

  • 所选择的子串下标为                                         0                            ∼                            5                                  0\sim5                     0∼5,反转后的                                         n                            u                                       m                                           n                                  e                                  w                                                 =                            201012                            <                            210102
                                      num_{new} = 201012 < 210102
                         numnew​=201012<210102

  • 所选择的子串下标为                                         1                            ∼                            2                                  1\sim2                     1∼2,反转后的                                         n                            u                                       m                                           n                                  e                                  w                                                 =                            201102                            <                            210102
                                      num_{new} = 201102 < 210102
                         numnew​=201102<210102

  • 所选择的子串下标为                                         1                            ∼                            4
                                      1\sim4
                         1∼4
    ,反转后的                                         n                            u                                       m                                           n                                  e                                  w                                                 =                            201012                            <                            210102
                                      num_{new} = 201012 < 210102
                         numnew​=201012<210102

  • 所选择的子串下标为                                         3                            ∼                            4
                                      3\sim4
                         3∼4
    ,反转后的                                         n                            u                                       m                                           n                                  e                                  w                                                 =                            210012                            <                            210102
                                      num_{new} = 210012 < 210102
                         numnew​=210012<210102

【评测用例规模与约定】

对于                                    20                         %                              20\%                  20% 的评测用例,                                   1                         ≤                         n                         ≤                         100                              1 \le n \le 100                  1≤n≤100;
对于                                    4
0                         %                              4
0\%                  4
0% 的评测用例,                                   1                         ≤                         n                         ≤                         1000                              1 \le n \le 1000                  1≤n≤1000;
对于所有评测用例,                                   1                         ≤                         n                         ≤                         5000                              1 \le n \le 5000                  1≤n≤5000。
  1. #include<bits/stdc&#4
  2. 3;&#4
  3. 3;.h>using namespace std;string s;int lens,ans;bool if_(int l,int r){        for(int i = l,j = r;i <= j;i&#4
  4. 3;&#4
  5. 3;,j--)        {                if(s[i] > s[j]) return true;        else if(s[j] > s[i]) return false;        }        return false;}int main(){        cin >> s;        lens = s.length();        for(int i = 0;i < lens;i&#4
  6. 3;&#4
  7. 3;)        {                for(int j = i&#4
  8. 3;1;j < lens;j&#4
  9. 3;&#4
  10. 3;)                {                        if(if_(i,j)) ans&#4
  11. 3;&#4
  12. 3;;                }        }        cout << ans;        return 0;}
复制代码
[img]https://i-blog.csdnimg.cn/blog_migrate/30c8
02329d74
c1db06b621bdac02aa2e.png[/img]


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

飞不高

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表