题意:

一个数组,长度小于5*1e5,每一次你都可以选择数组中的一个数字,用这个数字将它左右两边相邻的数字吃掉,则被吃掉的数字消失,当前数字的权值变为x-y,使得最后数组中只剩一个元素的时候,使那个元素最大,询问元素最大值。

思路:

其实本题就是一个简单贪心,只需要进行一下简单的分类讨论。

1.如果序列中的数有正有负,则答案为序列中所有数字绝对值之和。

2.如果序列中的数全部为正,则选出序列中最小的那个数字,将其他数字的和相加,减去这个最小的数字。

3.如果序列中的数全部为负,则同2。

这样一剖析的话,就可以发现贪心策略非常简单......至于怎么发现的呢,显然我当时是没有发现的,或许是多找一种情况然后进行分类讨论pa......

反思:

现在就是大型批斗环节了。

这么简单的一个贪心题,你居然看了题目两三眼,然后看一下学长都没过,就开始卜中用的瞎写了!

我直接给每一个点赋了一个吃掉左右两边能够变成的最小值,然后写了个线段树进行区间查找最小值,找到之后再删掉这个点,然后继续找,直到只剩下两个点位置......我怎么可以如此愚蠢......

比赛结束以后,一看学长的代码我就懵逼了,这是什么时候的事情......我什么时候变得这么蠢的......

相当令人感到不适了。

总结一下把。以后切比赛的时候,一定不要有一种自己比不过别人的心态,看到学长之后一下就过了,就应该想到绝对是一个简单题,肯定不难啊!学长并没有强多少,千万不要有一种比不过是正常的这样一种心态。

其次就是以后看题一定要仔细!

明明你这个算法连样例都跑不过去,你就直接写了,真的是蠢到天上去了,我都无力吐槽了。

今后看到问题,如果有想法,就立刻用样例进行想法检验,检验完了之后最好再写一两个例子进行验证,感觉没有问题了再进行代码实现。

千万不要感觉是这样,就直接开始码了,这样实在太zz了!

代码:

#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cstring>
#define rep(i,a,b) for(int i = a;i <= b;i++)
using namespace std;
const int N = 5*1e5+100;
typedef long long ll;
const ll inf = 1e16;ll a[N];
ll ans;
int n;
ll minn,maxn;ll abss(ll x)
{if(x < 0) return -x;else return x;
}int main()
{scanf("%d",&n);rep(i,1,n) scanf("%I64d",&a[i]);ans = 0;if(n == 1)printf("%I64d\n",a[1]);else if(n == 2){ans = -inf;ans = max(a[1]-a[2],a[2]-a[1]);printf("%I64d\n",ans);}else{minn = inf, maxn = -inf, ans = 0;rep(i,1,n){ans += abss(a[i]);minn = min(minn,a[i]), maxn = max(maxn,a[i]);}if(maxn > 0 && minn < 0)printf("%I64d\n",ans);else if(minn >= 0)printf("%I64d\n",ans-2*minn);else if(maxn <= 0)printf("%I64d\n",ans+2*maxn);}return 0;
}

