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)练习心得:

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

相关推荐
光电的一只菜鸡7 分钟前
为什么调整LSC会对AF产生影响
android·开发语言·kotlin
zhangjw3410 分钟前
第47篇:Java综合实战:电商秒杀系统(高并发场景)
java·开发语言
FOAF-lambda31 分钟前
uiautomation-new 控件方位的使用
开发语言·python
OKkankan35 分钟前
LangChain能力详解!:从工具调用到 LangSmith——让聊天模型具备实时交互能力!
开发语言·python·langchain
richard_yuu40 分钟前
AOI 实战第五篇:c_broken 漏检严重,V4 迭代背后的权衡
开发语言·深度学习·yolo
m0_734571761 小时前
深入理解C++ 析构函数<一>基本概念
开发语言·c++
滕州市燕猫虎计算机科技工作室个体工商户1 小时前
Java面试题汇总
java·开发语言
孙启超2 小时前
【AI开发之Rust】第 3 课:字符串与复合类型 —— 数据怎么放
开发语言·人工智能·后端·rust·llm·transformer
t-think2 小时前
C++ string 类(上)—— string类初识与常用接口详解
开发语言·c++