当前位置:网站首页>codeforces:808D. Array Division【二分 + 找规律】
codeforces:808D. Array Division【二分 + 找规律】
2022-08-04 15:58:00 【白速龙王的回眸】
分析
一个东西可以往前or往后放
只要看减去这个东西的前缀和和后缀和是否存在half - num即可
注意:这个前缀和or后缀和不能包含当前数,否则会造成改变
ac code
import sys
from itertools import accumulate
from bisect import bisect_left
input = sys.stdin.readline
n = int(input())
a = list(map(int, input().split()))
preSum = list(accumulate(a, initial = 0))
b = a[::-1]
preSum2 = list(accumulate(b, initial = 0))
tot = sum(a)
if tot % 2 != 0:
print('NO')
else:
half = tot // 2
flag = False
for i in range(n):
num = a[i]
target = half - num
idx = bisect_left(preSum, target)
if idx <= i and target == preSum[idx]:
flag = True
break
for i in range(n):
num = b[i]
target = half - num
idx = bisect_left(preSum2, target)
if idx <= i and target == preSum2[idx]:
flag = True
break
if flag:
print('YES')
else:
print('NO')
总结
前缀和思维 + 去掉一个挪到合适的位置 + 二分查
边栏推荐
猜你喜欢
GPS satellite synchronization clock, NTP network synchronization clock, Beidou clock server (Jingzhun)
平稳发展 | 西欧地区手游玩家的数据和洞察
重构指标之如何监控代码圈复杂度
NFT blind box mining system dapp development NFT chain game construction
字节API鉴权方法
[TA-Frost Wolf_may-"Hundred Talents Project"] Art 2.7 Metallic and Speculer Process
【打卡】广告-信息流跨域ctr预估(待更新)
"Research Report on the Development of Global Unicorn Enterprises in the First Half of 2022" released - DEMO WORLD World Innovation Summit ended successfully
吴恩达机器学习[13]-支持向量机
DocuWare平台——用于文档管理的内容服务和工作流自动化的平台(上)
随机推荐
uni-app之renderjs
LeetCode·84.柱状图中最大的矩形·单调递增栈
无心剑七绝《七夕牵手》
可视化大屏丑?这篇文章教你如何做美观大屏!
初学爬虫笔记(收集数据)
UWP WPF 解决 xaml 设计显示异常
Go 事,如何成为一个Gopher ,并在7天找到 Go 语言相关工作,第1篇
07-输入输出系统
LeetCode·每日一题·1403.非递增顺序的最小子序列·贪心
74行代码实现浪漫的红心下落的动画效果
如何实时监控销售数据?销售看板来帮你!
GET 和 POST 请求的区别
学 Go,最常用的技能是什么?打日志
进程间通信方式
面了三十个人,说说真实感受
平稳发展 | 西欧地区手游玩家的数据和洞察
5 基本引用类型
一文详解什么是软件部署
阿尔萨斯监控平台&普罗米修斯监控平台对服务器资源的监控
跟我学 UML 系统建模