首页 > 代码库 > 【数论Day4】数学 题目

【数论Day4】数学 题目

题解:http://www.cnblogs.com/ljc20020730/p/7041059.html

20170603-1数论_数学

日期

序号

题目名称

输入文件名

输出文件名

时限

内存

算法

难度

09qd02

1

离散函数

function.in

function.out

1s

512MB

数论

1

101021

2

能量采集

energy.in

energy.out

1s

256MB

数论

1

091118

3

大逃亡

escape.in

escape.out

1s

256MB

数论

1

081023

4

最大余数

remainder.in

remainder.out

1s

256MB

数学问题

2

1.离散函数(function.pas/c/cpp)

Dr.VT提出了这样一个和谐问题。如果能回答出这个无比和谐的问题,说明你比Dr.VT更加和谐。请一定要试一试。

这儿有一个离散函数。它自变量的定义域为从1-N的整数。每个函数值的类型均为longint(C++中为signedlong)。你需要去寻找函数图象上的2点,使其满足下列条件:所有处于这2点之间的函数点是在连接这2点的直线的下方的,并且这条直线的斜率最大。

【输入】第一行为一个数N。然后下面N行是分别为对自变量取1-N时函数的值。

【输出】仅一行,一对整数,即题目所求的2个点的横坐标,并且第1个数必须小于第2个数。如果有多解则只需输出第1个数最小的那对数。

【输入样例】

3

2

6

4

【输出样例】1 2

【数据规模】

对于30%的数据,N<=1000

对于其他数据,2<=N<=200000

2.能量采集(energy)

【题目描述】栋栋有一块长方形的地,他在地上种了一种能量植物,这种植物可以采集太阳光的能量。在这些植物采集能量后,栋栋再使用一个能量汇集机器把这些植物采集到的能量汇集到一起。

    栋栋的植物种得非常整齐,一共有n列,每列有m棵,植物的横竖间距都一样,因此对于每一棵植物,栋栋可以用一个坐标(x,y)来表示,其中x的范围是1至n,表示是在第x列,y的范围是1至m,表示是在第x列的第y棵。

    由于能量汇集机器较大,不便移动,栋栋将它放在了一个角上,坐标正好是(0,0)。

    能量汇集机器在汇集的过程中有一定的能量损失。如果一棵植物与能量汇集机器连接而成的线段上有k棵植物,则能量的损失为2k+1。例如,当能量汇集机器收集坐标为(2,4)的植物时,由于连接线段上存在一棵植物(1,2),会产生3的能量损失。注意,如果一棵植物与能量汇集机器连接的线段上没有植物,则能量损失为1。现在要计算总的能量损失。

    下面给出了一个能量采集的例子,其中n=5,m=4,一共有20棵植物,在每棵植物上标明了能量汇集机器收集它的能量时产生的能量损失。

    在这个例子中,总共产生了36的能量损失。

技术分享

【输入文件】一行,为两个整数n和m。

【输出文件】一个整数,表示总共产生的能量损失。

【样例输入1】5 4

【样例输出1】36

【样例输入2】3 4

【样例输出2】20

【数据规模和约定】

    对于10%的数据:1≤n,m≤10;

    对于50%的数据:1≤n,m≤100;

    对于100%的数据:1≤n,m≤1000;

3.大逃亡(escape.c/cpp/pas)

【题目描述】集训马上结束了,但Dr.vt还在做垂死的和谐。为了躲避Dr.vt的和谐,LazyChild展开了生死大逃亡。已知目前的状态是,Dr.vt追LazyChild到了一个十字路口。经过LazyChild目测,他发现自己跟点O的距离是d1,Dr.vt与点O的距离是d2。LazyChild的速度是v1,Dr.vt的速度是v2。

技术分享 

因为Dr.vt有个大招“嘿嘿笑”,可以在一定距离内让对方晕眩。LazyChild怕自己晕眩之后被Dr.vt追上然后被他和谐掉。所以LazyChild拜托你计算,在继续行进的过程中,他跟Dr.vt的距离最小是多少。可以认为两人都做匀速直线运动,也就是说Dr.vt傻到不会在O点处拐弯。

【输入文件】第一行四个整数v2,d2,v1,d1。

【输出文件】一行一个实数,表示最小距离,保留6位小数。

【样例输入】12 130 9 107

【样例输出】163.600000

【数据规模和约定】

对于100%的数据:2<=v1,d1,v2,d2<=1000000000

4.最大余数

【题目描述】设r等于(a-1)n+(a+1)n除以a2的余数,其中a和n都是正整数。

例如,当a=7,n=3时,r=42:63+83=728,728 mod 49=42。当n变化时,余数也会变化,但是可以证明,对于a=7,r最大就是42。对于固定的a,我们将r的最大值记为rmax

给定正整数x和y,对于所有的x<=a<=y,求∑rmax

【输入文件】一行两个正整数x,y。

【输出文件】一个整数,表示∑rmax

【输入样例】4 5

【输出样例】28

【样例说明】

当a=4时,n取1,rmax=8

当a=5时,n取7,rmax=20

【数据规模和约定】

3<=x<=y<=100000

【数论Day4】数学 题目