cf 808D Array Division(二分思维)@
来源:互联网 发布:sai有mac版的吗 编辑:程序博客网 时间:2024/05/16 14:24
题意:有n个物品的价值,问能否移动一个物品到任意位置使这个数组分成两部分,并且和相等;
解:计算这个数组的前缀后缀和,枚举物品,二分前缀和后缀和;
Vasya will erase some element and insert it into an arbitrary position
some有一些和某个的意思,因为这里用的是it所以是一些的意思
#include <iostream>#include <bits/stdc++.h>using namespace std;typedef long long LL;const int N = 1e5+10;int n;LL a[N], b[N], s1[N], s2[N];int judge(LL x,int flag,int l,int r){ if(flag) { while(l<=r) { int mid=(l+r)/2; if(s1[mid]==x) return 1; else if(s1[mid]<x) l=mid+1; else r=mid-1; } } else { while(l<=r) { int mid=(l+r)/2; if(s2[mid]==x) return 1; else if(s2[mid]<x) l=mid+1; else r=mid-1; } } return 0;}int main(){ scanf("%d", &n); LL sum=0; memset(s1,0,sizeof(s1)); memset(s2,0,sizeof(s2)); for(int i=1; i<=n; i++) { scanf("%lld", &a[i]); s1[i]=s1[i-1]+a[i]; sum+=a[i]; } for(int i=1; i<=n; i++) { s2[i]=s2[i-1]+a[n-i+1]; } if(sum%2!=0) { puts("NO"); return 0; } for(int i=1; i<=n; i++) { if(s1[i]==sum/2||s2[i]==sum/2) { puts("YES"); return 0; } else { LL x=sum/2-a[i]; if(judge(x,1,0,i-1)) { puts("YES"); return 0; } if(judge(x,0,0,n-i-1)) { puts("YES"); return 0; } } } puts("NO"); return 0;}
阅读全文
0 0
- cf 808D Array Division(二分思维)@
- CF 808D D. Array Division(二分)
- codeforces 808D Array Division(二分+思维)
- Codeforces 808D Array Division【思维】
- 【Codeforces 808 D. Array Division】+ 二分
- 808D Array Division
- Educational Codeforces Round 21 D. Array Division(前缀和,二分)
- Codeforces 808D Array Division 题解
- CF 599D 思维
- codeforcodeforces 808D——Array Division(查找,set)
- Educational Codeforces Round 21 D. Array Division
- Educational Codeforces Round 21 D Array Division
- CF - 463D LIS + 思维
- CF 863D. Yet Another Array Queries Problem 逆向思维,递归
- CF 86D Powerful array
- CF 402D Upgrading Array
- 【CF 86D】Powerful array
- CF#348 A. Mafia(二分,思维)
- bash shell 高级教程
- 单例模式与垃圾回收
- 17. Letter Combinations of a Phone Number LeetCode题解
- 依赖成定时炸弹,中源智人能顺利“拆弹”吗?
- 解决 BCGControlBar Debug 报错
- cf 808D Array Division(二分思维)@
- php四种运行模式
- hibernate查询数据表char类型字段只返回一个字符
- 人生目标
- Mysql与Oracle存储过程语法对比
- chosen.jquery.js 搜索框实现模糊搜索 chosen-select
- 基于Xposed的通用破解签名的方法
- 使用 LockBox 做加密解密
- Android Studio找不到libs目录