a[i] <= a[i+1] <= 2*a[i] 可得,0 <= a[n] - a[n-1] <= a[n-1],这样记a[n]-a[n-1] 为tem,
则 若tem-a[n-2] >= 0,则令tem = tem - a[n-2],此时 0 <= tem <= a[n-2](a[n-1] - a[n-2] <= a[n-2]),
若 tem-a[n-2] < 0 ,则令tem = a[n-2] - tem,此时 0 <= tem <= a[n-2],这样不停的维护使 0 <= tem <= a[i]
,最后直到a[1] 都满足,解就构造出来了。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <map>
#include <set>
#include <vector>
#include <queue>
#include <stack>
#include <algorithm>
#include <list>
using namespace std;
typedef long long LL;
const int maxn = 100000 + 5;
const int INF = 1000000000;
LL a[maxn];
int ans[maxn];
int tag[maxn];
int main(){
int n;
while(cin >> n){
for(int i = 0;i < n;i++) cin >> a[i];
LL tem = a[n-1] - a[n-2];
ans[n-1] = 1;
ans[n-2] = 0;
memset(tag,0,sizeof(tag));
for(int i = n - 3;i >= 0;i--){
if(tem - a[i] >= 0){
ans[i] = 0;
tem = tem - a[i];
}
else{
ans[i] = 1;
tag[i] = 1;
tem = a[i] - tem;
}
}
int cnt = 0;
for(int i = 0;i < n;i++){
if((ans[i]+cnt)%2 == 1) cout << '+';
else cout << '-';
cnt += tag[i];
}
cout << endl;
}
return 0;
}

CF 159 div2 d相关推荐

  1. CF 400 div2

    从昨天周赛开始,要耍CF了~ 开始还害怕个人赛自己数论压根不会怎么办,发现CF全是乱搞的题orz 但是就算是乱搞的也不能1A  T^T 犯的错误基本上都是没有把情况归类导致要么是情况想少了,要么是细节 ...

  2. CF #253 div2

    2014-06-20 12:07:33 A,hash水过.B的话看到这么小的数据量,必然是暴搜,为了节约时间连剪枝都去了.C,数学公式推导,赛后才A,郁闷(QAQ).(这场round比较诡异的是,到最 ...

  3. CF #673 div2 赛后总结

    文章目录 前言 A B C D E F 前言 完成成就:在学校熬夜熬到1点 第一次CF打比赛就炸成这个样子 A 题目翻译: 一个长度为 n n n的数组,每次选择 i , j ( 1 ≤ i , j ...

  4. 【CF#468 div2 D. 】Peculiar apple-tree(思维)

    题干: In Arcady's garden there grows a peculiar apple-tree that fruits one time per year. Its peculiar ...

  5. cf#644 div2 B. Boboniu Plays Chess

    惯例,粘个生草翻译 这题比第一题还简单(简单多了 ) 虽然题面不短,但仔细读就会发现条件不多 刚开始我误以为是一笔画的题,但题中的棋子不同,他是車 ,棋子可以直接跳过一个点,也就是上下左右随便走,那就 ...

  6. CF 868 div2 A—C

    A 题就是一个预处理然后进行枚举 首先数据范围不是很大 然后我们依照题意看看如何构造出对应的要求,也就是说我们需要在不同的下标下使得 ai*aj=1 那么只有1 1 或者-1 -1 那么这个不管是1 ...

  7. 【CF #781 Div2】A-C

    A. GCD vs LCM 题目 分析 给一个数n,使满足条件: a+b+c+d=n,ab的最大公因数为,cd的最小公倍数. b,c,d值都为1,最大公因数及最小公倍数都为1,a=n-3 代码 #in ...

  8. 【CF #777 div2】A-C

    A. Madoka and Math Dad 题目 分析 给一个n,构造一个数字,使这个数字每位和为n且这个数字相邻各位不能相等,且这个数是所有数中最大的. 要使数字最大,肯定要使位数尽可能的多,而且 ...

  9. [cf] 752 div2 B. XOR Specia-LIS-t

    前言 tag:tag:tag:异或 思维 贪心 *1100 传送门 : 题意 : 给定一个数组,询问 是否可以将数组分为任意段,使得每段中的最长上升子序列的异或值为000 思路 : 我们分贪心的分奇偶 ...

最新文章

  1. Centos7下的Ambari安装
  2. Redis AOF 全持久化
  3. 数字语音信号处理学习笔记——语音信号的同态处理(2)
  4. 欢迎来到OpenGL的世界
  5. [转]大话企业级Android应用开发实战 音乐播放器的开发
  6. Hadoop 使用FileSystem API 读取数据
  7. Xlua中的util脚本中的async_to_sync方法 记录
  8. hive shell 导入数据
  9. 计算机组成原理—地址码
  10. Oracle笔记(九) 表的创建及管理
  11. 用matlab设计模糊控制器
  12. CentOS6.x安装方法超详细教程
  13. 微信小程序web-view 外部引用h5页面调用摄像头录制视频 配有提示音
  14. 微信开发 Weixin JS接口 隐藏微信中网页底部导航栏
  15. 服务器微信了早上好,每天问候早上好的微信话语
  16. 七十年代译制片机器人的_老电影合集,怀旧经典电影,50,60,70,80年代,战争片,故事片,译制片...
  17. 计算机如何显示e盘文档,我把电脑E盘里文件隐藏了,怎么弄可以显示出来!
  18. 【Cloudaily】Elastic Stack 5.2.0 版本发布,Uber免费开放全球20亿行程数据
  19. 常用的CSS默认样式
  20. 前端开发薪资之各地区对比(图文分析)(share)

热门文章

  1. Apache Doris 03|杂问题记录和案例测试
  2. 价值1000元的Python原创文档,涉及“Python基础“、“Python自动化“等,免费分享!
  3. 数据中心综合布线-高密度模块化角型配线架
  4. GMAT语法的复习技巧
  5. 数字图像处理 空间滤波机理
  6. linux 目录只读,解决Linux文件系统变成只读的方法
  7. 朴素匹配算法、KMP匹配算法及其改进【C Program】
  8. 晶赞科技:BDU数联平台为数据流动提供新思路
  9. 如何在python中安装Gurobi(详细教程)
  10. 【机器学习】模型选择(交叉验证)原理及实战