https://codeforces.com/gym/323862/problem/A
————————————————————————————————————
1111111==>11101111
添加的0会对组数造成增多的影响
如果中心1在0左边,则会使右边的连串0对左侧1造成影响(增多0的个数种选择数)
反之亦然
————————————————————————————————————
思路:
开数组记录每个1前面0的个数L,与每个1后面0的个数R,
对于第i个位置:种类数L(i)xR(i)+∑(L(i-a)+1)x(R(i-a)+1)
然而这样会超时
————————————————————————————————————
优化:
把L与R全部+1
发现奇与奇相乘,偶与偶相同。
对于一个七个1的序列:
L1x(R3+R5+R7)+
L3x(R5+R7)+
L5x(R7)
偶数同理
所以维护一个后缀和
取L[i] x sum[i+2]

#include<bits/stdc++.h>
using namespace std;
long long l[200500],r[200500];  //1左侧0的数量与右侧0的数量
long long s[200500];    //奇偶前缀和
void ope(){long long ans=0;int n;int j,o;//奇偶右端点int num=1;//1的总个数char t;cin>>n;memset(l,0,sizeof l);memset(r,0,sizeof r);memset(s,0,sizeof s);for(int i=0;i<n;i++){   //记录左侧1的个数cin>>t;if(t=='0'){l[num]++;}else{num++;}}num--;for(int i=0;i<=num;i++){    //这里一定要从0开始,不然l[1]不会+1,答案会错l[i+1]++;r[i]=l[i+1];}for(int i=1;i<=num;i++){    //先把只有自己一个1的情况算进去ans+=(l[i]-1)*(r[i]-1);}for(int i=num;i>0;i--){ //处理一个后缀和s[i]=s[i+2]+r[i];}for(int i=1;i<=num;i++){    //左侧乘右侧的后缀和ans+=l[i]*s[i+2];   }cout<<ans<<endl;return;
}
int main(){int n;cin>>n;while(n--){ope();}return 0;
}

A-Sherlock Bones相关推荐

  1. 2017 ACM Arabella Collegiate Programming Contest A. Sherlock Bones GYM101350A

    把问题转换为求区间内1为奇数的区间有多少个 那么直接记录从1开始为奇数和偶数的区间有多少就算出这个了 但是有不合法的就是只有1个1的区间 所以再减一下 重复的再加回来 #include <ios ...

  2. SDUT 2021 Spring Individual Contest(for 20) - 1

    文章目录 A - Sherlock Bones B - Unusual Team C - Cheap Kangaroo D - Magical Bamboos E - Competitive Seag ...

  3. 2017 ACM Arabella Collegiate Programming Contest

    Gym101350A. Sherlock Bones 题目大意: 给定一个长度为 \(n\) 的 \(01\) 序列 \(\{s_n\}\),定义 \(F(i, j)\) 表示序列第 \(i\) 项到 ...

  4. 2017 ACM Arabella Collegiate Programming Contest(solved 9/13, complex 12/13)

    A.Sherlock Bones 题意: 给出长度为n的01串,问f(i,j)=f(j,k),(i<j<k)的i,j,k取值种数.其中f(i,j)表示[i,j]内1的个数, 且s[j]必须 ...

  5. HA: SHERLOCK 靶机渗透取证

    HA: SHERLOCK 靶机渗透取证 靶机描述: DescriptionHA: Sherlock! This lab is based on the famous investigator's jo ...

  6. 神探Sherlock如何用AI破案?教你在Excel中搭建一个人脸识别CNN网络

    作者 | Dave Smith 译者 | 刘畅 编辑 | 阿司匹林.Jane 出品 | AI科技大本营 [导读]人脸识别技术已经有了非常广泛的应用,国内大规模监控系统背后运用的技术就是人脸识别. 与大 ...

  7. P2911 [USACO08OCT]Bovine Bones G (python3实现)

    [USACO08OCT]Bovine Bones G - 洛谷 """ P2911 [USACO08OCT]Bovine Bones G 02(python3实现) ht ...

  8. 【Android】No resource found that matches the given name 'Theme.Sherlock.Light.NoActionBar'

    被这个问题困扰了好久-- 错误如下: error: Error retrieving parent for item: No resource found that matches the given ...

  9. python 分布式锁_Python分布式锁 Sherlock

    软件介绍 Sherlock 是一个易用的 Python 分布式进程内锁机制库,你可选择锁同步的不同后台. 示例代码: import sherlock from sherlock import Lock ...

  10. Unity Bone weights do not match bones.

    记录一下这个问题的原因及解决办法: 问题环境: 我在进行两个带蒙皮的网格(SkinnedMesh)的模型合并的时候,合并了两个模型的骨骼,重新计算了合并后模型的骨骼数组Bones,并重新计算了网格的骨 ...

最新文章

  1. “官宣”:程序员被正式纳入新生代农民工!
  2. backreference Oracle正則表達式中的反向引用
  3. 5月29日阿里云开发者大会了解一下?
  4. ActiveMQ入门实例
  5. Kibana 的安装(Windows版本)新手入门
  6. 北漂多年 ,雷军终于买房了:壕掷52亿元!
  7. Bailian2870 求矩阵的加法【矩阵】
  8. JDK9的安装与配置
  9. DJ 算法的队列优先优化
  10. vue中 key 值的作用
  11. netstat命令详解Linux,Linux netstat命令详解
  12. 风尚云网学习-vue项目的构建/打包/发布
  13. php源码授权网络验证系统,WEB端管理网络验证授权系统源代码
  14. 大型网站技术架构-《大型网站技术架构:核心原理与案例分析》读书笔记
  15. 【Python实例学习】用Python的xlsxwriter模块操作Excel表格,包括写入数据、样式设置、插入图片等
  16. 四级英语词汇加词组(超全)
  17. python 100days github_GitHub - 596861134/Python-100-Days: Python - 100天从新手到大师
  18. The day that you see me old-当我日渐老去的时候
  19. C#在图片框中显示一幅图片及其信息
  20. Struts2学习之------Struts2的详细的复习讲解

热门文章

  1. 计算机连接扫描仪方法,Win7系统怎么连接扫描仪 win7连接扫描仪的方法
  2. 基于Python的地理数据分析之一元线性回归分析-数学原理02.md
  3. 昔日烟王褚时健办果园成亿万富翁 拒上市圈钱
  4. 三阶魔方还原 two phase 算法 学习笔记
  5. 数据结构c语言版袁和金答案,_数据结构_课程教学中的案例设计及应用_袁和金.pdf...
  6. 视觉生理学基础(人眼结构)
  7. 兴文石海旅游策划方案——石来运转天下览!
  8. 看着窗户外行走的路人,始终看不见你
  9. Final Cut Pro导出视频「下」
  10. 01-ReadWrite