codeforces 808d
Array Division
题意:给一个序列,问将一个数调换顺序能否使得序列分为连续的2段后,2段的和相同;
思路:模拟,注意一点,可能第一个数就大于sum/2,所以要1-n模拟一遍再n-1模拟一遍,具体看代码
AC代码:
#include "iostream" #include "iomanip" #include "string.h" #include "stack" #include "queue" #include "string" #include "vector" #include "set" #include "map" #include "algorithm" #include "stdio.h" #include "math.h" #pragma comment(linker, "/STACK:102400000,102400000") #define bug(x) cout<<x<<" "<<"UUUUU"<<endl; #define mem(a,x) memset(a,x,sizeof(a)) #define step(x) fixed<< setprecision(x)<< #define mp(x,y) make_pair(x,y) #define pb(x) push_back(x) #define ll long long #define endl ("\n") #define ft first #define sd second #define lrt (rt<<1) #define rrt (rt<<1|1) using namespace std; const ll mod=1e9+7; const ll INF = 1e18+1LL; const int inf = 1e9+1e8; const double PI=acos(-1.0); const int N=1e5+100;ll n,a[N],sum,now; map<ll,int> M1,M2; int main(){scanf("%lld",&n);for(int i=1; i<=n; ++i){scanf("%lld",a+i);sum+=a[i], M1[a[i]]++, M2[a[i]]++;}if(sum&1){cout<<"NO\n";return 0;}for(int i=1; i<n; ++i){ll x=(sum/2)-now;if(M1[x]>0){cout<<"YES\n";return 0;}now+=a[i], M1[a[i]]--;}now=0;for(int i=n; i>1; --i){ll x=(sum/2)-now;if(M2[x]>0){cout<<"YES\n";return 0;}now+=a[i], M2[a[i]]--;}cout<<"NO\n";return 0; }
转载于:https://www.cnblogs.com/max88888888/p/7638070.html
codeforces 808d相关推荐
- 【Codeforces】808D Array Division(前后两部分和相等)
http://codeforces.com/contest/808/problem/D 给你一个数组,问:是否可以通过移动一个数字的位置,求只能移动一次,使得这个数组前后部分的和相等,前后部分不一定等 ...
- CodeForces 375D Tree and Queries
传送门:https://codeforces.com/problemset/problem/375/D 题意: 给你一颗有根树,树上每个节点都有其对应的颜色,有m次询问,每次问你以点v为父节点的子树内 ...
- 「日常训练」Bad Luck Island(Codeforces Round 301 Div.2 D)
题意与分析(CodeForces 540D) 是一道概率dp题. 不过我没把它当dp做... 我就是凭着概率的直觉写的,还好这题不算难. 这题的重点在于考虑概率:他们喜相逢的概率是多少?考虑超几何分布 ...
- 【codeforces 812C】Sagheer and Nubian Market
[题目链接]:http://codeforces.com/contest/812/problem/C [题意] 给你n个物品; 你可以选购k个物品;则 每个物品有一个基础价值; 然后还有一个附加价值; ...
- CodeForces 获得数据
针对程序的输出可以看见 CodeForces :当输入.输出超过一定字符,会隐藏内容 所以:分若干个程序进行输入数据的获取 1. 1 for (i=1;i<=q;i++) 2 { 3 scanf ...
- codeforces水题100道 第二十七题 Codeforces Round #172 (Div. 2) A. Word Capitalization (strings)...
题目链接:http://www.codeforces.com/problemset/problem/281/A 题意:将一个英文字母的首字母变成大写,然后输出. C++代码: #include < ...
- CodeForces 595A
题目链接: http://codeforces.com/problemset/problem/595/A 题意: 一栋楼,有n层,每层有m户,每户有2个窗户,问这栋楼还有多少户没有睡觉(只要一个窗户灯 ...
- codeforces A. Jeff and Digits 解题报告
题目链接:http://codeforces.com/problemset/problem/352/A 题目意思:给定一个只有0或5组成的序列,你要重新编排这个序列(当然你可以不取尽这些数字),使得这 ...
- Codeforces Round #506 (Div. 3)
Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...
最新文章
- .NET Garbage-Collectors
- html制作背景音乐,HTML插入背景音乐方法【全】
- canvas绘制阴影
- MetaException(message:Hive Schema version 3.0.0 does not match metastore's schema version 1.2.0 Meta
- 数据挖掘之数据预处理
- 技术人生“白天求生存,晚上谋发展”
- 【计算机组成原理】指令系统
- cas client 更新ticket_cas sso单点登录系列6_cas单点登录防止登出退出后刷新后退ticket失效报500错...
- Uploadify 控件上传图片 + 预览
- 通俗理解什么是隐马尔科夫模型(hmm)
- MATLAB零基础入门教程视频课程
- 手机怎么查看连接过的wifi密码
- 艾默生首席执行官范大为退休;液化空气将新建生产装置为京东方供应气体 | 美通企业日报...
- 什么是路由器 路由器和路由器之间怎么连接
- n-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter convertView
- 大型多人在线游戏服务器架构设计
- 慕课python下载_python下载小说
- 巴塞罗那WASM IO大会
- 图网络可解释性(2)
- Java—方法的使用