首页 > 其他分享 >E. Decode

E. Decode

时间:2024-07-29 11:31:19浏览次数:5  
标签:满足条件 cnt 下标 int Decode mapp 区间

https://codeforces.com/contest/1996/problem/E

题意:给定一个01字符串s,统计区间[l, r]中,[x, y]([l, r]的子区间)中0和1出现次数相等的字符串。

思路:维护一个cnt值,并计算以当前下标j结尾,所有满足条件的起始下标i中,对最后答案的总贡献是多少。一次遍历+map查询即可。

总结:很容易想到如果只是判定满足条件的区间数量,就直接维护一个红黑树来记录cnt值出现的次数即可。 但是题目不仅要求出这个次数,还要求出有多少个区间包含了当前的这个区间。 很容易想到当前下标j结尾后面可以有(n - j)个区间可以包含它,但是对于符合条件的区间,可能不止有一个i,所以这里维护的红黑树不再维护cnt出现的次数,而是维护cnt出现时,当前的cnt左边的区间长度,这样就可以满足计算要求了。
一开始思路错了,只考虑了满足条件的区间中对后面区间的贡献,以及对前面区间的贡献(reverse了string重新计算了一次),但是没考虑对前后区间都有贡献的情况。

void solve(){
    string s;
    cin >> s;

    int n = (int)s.size();

    map<int, MInt> mapp;

    int cnt = 0;
    MInt ans = 0;
    for (int i = 0; i < n; ++i) {
        mapp[cnt] += (i + 1);
        cnt += (s[i] == '1' ? 1 : -1);
        ans += mapp[cnt] * (n - i);
    }

    cout << ans << '\n';
}   

MInt是一个模数字类
https://github.com/yxc-s/programming-template/blob/master/NumberTheory/ModularInteger.cpp

标签:满足条件,cnt,下标,int,Decode,mapp,区间
From: https://www.cnblogs.com/yxcblogs/p/18329706

相关文章

  • 文件编码检测-Python解决UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0x
    #检测数据编码格式importchardetwithopen('附件1.csv','rb')asf:result=chardet.detect(f.read())#读取一定量的数据进行编码检测print(result['encoding'])#打印检测到的编码在读取文件时会遇到各种问题,UnicodeDecodeError:'utf-8'codeccan'tde......
  • 带有 CDK 的 Lambda 无法启动 - JSONDecodeError 和 BrokenPipeError
    我正在尝试部署一个基于图像的PythonLambda,其中包含AWSCDK库。当我尝试在AWS中运行该函数时,它无法启动。我正在使用此Dockerfile:FROMamazon/aws-lambda-python:3.12COPY*${LAMBDA_TASK_ROOT}/RUNdnfupdate-yRUNdnfinstall-ygitRUNcurl-sLhttps......
  • 使用pip安装时出现JSONDecodeError;点不工作
    Pip在安装软件包时遇到问题,因为每次尝试解析软件包的JSON文件时都会出错。我已尝试以下操作:卸载并重新安装PIP降级PIP版本尝试从可下载的轮子安装软件包确切的错误消息是:ERROR:Exception:Traceback(mostrecentcalllast):File".......
  • EeayDecode:解码合约的自定义错误、事件和函数参数与返回值
    官网:easydecode.dev还在为解码合约自定义错误事件和函数参数与返回值而苦恼吗?快试试easydecode吧!只需提供合约ABI即可快速、方便的解码合约的自定义错误、事件和函数参数与返回值。1.解码Event将Event的Topics(字符串数组,使用,分割)和Data填入输入框,点击“DecodeE......
  • 【AI】DeepStream(16):deepstream_image_decode_app-MJPEG编解码器的使用
    【AI】AI学习目录汇总1、简介deepstream-test1:演示各种DeepStream插件构建GStreamer管道。从文件中获取视频、解码、批处理,然后进行对象检测,最后在屏幕上渲染框。deepstream_image_decode_app示例是在deepstream-test1示例之上,增加如下功能:在管道pipe中使用多个......
  • hackmyvm--Decode
    环境靶机:ip未知攻击机kali:192.168.233.128192.168.56.101主机探测锁定靶机ip为108端口扫描nmap-p--T4-A192.168.56.108常规套路80和22web打点dirsearch-uhttp://192.168.56.108/访问robots,txt文件访问/decode发现其自动添加了/,怀疑是本地文件包含漏洞,即......
  • T5架构和主流llama3架构有什么区别和优缺点、transformer中encoder 和decoder的不同、
    T5架构和主流llama3架构有什么区别和优缺点T5和LLaMA是两种在自然语言处理(NLP)领域广泛应用的大型语言模型,它们在架构和应用上有显著的区别和各自的优缺点。T5架构架构特点:Encoder-Decoder结构:T5(Text-to-TextTransferTransformer)采用了经典的Encoder-DecoderTransform......
  • 解决“网页源代码编码形式为utf-8,但爬虫代码设置为decode('utf-8')仍出现汉字乱码”的
    为了用爬虫获取百度首页的源代码,检查了百度的源代码,显示编码格式为utf-8但这样写代码,却失败了…..(这里提示:不要直接复制百度的URL,应该是http,不是https!!!)#获取百度首页的源码importurllib.request#(1)定义一个URLurl='http://www.baidu.com'#(2)模拟浏览器向服务器发送......
  • 为何现在的大模型大部分是Decoder only结构
    现代大型语言模型,如GPT-3、GPT-J、和GPT-Neo等,主要采用Decoder-only结构,这是由于几个关键原因:并行计算:Decoder-only模型在训练时可以采用单向注意力机制,这意味着每个token只关注它之前的token。这种单向性使得模型可以在训练时更容易地并行处理数据,从而提高训练效率。......
  • 使用 PyTorch 创建的多步时间序列预测的 Encoder-Decoder 模型
    Encoder-decoder模型在序列到序列的自然语言处理任务(如语言翻译等)中提供了最先进的结果。多步时间序列预测也可以被视为一个seq2seq任务,可以使用encoder-decoder模型来处理。本文提供了一个用于解决Kaggle时间序列预测任务的encoder-decoder模型,并介绍了获得前10%结果......