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

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

相关推荐
LOVE️YOU29 分钟前
Python 中 Tuple 为什么有时可 Hash,有时不可 Hash?
开发语言·python·哈希算法
李永奉42 分钟前
C语言-指针函数与函数指针及回调函数的使用
c语言·开发语言
小oo呆42 分钟前
【学习心得】迭代器和可迭代对象
开发语言·python
AC赳赳老秦1 小时前
采集行为合规自检:OpenClaw 自动校验 robots 协议与采集频率,规避违规采集风险
java·开发语言·c++·python·php·deepseek·openclaw
钱栈up1 小时前
mvn compile 卡死在 javac 阶段:一次类型不匹配的排查与修复
java·开发语言
迅猛龙办公室1 小时前
Python输出当前计算机的系统日期和时间
开发语言·前端·python
无名猿1 小时前
C++ 查找算法:std::find 与容器成员 find 的性能差距
c++·性能优化·stl·标准库
杨丰玮4181 小时前
C语言基础知识(一)————各类符号的含义与输入输出库(stdio)
c语言·开发语言
程序猿编码2 小时前
工业视觉多任务方案:可编程梯度信息视觉框架,训练评估 + C++ 部署完整实战
开发语言·c++·视觉·推理引擎
言乐63 小时前
Python实现语音审核模型
开发语言·python·django·virtualenv·pygame