长春理工大学第十四届程序设计竞赛(重现赛)H.Arithmetic Sequence
题意:
数竞选手小r最喜欢做的题型是数列大题,并且每一道都能得到满分。
你可能不相信,但其实他发现了一个结论:只要是数列,无论是给了通项还是给了递推式,无论定义多复杂,都可以被搞成等差数列。这样,只要他精通了等差数列,他就能做出任何数列题目。
等差数列是数列的一种。在等差数列中,任何相邻两项的差相等,该差值称为公差。例如数列3,5,7,9,11,13,⋯3,5,7,9,11,13,⋯就是一个等差数列。 在这个数列中,从第二项起,每项与其前一项之差都等于2,即公差为2。
小r熟知等差数列的各种公式:如果一个等差数列的首项标为a1a1,公差标为d,那么该等差数列第n项的表达式为
an=a1+(n−1)dan=a1+(n−1)d
等差数列的任意两项之间存在关系
an=am+(n−m)dan=am+(n−m)d
和为SnSn,首项a1a1,末项 anan,公差d,项数n,同时可得
Sn=a1+a2+a3+⋯+an=∑n−1i=0(a1+id)=n(a1+an)2=n[2a1+(n−1)d]2Sn=a1+a2+a3+⋯+an=∑i=0n−1(a1+id)=n(a1+an)2=n[2a1+(n−1)d]2
为什么他这么熟练呢?因为小r在小时候就发现这个公式了。在他三年级的时候,他的老师让学生们做从1加到100的习题。小r很快发现数列的规律,用上面的公式得出了5050的答案。于是小r在后来编写你的教科书的时候,经常把如上公式写成一个等差数列的和等于其首项与末项的和乘以项数除以2。
顺便一提,小r在证明上面的公式时,使用了自创的伪证法,先做假设再证明,为世人所称道:
先证n=1时该公式成立:等式左边=a1=a1,等式右边=a1+a12=a1=a1+a12=a1(需注意在此时首项和末项均为a1a1),两边相等,得证。
再假设n=k时该公式成立,有Sk=(a1+ak)k2=[2a1+(k−1)d]k2。Sk=(a1+ak)k2=[2a1+(k−1)d]k2。
现在证明n=k+1时该公式成立:
Sk+1=Sk+ak+1=(2a1+(k−1)d)k2+a1+kdSk+1=Sk+ak+1=(2a1+(k−1)d)k2+a1+kd
=2a1k+2a1+k2d+kd2=(2a1+kd)(k+1)2=(a1+ak+1)(k+1)2, 因为=2a1k+2a1+k2d+kd2=(2a1+kd)(k+1)2=(a1+ak+1)(k+1)2,
ak+1=a1+kd,所以,得证。 看到这里,你不由得发出赞叹:为什么小r这么强呢? 然而,强如小r,是不屑于计算一些琐碎的计算的。现在小r给了你一个数X,要求你搞出一个等差数列a使得 ak+1=a1+kd
Sn=a1+a2+a3+⋯+an=∑n−1i=0(a1+id)=n(a1+an)2=X
思路:
做出等差数列,只需做出1项的等差数列即可。
代码:
#include<bits/stdc++.h>
using namespace std; int main()
{
int n;
cin >> n;
cout << 1 << endl;
cout << n << endl;
return 0;
}
长春理工大学第十四届程序设计竞赛(重现赛)H.Arithmetic Sequence的更多相关文章
- 长春理工大学第十四届程序设计竞赛(重现赛)M.Orx Zone
链接:https://ac.nowcoder.com/acm/contest/912/M 题意: Daenerys Stormborn, 风暴中出生的丹尼莉丝,the Unburnt, 烧不死的,Qu ...
- 长春理工大学第十四届程序设计竞赛(重现赛)L.Homework Stream
链接:https://ac.nowcoder.com/acm/contest/912/L 题意: 作为大珩班尖子生,小r每天有很多作业要完成,例如工图.工图和工图. 很显然,做作业是要有顺序的.作业之 ...
- 长春理工大学第十四届程序设计竞赛(重现赛)J.Printout
链接:https://ac.nowcoder.com/acm/contest/912/J 题意: 小r为了打校赛,他打算去打字社打印一份包含世界上所有算法的模板. 到了打字社,小r一看价格:总打印页数 ...
- 长春理工大学第十四届程序设计竞赛(重现赛)I.Fate Grand Order
链接:https://ac.nowcoder.com/acm/contest/912/I 题意: Fate Grand Order是型月社发行的角色扮演类手机游戏,是著名的氪金抽卡"垃圾&q ...
- 长春理工大学第十四届程序设计竞赛(重现赛)F.Successione di Fixoracci
链接:https://ac.nowcoder.com/acm/contest/912/F 题意: 动态规划(Dynamic programming,简称dp)是一种通过把原问题分解为相对简单的子问题的 ...
- 长春理工大学第十四届程序设计竞赛(重现赛)B.Bowling Game
链接:https://ac.nowcoder.com/acm/contest/912/B 题意: 链接:https://ac.nowcoder.com/acm/contest/912/B来源:牛客网 ...
- 长春理工大学第十四届程序设计竞赛(重现赛)J
J.Printout 题目:链接:https://ac.nowcoder.com/acm/contest/912/J 题目: 小r为了打校赛,他打算去打字社打印一份包含世界上所有算法的模板. 到了打字 ...
- 长春理工大学第十四届程序设计竞赛(重现赛)I
I.Fate Grand Order 题目链接:https://ac.nowcoder.com/acm/contest/912/I 题目: Fate Grand Order是型月社发行的角色扮演类手机 ...
- 长春理工大学第十四届程序设计竞赛(重现赛)L
L.Homework Stream 题目链接:https://ac.nowcoder.com/acm/contest/912/L 题目 作为大珩班尖子生,小r每天有很多作业要完成,例如工图.工图和工图 ...
随机推荐
- 让loadrunner走下神坛(全)
作者: sunshinelius(转载请注明作者) Loadrunner无疑是一个强大有力的压力测试工具.它的脚本可以录制生成,自动关联:测试场景可以面向指标,多方监控:测试结果图表显示,拆分组合.相 ...
- laravel基础课程---10、数据库基本操作(如何使用数据库)
laravel基础课程---10.数据库基本操作(如何使用数据库) 一.总结 一句话总结: 1.链接数据库:.env环境配置里面 2.执行数据库操作:DB::table('users')->up ...
- selenium总结
个人对selenium的理解: 1.使用selenium操作浏览器,实际上是使用selenium框架下的webdriver启动各浏览器的驱动实现对浏览器的操作的.以下两句代码即可启动firefox浏览 ...
- wingide 显示中文 及 配色方案
http://lihuipeng.blog.51cto.com/3064864/923231 网上收集的方法: 显示中文: 任意文本编辑器打开:x:\Wing IDE\bin\gtk-bin\etc\ ...
- 「P4996」「洛谷11月月赛」 咕咕咕(数论
题目描述 小 F 是一个能鸽善鹉的同学,他经常把事情拖到最后一天才去做,导致他的某些日子总是非常匆忙. 比如,时间回溯到了 2018 年 11 月 3 日.小 F 望着自己的任务清单: 看 iG 夺冠 ...
- ACM学习历程—Codeforces 446C DZY Loves Fibonacci Numbers(线段树 && 数论)
Description In mathematical terms, the sequence Fn of Fibonacci numbers is defined by the recurrence ...
- ACM学习历程—HDU4956 Poor Hanamichi(模拟)
Poor Hanamichi Problem Description Hanamichi is taking part in a programming contest, and he is assi ...
- 【Lintcode】069.Binary Tree Level Order Traversal
题目: Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to ri ...
- 51nod 1218 最长递增子序列 V2——LIS+思路(套路)
题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1218 自己怎么连这种 喜闻乐见的大水题 都做不出来了…… 好像见过 ...
- 一次LVS+MySQL的主主负载均衡实战
这是去年做的一个项目的记录,如果大家有更好的解决方案,欢迎指出. 先说说项目需求,用户需要在两个地市部署两套应用系统和两套数据库,在一个地市主用,在另一个热备:数据要互备:而且如果主用地市流量很大,可 ...