博客阅读更好

虽然这道题是紫题,但实际难度应该是橙题吧

首先,看到标签……

紫题?但题目也太…… 这道题教会我们不要看标签

好了,废话少说,看到楼下许多大佬都用了数组,但我觉得可以不用

为什么? 我也弄不清楚

因为是 1 ~ n ,所以大家想到了什么呢?

对辣!就是

等差数列!

而且是最简单的首项为1,公差也为1的等差数列

相信大佬们都知道等差数列的公式吧!

( 首项 + 末项 ) × 项数 ÷ 2

这就好办了!

我们只要将 1 ~ n 的和记下来,再减去那 n - 1 个数的和,不就可以算出剩下的那个数了吗?

还有一个。

1 到 100000 的和是 ( 1 + 100000 ) × 100000 ÷ 2 = 5000050000

而 int 的储存上限为 2147483647

大家应该知道我要说什么了吧

一定要开 long long !

而且,我的最爱——快读也可以用上

快读?

是不是 如雷贯耳

是不是 久仰大名

是不是仔细想想,咦?快读到底是干嘛的? 尴尬

本蒟蒻查了一下,快读就是快速读入 (从字面上来理解)

快读的原理就是将一个整数转化为先输入一个字符,再将其转化为整数。大家应该都知道,字符 0 的 ASCII 码是 48 ,那么,所有字符数字对应的整数是否就应该转化为它的 ACSII 码减去48 ( 即字符 '0' ) 呢?(从本义上来理解)

显然是的。 其实我也不知道为什么会这样,但是测大数据时将一目了然

那么,具体应该怎么实现呢?

快读代码重磅来袭

int read(){//快读
    ,f=;//r为计数器,f为标志,看是正数还是负数
    char c=getchar();//先读入c
    ')&&c!='-')
        c=getchar();//为别的符号时直接读入,不管它是什么
    if(c=='-')//如果读入了负号,标记置-1,为后面做铺垫
        f=-,c=getchar();
    ')//开始读入数字
        r=r*+c-',c=getchar();//r开始转化为多位数
    return r*f;//若标记f=1则为正数,f=-1为负数
}

那我觉得也就这些了吧 应该是我太蒟才这样的

下面放出完整代码!!

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;//先定义了ll(取首字母),否则待会儿手写有点儿麻烦
ll n,i,a,s;//使用ll
ll read(){//快读
    ll r=,f=;
    char c=getchar();
    ')&&c!='-')
        c=getchar();
    if(c=='-')
        f=-,c=getchar();
    ')
        r=r*+c-',c=getchar();
    return r*f;
}
int main(){
    n=read();//n的read读入方式,get一下
    ;i<n;i++)//记住是n-1个数
        a=read(),s+=a;
    printf()*n/-s);//根据上面公式
    ;
}

O I 加油!洛谷冲鸭!

题解 CF440A 【Forgotten Episode】的更多相关文章

  1. Codeforces Testing Round #10 A. Forgotten Episode

    水题,注意数据范围 #include <iostream> using namespace std; int main(){ long long n,a; cin >> n; ...

  2. 【题解】CF611H New Year and Forgotten Tree

    [题解]CF611H New Year and Forgotten Tree 神题了... 题目描述 给定你一棵树,可是每个节点上的编号看不清了,只能辨别它的长度.现在用问号的个数代表每个节点编号那个 ...

  3. 【题解】CF#611 H-New Year and Forgotten Tree

    有趣啊~手玩一下这棵树,发现因为连边只对相连点的位数有限制,我们可以认为是在往一棵已经有 m 个结点的树上挂叶子结点直到满足要求.(m = log(10) n).注意由于 m 超级无敌小,我们可以直接 ...

  4. 题解 CF611H 【New Year and Forgotten Tree】

    Solution 提供一种新思路. 首先考虑如何判断一个状态是否合法. 考虑把所有十进制长度一样的数缩成一个点. 这样的点的个数 \(\le 5\). 蒟蒻猜了一个结论:只要满足对于所有缩出来的点的子 ...

  5. 2016-2017 CT S03E06: Codeforces Trainings Season 3 Episode 6(8/13)

    2016-2017 CT S03E06: Codeforces Trainings Season 3 Episode 6 比赛连接: http://codeforces.com/gym/101124/ ...

  6. VK Cup 2016 - Round 1 (Div. 2 Edition) C. Bear and Forgotten Tree 3 构造

    C. Bear and Forgotten Tree 3 题目连接: http://www.codeforces.com/contest/658/problem/C Description A tre ...

  7. IndiaHacks 2016 - Online Edition (Div. 1 + Div. 2) E. Bear and Forgotten Tree 2 bfs set 反图的生成树

    E. Bear and Forgotten Tree 2 题目连接: http://www.codeforces.com/contest/653/problem/E Description A tre ...

  8. 2016 华南师大ACM校赛 SCNUCPC 非官方题解

    我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...

  9. noip2016十连测题解

    以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...

随机推荐

  1. 基于thinkphp5的Excel上传

    涉及知识点: thinkphp5.0: excel上传: mysql建立新表(基本的create语句): mysql ignore(避免重复插入): 主要功能: 通过在视图中上传excel文件,在my ...

  2. BAT或赌在当下或押在未来,谁是王者?

    转自:http://www.tmtpost.com/97132.html 百度阿里和腾讯三家本来的核心业务并不冲突,各守一方阵地,但随着各自的收购注资加上业务的延展而慢慢有了交际,阿里和腾讯在移动支付 ...

  3. bzoj 2406: 矩阵【二分+有源汇上下界可行流】

    最大值最小,所以考虑二分 |Σaij-Σbij|<=mid,所以Σbij的上下界就是(Σaij-mid,Σaij+mid) 考虑建有上下界网络,连接(s,i,Σaik-mid,Σaik+mid) ...

  4. [Xcode 实际操作]九、实用进阶-(20)创建位移关键帧动画:通过添加运动关键点制作位移动画

    目录:[Swift]Xcode实际操作 本文将演示如何通过添加运动关键点的方式,来制作位移动画 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIK ...

  5. RN初始化项目报错

    解决方法:全局删除yarn

  6. 基于http的软件仓库

    这是企业中常用的方法 比如一台服务器准备好了,公司必然要安装一些应用 这时可以用这种方法批量安装应用 运行一条命令,服务器就会自己去连接软件仓库,去下载来安装. [root@webmaster htm ...

  7. Qt 2D绘图之五:图形视图框架的结构和坐标系统

    一.图形视图框架的结构 在前面讲的基本绘图中,我们可以自己绘制各种图形,并且控制它们.但是,如果需要同时绘制很多个相同或不同的图形,并且要控制它们的移动.检测它们的碰撞和叠加:或者我们想让自己绘制的图 ...

  8. 按位&按位|按位~的详解

    十进制转二进制: 例:十进制(5)---->二进制(00000101) 将整数除二取余,继续用除二的结果除二取余,最后将结果从下往上连接起来,不足八位,前面填0 二进制转十进制 例:二进制(00 ...

  9. Java面试:投行的15个多线程和并发面试题(转)

    多线程和并发问题已成为各种 Java 面试中必不可少的一部分.如果你准备参加投行的 Java 开发岗位面试,比如巴克莱银行(Barclays).花旗银行(Citibank).摩根史坦利投资公司(Mor ...

  10. STL使用迭代器逆向删除

    网上有很多这种例子: void erase(vector<int> &v) { for(vector<int>::reverse_iterator ri=v.rbegi ...