https://csacademy.com/contest/archive/task/binary-differences

n个数,只有0和1,求所有子区间价值不相同的有多少中,价值是0的个数-1的个数

解法:0的贡献是1,1的贡献是-1,求出贡献的前缀和为s[i],利用上一个区间[l,r]求出当前区间[sum-r,sum-l],同时更新最大范围

//#pragma comment(linker, "/stack:200000000")
//#pragma GCC optimize("Ofast,no-stack-protector")
//#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
//#pragma GCC optimize("unroll-loops")
#include<bits/stdc++.h>
#define fi first
#define se second
#define mp make_pair
#define pb push_back
#define pi acos(-1.0)
#define ll long long
#define mod 1000000007
#define C 0.5772156649
#define ls l,m,rt<<1
#define rs m+1,r,rt<<1|1
#define pil pair<int,ll>
#define pii pair<int,int>
#define ull unsigned long long
#define base 1000000000000000000
#define fio ios::sync_with_stdio(false);cin.tie(0)using namespace std;const double g=10.0,eps=1e-12;
const int N=100000+10,maxn=100000+10,inf=0x3f3f3f3f,INF=0x3f3f3f3f3f3f3f3f;int a[N];
int main()
{int n,sum=0;scanf("%d",&n);int l,r,tel,ter;l=r=tel=ter=0;for(int i=1;i<=n;i++){scanf("%d",&a[i]);if(a[i])sum--;else sum++;l=min(l,sum-ter);r=max(r,sum-tel);tel=min(tel,sum);ter=max(ter,sum);}printf("%d\n",r-l+1);return 0;
}
/****************************************/

View Code

转载于:https://www.cnblogs.com/acjiumeng/p/8522630.html

Binary Differences相关推荐

  1. 给定key值,在Binary Search Tree中查找最接近该键值的结点集合

    http://blog.csdn.net/zhouhao011280s/article/details/8044056 给定key值,在Binary Search Tree中查找最接近该键值的结点集合 ...

  2. 107. Binary Tree Level Order Traversal II

    题目 Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from l ...

  3. 102. Binary Tree Level Order Traversal

    题目 Binary Tree Level Order Traversal 层次遍历二叉树 链接 Given a binary tree, return the level order traversa ...

  4. Binary XML file line #8: Error inflating class android.support.v7.widget.RecyclerView

    今天创建了一个 demo ,然后就是复制RecyclerView 过去, 到最后完成运行的时候发现 系统奔溃了, 然后 提示 Binary XML file line #8: Error inflat ...

  5. Android运行时候报错:android.view.InflateException: Binary XML file line #19: Binary XML file lin

    Android运行时候报错:android.view.InflateException: Binary XML file line #19: Binary XML file lin 这个问题自己大致在 ...

  6. android.view.InflateException: Binary XML file line #7: Binary XML file line #7

    错误如下 11-21 08:19:44.040 3608-3608/com.leon.oldrecyclerview E/AndroidRuntime: FATAL EXCEPTION: main   ...

  7. [Java]LeetCode297. 二叉树的序列化与反序列化 | Serialize and Deserialize Binary Tree

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

  8. Java for LeetCode 067 Add Binary

    Given two binary strings, return their sum (also a binary string). For example, a = "11" b ...

  9. LeetCode刷题记录14——257. Binary Tree Paths(easy)

    LeetCode刷题记录14--257. Binary Tree Paths(easy) 目录 前言 题目 语言 思路 源码 后记 前言 数据结构感觉理论简单,实践起来很困难. 题目 给定一个二叉树, ...

最新文章

  1. Android Build.VERSION.SDK_INT
  2. 漫画|小白到大神程序员的进阶,都是什么生活状态?
  3. java BigDecimal实现精确加减乘除运算
  4. 在flask上使用websocket
  5. stdarg.h(c标准库)
  6. 安装phpredis扩展以及phpRedisAdmin工具
  7. this.$modal.confirm 自定义按钮关闭_Excel迫使人类基因重命名?用VBA给科学家们支一招!—— 怎样快速定制工具栏按钮...
  8. VTK:可视化之ChooseTextColorDemo
  9. 利用webBrowser获取页面iframe中的内容
  10. 当Sklearn遇上Plotly,会擦出怎样的火花?
  11. js调用WebService(复杂对象传入)[原创]
  12. keras提取模型中的某一层_Keras做图片分类(四):迁移学习--猫狗大战实战
  13. MH370 找到个毛!
  14. SCCM2012SP1---资产管理和远程管理
  15. 怎么注册tk域名_关于注册免费TK域名不成功的几个问题解决方案
  16. 台式计算机是32位还64位,电脑系统装64位还是32位系统好?考虑这些才能正确安装...
  17. 冰雪之城鸿蒙碎片,冰雪之城地图推荐:
  18. python编程解数学方程(纯字符串格式)
  19. SaaS 软件开发为企业数字化转型赋能
  20. WEB接口测试之Jmeter接口测试自动化 (二)

热门文章

  1. Docker入门六部曲——Swarm
  2. bert as service
  3. 奇异值分解与最小二乘问题 线性回归
  4. AndroidSDK结合SpringBoot实现支付宝支付功能
  5. 使用最新版(2020)IntelliJ IDEA 新建 Spring Boot 2.0 项目
  6. 全文翻译(一):TVM: An Automated End-to-End Optimizing Compiler for Deep Learning
  7. 2021年大数据常用语言Scala(二十七):函数式编程 聚合操作
  8. Python爬虫实战糗事百科实例
  9. Cocos Creator 音频文件Audio的绑定与使用(TypeScript)
  10. ViewPager 设置间距的方法