蓝桥杯真题31日冲刺国一 | 每日题解报告 第二十六天

简介: 大家好,我是泡泡,今天有两篇文章! 一篇复习一篇每日练习

一、子串分值


题目链接:子串分值 - 蓝桥云课 (lanqiao.cn)


题目要求:


对于一个字符串 S,我们定义 S 的分值 f(S) 为 S 中恰好出现一次的字符个数。例如f(aba)=1,f(abc)=3,f(aaa)=0。现在给定一个字符串 S0⋯n−1(长度为 n,1≤n≤105),请你计算对于所有 S 的非空子串 Si⋯j(0≤i≤j


解题思路:


一个字符的影响范围由其往左边遍历遇到的第一个相同字符和其往右边遍历遇到的第一个相同字符所决定。其贡献值为r-i*i-l 直接套进去双指针就好了


#include<bits/stdc++.h>
using namespace std;
int main()
{
  string s;
  cin >> s;
  long long len = s.length();
  long long sum = 0;
  int l,r;
  char ss;
  for(int i = 0; i < len;i++)
  {
    ss = s[i];
    for(r = i + 1; r < len;r++)
    {
      if(s[r]==ss)
      {
        break;
      }
    }
    for(l = i - 1; l >= 0;l--)
    {
      if(s[l]==ss)
      {
        break;
      }
    }4
    sum += (r - i) * (i - l);
    cout<<l<<"";
  }
  cout << sum;
  return 0;
}


二、小数第n位


题目链接:小数第n位 - 蓝桥云课 (lanqiao.cn)


题目要求:


我们知道,整数做除法时,有时得到有限小数,有时得到无限循环小数。


如果我们把有限小数的末尾加上无限多个 0,它们就有了统一的形式。


本题的任务是:在上面的约定下,求整数除法小数点后的第 n 位开始的 3 位数。


解题思路:


保留余数加扩大a,防止超时进行循环处理n,三位就是n-1 n n+1 然后就可以进行暴力循环,每次*10,如果到了n-1 就输出a/b;


#include<bits/stdc++.h>
using namespace std;
long long i,a,b,n;
int main()
{
  cin>>a>>b>>n;
  a%=b;
  while(n>8)
  {
    a*=1e8
    n-=8;
    a%=b;
  }
  for(i=0;i<n+2;i++)
  {
    a*=10;
    if(i>=n-1)
    {
      cout<<a/b;
    }
    a%=b;
  }
    return 0;
}


目录
相关文章
|
存储
【蓝桥杯冲刺】蓝桥杯12届省赛C++b组真题-填空题
【蓝桥杯冲刺】蓝桥杯12届省赛C++b组真题-填空题
104 1
|
测试技术
【蓝桥杯冲刺】蓝桥杯13届省赛C++b组真题-A~E题
【蓝桥杯冲刺】蓝桥杯13届省赛C++b组真题-A~E题
143 0
|
人工智能 测试技术 BI
【蓝桥杯冲刺】蓝桥杯11届省赛C++b组真题-编程题
【蓝桥杯冲刺】蓝桥杯11届省赛C++b组真题-编程题
110 0
【蓝桥杯冲刺】蓝桥杯11届省赛C++b组真题-填空题
【蓝桥杯冲刺】蓝桥杯11届省赛C++b组真题-填空题
126 0
【蓝桥杯冲刺】日期类专题特训
【蓝桥杯冲刺】日期类专题特训
45 0
|
人工智能 测试技术
【蓝桥杯冲刺】蓝桥杯12届省赛C++b组真题-编程题
【蓝桥杯冲刺】蓝桥杯12届省赛C++b组真题-编程题
107 0
|
机器学习/深度学习 存储 测试技术
蓝桥杯冲刺-倒数第八天-省赛题
蓝桥杯冲刺-倒数第八天-省赛题
115 0
|
机器学习/深度学习 Python
【蓝桥杯真题】16天冲刺 Python
【蓝桥杯真题】16天冲刺 Python
217 0
【蓝桥杯真题】16天冲刺 Python
|
算法 Python 容器
【蓝桥杯真题】18天Python组冲刺 心得总结
【蓝桥杯真题】18天Python组冲刺 心得总结
182 0
【蓝桥杯真题】18天Python组冲刺 心得总结
蓝桥杯倒数七天冲刺国一之每日复习第六天
大家好,我是泡泡,今天是复习第六天!今天有事,稍微水一下
105 0