• 题目:
    给你一个字符串,字符串只有+和-,+代表1,-代表 -1,是正负正负交替进行运算,然后给你q个询问,每个询问给你两个数字L,R,在字符串区间[L, R]中使得这个区间的和为0需要删除的最小个数是多少?
  • 思路:
    求前缀和,如果在这个区间里面删除一个下标为 i 的字符,只会对后面进行影响 前面的和为A = sum[i - 1] - sum[l - 1],后面的和为B = sum[r] - sum[i],修改以后后面的和取相反数,所以就要有 sum[i - 1] - sum[l - 1] = sum[r] - sum[i],也就是sum[i - 1] + sum[i] = sum[r] + sum[l - 1],sum[r],sum[l - 1]已知,然后sum[i - 1]和sum[i]相差1,所以他们相加是奇数,原来未改变的值 x = A + B + (1或者-1),那x一定得是奇数,次数就是1如果是偶数的话,就先删除一个 次数就是2
  • 代码:
#include <bits/stdc++.h>
#define fi first
#define se second
#define endl '\n'
#define all(x) x.begin(),x.end()
#define pb push_back
#define PII pair<int,int>
#define ios ios::sync_with_stdio(false); cin.tie(0); cout.tie(0)
#define int long long
using namespace std;
const int N = 3e5 + 100,M = N,mod = 1e9 + 7,INF = 0x3f3f3f3f;
int sum[N];
void solve()
{int n,m; cin >> n >> m;string s; cin >> s;memset(sum,0,sizeof sum);for(int i = 0;i < n;i ++ ){if(i & 1){if(s[i] == '+')sum[i + 1] = sum[i] - 1;elsesum[i + 1] = sum[i] + 1;}else{if(s[i] == '+')sum[i + 1] = sum[i] + 1;elsesum[i + 1] = sum[i] - 1;}}while(m -- ){int l,r; cin >> l >> r;int t = sum[r] - sum[l - 1];if(t == 0) cout << "0" << endl;else if(t & 1) cout << "1" << endl;else cout << "2" << endl;}}signed main()
{ios;int T; cin >> T;while(T -- ) solve();return 0;
}
``

7.8 Cound 练习相关推荐

  1. Idea集成springboot报错(cound not autowire)

    我是一个做程序的,不喜欢报红色的,所以一旦报错就想着法子去解决和处理 1.存在的问题 2.解决方法 把error改成warning就好了

  2. 使用 sched_setaffinity 将线程绑到CPU核上运行

    linux 提供CPU调度函数,可以将CPU某一个核和指定的线程绑定到一块运行. 这样能够充分利用CPU,且减少了不同CPU核之间的切换,尤其是在IO密集型压力之下能够提供较为友好的性能. 通过sch ...

  3. linux下把进程绑定到特定cpu核上运行

    现在大家使用的基本上都是多核cpu,一般是4核的.平时应用程序在运行时都是由操作系统管理的.操作系统对应用进程进行调度,使其在不同的核上轮番运行. 对于普通的应用,操作系统的默认调度机制是没有问题的. ...

  4. [转]Iphone NSString字符串常用方法

    /******************************************************************************************* NSStrin ...

  5. linux 脚本给设备节点权限,[Linux] I2C设备读写及文件节点创建

    Linux Kernel Version:3.0.35 Platform:Freescale DSA2L 通过I2C读取VGA屏的EDID信息(主要是分辨率),解析后喂给CH7036芯片(LVDS转V ...

  6. Windows phone 应用开发[12]-Pex 构建自动化白盒测试[下]

    本篇承接于上篇Windows phone 应用开发[11]-Pex 构建自动化白盒测试[上] .大概了解Pex作为自动化白盒测试工具工作方式.以及提出参数化单元测试的概念.为开发人员减少手动编写大量独 ...

  7. NSArray,NSSet,NSDictionary总结 (转)

    NSArray,NSSet,NSDictionary总结 博客分类: iphone 三种集合类来收集cocoa对象(NSObject对象): NSArray 用于对象有序集合(相当于是数组) NSSe ...

  8. 多线程编程之线程绑定处理器核

    2019独角兽企业重金招聘Python工程师标准>>> Linux系统提供API函数sched_setaffinity和sched_getaffinity用于设置或获取线程的可以使用 ...

  9. xilinx axi dma 深入开发(一)

    以下为官方 axidma-proxy 源码 /*** Copyright (C) 2021 Xilinx, Inc** Licensed under the Apache License, Versi ...

  10. NSStirng、NSArray、以及枚举(Method小集合)

    以下内容由angellixf整理,这里制作记录: /************************************************************************** ...

最新文章

  1. 如何快速搭建一个简约美观的在线互动教室?
  2. Unity C#单例模式的实现
  3. 6行代码实现ASP无组件上传
  4. 3DSlicer14:Loadable Module
  5. html表格的表头怎么合并单元格,使用tableGrob合并表头单元格
  6. python各个版本改动
  7. linux yun nginx,Linux - CentOS 7 通过Yum源安装 Nginx
  8. 课时4:改进我们的小游戏
  9. SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder“.解决方法
  10. Atitit httpclient 概述  rest接口
  11. Java集合框架和重要接口、类
  12. linux 邮件文件名 病毒,linux-qmail 病毒/垃圾邮件处理
  13. “K米” 软件产品评测
  14. php excel速度慢,window_win10双击打开excel太慢了的三种解决办法,win10双击打开excel文件慢该怎么 - phpStudy...
  15. 2021洛谷10月月赛3游记
  16. Isito - Rate Limits(请求限速)
  17. Scapy的介绍(一)
  18. C语言输出不能被3整除
  19. Firebase入门使用 01
  20. 帝国cms7.5漏洞复现

热门文章

  1. EAN13商品条码数据如何居中显示
  2. 分享一个蛋白互作网站——String (一)
  3. win7 局域网访问网站
  4. uni-app 小程序引入字体图标
  5. 梨花带雨html音乐播放器源码,梨花带雨 - 雨陌文化传媒 - 5SING中国原创音乐基地...
  6. 错误:Error:java.lang.RuntimeException: Some file crunching failed, see logs for details解决方案
  7. tp6 支付宝沙箱支付
  8. ORA-00932:数据类型不一致:应为NUMBER,但却获得CHAR
  9. html自定义文本框,JavaScript自定义文本框光标
  10. Hexo 设置博客背景图片 (NexT 主题 )