C++课后习题训练记录Day176

1.练习项目 :

题目描述

小蓝有一个只包含 0 和 1 字符串,请你帮他算算这个字符串有多少个子串将 0 和 1 取反后,再将整个子串反过来和原子串一样。

输入描述

输入第一行包含一个整数 n(n≤5×105),表示字符串长度。

第二行包含一个长度为 n 的字符串 S,S 只拥有 0、1 两种字符。

输出描述

输出仅一行,包含一个整数,表示答案。

2.选择课程

在蓝桥云课中选择题库,选择题号1627并开始练习。

3.开始练习

(1)源码 :

#include <bits/stdc++.h>

using namespace std;

using ll=long long;

const int N=1e6+10;

char sN;

int pN,tN;

int main()

{

ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);

int n;

cin>>n>>s+1;

for(int i=2*n+1;i>=1;i--){

ti=(i&1)?0:(si\>\>1=='1'?1:-1);

}

t0=3,t2\*n+2=3;

int c=0,r=0;

for(int i=1;i<=2*n+1;i++){

pi<r?min(r-i,p2\*c-1):1;

while(ti+p\[i]+ti-p\[i]==0)pi++;

if(i+pi>r)c=1,r=i+pi;

}

ll ans=0;

for(int i=1;i<=2*n+1;i++){

ans+=(pi-1)/2;

}

cout<<ans<<'\n';

return 0;

}

(2)检验结果

对此代码进行检验,检验后无报错,提交此代码,判题结果为正确100分。

(3)练习心得:

注意每段代码末尾的分号是否存在 ,如不存在则需即使补充;输入法是否切换为英语模式;语法是否错误。

相关推荐
X1A0RAN1 小时前
PPT 图片批量处理教程:导出全部幻灯片 · 提取全部素材
开发语言·javascript·powerpoint
熊猫钓鱼>_>2 小时前
普通用户视角的端侧智能体验手记【鸿蒙心迹】
开发语言·人工智能·华为·智能手机·性能优化·ai编程·harmonyos
瑞雪兆丰年兮2 小时前
JavaWeb-day13-SpringBootWeb事务管理&AOP
java·开发语言·springboot·javaweb·事务·web·aop
布莱克6054 小时前
Swift 常量详解:从 let 到编译期优化
服务器·开发语言·ssh·swift·常量·let
布莱克6054 小时前
Swift 可选类型(Optionals)详解:从原理到实战
开发语言·安全·ssh·swift·optional·可选类型
老歌老听老掉牙4 小时前
案例 7:二维 Rosenbrock 函数最小值(香蕉函数)
c++·pso
Severus_black5 小时前
【C++初阶】Stack、Queue算法题大练兵!
c语言·c++·算法·stl
瑞雪兆丰年兮6 小时前
JavaWeb-day14-SpringBootWeb原理篇
java·开发语言·spring boot·spring·bean·mybatis·javaweb
SomeOtherTime8 小时前
Rust生命周期介绍(AI回答)
开发语言·后端·rust
程序猿打工仔8 小时前
计算机基础(C语言)考编、专技岗
c语言·开发语言·算法