【Codeforces Round #508 (Div. 2)】Slime【简单贪心】相关推荐

  1. Codeforces Round #459 (Div. 2) C 思维,贪心 D 记忆化dp

    Codeforces Round #459 (Div. 2) C. The Monster 题意:定义正确的括号串,是能够全部匹配的左右括号串. 给出一个字符串,有 (.). ? 三种字符, ? 可以 ...

  2. Codeforces Round #646 (Div. 2) E(贪心,bfs)

    Codeforces Round #646 (Div. 2) E 题目大意: 给一棵树,每个节点有三个权值 A,B,C, (B,C为0或1),每次你可以花费 A[u] *k的代价让A子树中的任意 k ...

  3. Codeforces Round #392(div 2) 758D (贪心)

    orz 最近被水题卡+FST,各种掉rating 题目大意 一个数s它是n进制的,但是每一位不是用'A','B'....表示的,而是用10,11等等表示的,将它还原成十进制 这种表示方法显然会产生多解 ...

  4. Codeforces Round #382 (Div. 2)B. Urbanization 贪心

    B. Urbanization 题目链接 http://codeforces.com/contest/735/problem/B 题面 Local authorities have heard a l ...

  5. Codeforces Round #192 (Div. 1) A. Purification 贪心

    A. Purification Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/329/probl ...

  6. Codeforces Round #579 (Div. 3) E. Boxers (贪心)

    题目链接:https://codeforces.com/contest/1203/problem/E 思路:一开始想的是记录数字出现次数,看每个数字的三种变化能否产生新数,但是这样容易多算或者少算答案 ...

  7. szu cf集训Codeforces Round #631 (Div. 2)A ~ D[贪心,数据结构,思维,dp]

    A. Dreamoon and Ranking Collection 题意:题意不太好理解.简单来讲就是,给出一组数,能从1最多数到几,不够的用数来填,最多填x次.思路:代码很简单-先出现过的地方肯定 ...

  8. Codeforces Round #579 (Div. 3)--Boxers(贪心,排序)

    题目链接 题意: 给定n个质量为ai的盒子,每个盒子质量都可以改变不超过1的单位质量,求能够选出的互不相同的质量的盒子的最大数目. 题目条件: 1<=n<=150000,1<=ai& ...

  9. CF1734D Codeforces Round #822 (Div. 2) Slime Escape

    cf传送门 题意 有一排 n n n个史莱姆,每个都有一个初始生命值(可以为负), 操作一开始在 k k k的史莱姆,每次操作可以向左或向右,合并掉该位置的史莱姆,加上其生命值,并保证任意时候生命值非 ...

  10. Codeforces Round #700 (Div. 2) D2 Painting the Array II(最通俗易懂的贪心策略讲解)看不懂来打我 ~

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 整场比赛的A ~ E 6题全,全部题目超高质量题解链接: Codeforces Round #700 ...

最新文章

  1. Facebook 发布深度学习工具包 PyTorch Hub,让论文复现变得更容易
  2. 今天安装VisualSVN 不小心删掉了安装目录,再次安装 修改 移除提示UninstallWMISchemaExecute (0x8004401e) when updating VisualSV
  3. 016_css()方法
  4. memcache-session-manager(flexjson)
  5. Linux正则表达式判断是否是数字示例
  6. jQuery Mobile页面返回无需重新get
  7. 剑指offer之把字符串里面空格替换成百分之20[时间复杂度是O(n)]
  8. python 发送邮件的两种方式【终极篇】
  9. shopxo二次开发:博客系统项目 (后台使用 - 教程篇)
  10. 《python透明人士,他是凭什么成为主流编程的宠儿?!》Python 正则表达式
  11. 【Cocos2D-X 】初窥门径(9)播放音乐/音效
  12. 本週主題 -- Jakarta Commons Lang
  13. java小程序之学生信息_java小程序之学生信息录入界面
  14. 思科3560交换机端口限速
  15. matlab与焓湿图,湿空气性质与焓湿图应用
  16. 快来,女神节已过,这边的大奖还没人领~【每一个女性都值得被赞美】 ——用ADC制奖状,赢大奖
  17. [Swift] 成语我抖Wordle成语猜谜游戏
  18. 打印机服务器不存在修复,win10电脑安装打印机提示处理器不存在_win10添加打印机错误“打印处理器不存在的修复办法-爱纯净...
  19. 纯小白如何拥有一个自己的服务器,并建立网站?
  20. sqlserver故障转移集群和alwayson的区别_详解SQL Server 2016 + AlwaysOn 无域集群

热门文章

  1. 关于#pragma warning 用法的研究
  2. Windows Server 2008 使用蓝牙的问题
  3. 银行的起源---》阮一峰,
  4. 流浪北京的日子(二)
  5. wordpress建立二级导航菜单
  6. python中文件打开的合法模式组合_python中各种文件打开模式
  7. python调用库roc_curve()_解决ROC曲线画出来只有一个点的问题
  8. 美团校招提前批 移动端开发 一面 二面 面经
  9. 山大824计算机基础,山大考研辅导班:山东大学2020年824计算机基础考研自命题科目考试大纲...
  10. 计算机教育考试多少分及格,全国职称计算机考试多少分及格?