题目名称 | 1443. [NOIP 2013PJ]小朋友的数字 |
---|---|
输入输出 | number2013.in/out |
难度等级 | ★☆ |
时间限制 | 1000 ms (1 s) |
内存限制 | 128 MiB |
测试数据 | 10 |
题目来源 | 铁策 于2013-11-20加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:84, 提交:547, 通过率:15.36% | ||||
NewBee | 100 | 0.063 s | 7.92 MiB | C++ |
ConanQZ | 100 | 0.114 s | 99.48 MiB | Pascal |
Youngsc | 100 | 0.223 s | 0.13 MiB | C++ |
yxinh | 100 | 0.235 s | 23.20 MiB | C++ |
Jerry | 100 | 0.308 s | 0.29 MiB | C++ |
Shirry | 100 | 0.315 s | 9.27 MiB | C++ |
Aeromantic | 100 | 0.318 s | 0.31 MiB | C++ |
devil | 100 | 0.320 s | 15.57 MiB | C++ |
ImwaOuKur | 100 | 0.323 s | 0.31 MiB | C++ |
天一阁 | 100 | 0.324 s | 19.37 MiB | C++ |
本题关联比赛 | |||
防止浮躁的小练习v0.6 | |||
防止浮躁的小练习v0.6 |
关于 小朋友的数字 的近10条评论(全部评论) | ||||
---|---|---|---|---|
给各位一个十分忠肯的建议:这道题是需要动态规划的!!!!!!!!!!
| ||||
最后一步算分数一定要边膜边算!
| ||||
身败名裂……
Shirry
2017-07-14 20:41
13楼
| ||||
[size=45]普及组の调♂戏[/size]
| ||||
被普级组狠狠的调戏了
KZNS
2016-08-31 19:31
11楼
| ||||
竟然被一道普及组的题虐成这样,还让我怎莫混
| ||||
OvO
| ||||
调半天把自己电脑编译器调坏了 T T
欲哭无泪啊
ztx
2014-06-14 11:23
8楼
| ||||
回复 @sea :
取模以后如何判断大小呢?
ztx
2014-06-14 09:43
7楼
| ||||
#include <stdio.h>
#include <math.h> #include <stdlib.h> int n,p; int a[1000001]; int tz[1000001]; int fs[1000001]; int main() { int i,max; freopen("number.in","r",stdin); freopen("number.out","w",stdout); scanf ("%d%d",&n,&p); for (i=1;i<=n;i++) scanf ("%d",&a[i]); tz[1]=a[1]; for (i=2;i<=n;i++) { if (tz[i-1]+a[i]>a[i]) tz[i]=tz[i-1]+a[i]; else tz[i]=a[i]; } fs[1]=tz[1]; max=fs[1]+tz[1]; for (i=2;i<=n;i++) { fs[i]=max; if (max<fs[i]+tz[i]&&i!=n) max=fs[i]+tz[i]; } max=-1000000000; for (i=1;i<=n;i++) { if (max<fs[i]) max=fs[i]; } if (max<0) { max=abs(max)%p; printf ("-%d\n",max); } else { max%=p; printf ("%d\n",max); } //while (1); return 0; } 各位大神能帮看一下哪错了吗 |
有n个小朋友排成一列。每个小朋友手上都有一个数字,这个数字可正可负。规定每个小朋友的特征值等于排在他前面(包括他本人)的小朋友中连续若干个(最少有一个)小朋友手上的数字之和的最大值。
作为这些小朋友的老师,你需要给每个小朋友一个分数,分数是这样规定的:第一个小朋友的分数是他的特征值,其它小朋友的分数为排在他前面的所有小朋友中(不包括他本人),小朋友分数加上其特征值的最大值。
请计算所有小朋友分数的最大值,输出时保持最大值的符号,将其绝对值对p取模后输出。
第一行包含两个正整数n、p,之间用一个空格隔开。
第二行包含n个数,每两个整数之间用一个空格隔开,表示每个小朋友手上的数字。
输出只有一行,包含一个整数,表示最大分数对p取模的结果。
5 997 1 2 3 4 5
21
5 7 -1 -1 -1 -1 -1
-1
样例1小朋友的特征值分别为1、3、6、10、15,分数分别为1、2、5、11、21,最大值21对997的模是21。
样例2小朋友的特征值分别为-1、-1、-1、-1、-1,分数分别为-1、-2、-2、-2、-2,最大值-1对7的模为-1,输出-1。
对于50%的数据,1≤n≤1,000,1≤p≤1,000所有数字的绝对值不超过1000;
对于100%的数据,1≤n≤1,000,000,1≤p≤10^9,其他数字的绝对值均不超过10^9。
NOIP2013普及组第三题