就是这道我写的新题,本来是一道有9+N个懂点的题目,但是我不会做,于是交给电脑,加了难度,但是什么也没有,数据样例也没有(太大了,暴力弄不出来),有会的吗,告诉我方法呗!题目是这样的:
你作为一个研究员,发现了一个一维粒子——幽灵一维粒子。这种粒子会在一条一维线上运动。
这种粒子有一个特性:在“一堆”例子中(可能分堆),有一个中点,你把它叫做O点,不会移动,没有任何用处,不过是个“轴心点”。其他点都有一个单位速度,以秒来运动,一但在“轴线点”O左边,则向右移动,而其他的点向左移动(如一点,它的单位速度时8,一开始在123,向左运动,则一秒后,来到了123−8=115)。
一但某两点相撞(不包括“轴心点”O),就会产生一个新粒子,他的速度是1,方向是两点中速度快的那一个。而这两个点,则在经过一串过程以后,以+7的速度反向运动。当然,在S(S>0且S为运动时间的9倍),这个点会将速度增加3。
这些点还会爆炸!!你发现,某个点一但速度高于M,则这个点会“爆炸”消失,并波及到左边“速度”范围,右边速度范围的点(如:一点的速度为50,此时点在91,而M为49,这个点会爆炸,并波及(91−50)到91,91到(91−50)这些范围中的点),并让这些点消失。若有多个,则会同时爆炸。
这里有N个点,分别在一条数轴上。位置在O点左边的为负数(距离O的负距离),否则为正数(距离O的正距离)。以及它们的起始速度,以及一个爆炸最小值M。
现在你有2个问题:
(1) 在X秒后,会有几个点(包括新的点),输出数量,并从左到右的顺序输出点位;
(2) 在多少秒后,所有点消失?
共4行输入
第一行两个整数N和M,表示点数和爆炸最小值
第二个N个数,表示点的相对位置(在O点左边的负数,右边的正数)
第三行N个值,表示启示速度值
第四行一个正整数X
共4行。
第一行一个整数,表示X秒后,会有多少点
第二行表示X秒后每个点的位置(从左往右)
第三行一个值,指多少秒后所有点消失。
/*
作者还在playing,等待样例和数据……
*/
/*
作者还在playing,等待样例和数据……
*/
对于50%的数据,N<=103;
对于100%的数据,N<=105,X<=105,点位<=106
目前还没还有数据
作者在造数据
一旦有数学做法
题目变为黄题的!
注意,暴力只能拿50分,但是目前还没找到比暴力更好的方法……
这题其实是一道数学题,是我在期中考试之后出的一道9+X(X会不停在碰撞中增加)个动点的题目,没人做出来,于是思考用电脑。
这是原题目:
在数轴上,有10个点,分别是A、B、C、D、E、F、G、H、I、J,分别在-91,−82,−56,−32,−15,−2,9,19,29,58。现在,有9个动点,分别在每个点的正中央。他们的速度分别为25,12,15,35,4,1,1,43,68,67。
一但某两点相撞,就会产生一个新粒子,他的速度是1,方向是两点中速度快的那一个。而这两个点,则在经过一串过程以后,以+7的速度反向运动。当然,在在S(S>0且S为运动时间的9倍),这个点会将速度增加3。
这些点还会爆炸!!某个点一旦速度高于100,则这个点会“爆炸”消失,并波及到左边“速度”范围,右边速度范围的点(如:一点的速度为50,此时点在91,而M为49,这个点会爆炸,并波及(91−50)到91,91到(91−50)这些范围中的点),并让这些点消失。若有多个,则会同时爆炸。
(1) 问:这些动点一开始分别在哪里?
(2) 在72秒后,会有几个点(包括新的点),输出数量,并从左到右的顺序输出点位;
(3) 在多少秒后,无法产生爆炸?