通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"NOIP真题" 试卷中 NOIP第二十一届全国青少年信息学奥林匹克联赛初赛试题[2015提高组] 中有题目如下:
第1题
(双子序列最大和)给定一个长度为n(3≤n≤1000) 的整数序列,要求从中选出两个连续子序列,使得这两个连续子序列的序列和之和最大,最终只需输出这个最大和。一个连续子序列的序列和为该连续子序列中所有数之和。要求:每个连续子序列长度至少为 1,且两个连续子序列之间至少间隔 1 个数。
#include <iostrea m> using namespace std; const int MAXN = 1000; int n, i, ans, sum; int x[MAXN]; int lmax[MAXN]; // lmax[i] 为仅含 x[i] 及 x[i] 左侧整数的连续子序列的序列和中,最大的序列和 int rmax[MAXN]; // rmax[i] 为仅含 x[i] 及 x[i] 右侧整数的连续子序列的序列和中,最大的序列和 int main() { cin >> n; for (i = 0; i < n; i++) cin >> x[i]; lmax[0] = x[0] ; for (i = 1; i < n; i++) if (lmax[i - 1] <= 0) lmax[i] = x[i]; else lmax[i] = lmax[i - 1] + x[i]; for (i = 1; i < n; i++) if (lmax[i] < lmax[i - 1]) lmax[i] = lmax[i - 1]; ①; for (i = n - 2; i >= 0; i --) if (rmax[i + 1] <= 0) ②; else ③; for (i = n - 2; i >= 0; i --) if (rmax[i] < rmax[i + 1]) ④; ans = x[ 0] + x [2]; for (i = 1; i < n - 1; i++) { sum = ⑤; if (sum > ans) ans = sum; } cout << ans << endl; return 0; }
所属试卷:NOIP第二十一届全国青少年信息学奥林匹克联赛初赛试题[2015提高组]
下列关于C++流的描述中,错误的是
关于运算符重载,下列表述中正确的是
有如下类声明,在构造函数XB的下列定义中,正确的是
编写代码,输出 1~100 的所有素数。参考答案:
有以下程序程序运行后的输出结果是( )。
一个栈的初始状态为空。现将元素1、2、3、4、5、A、
重载函数必须有不同的参数列表。
已知x=[3],那么执行x+=[5]之后x的值为___
请填空:建立如图所示存储结构所需说明语句是______
Linux系统下经常使用的两种桌面环境是:____
若给需要将/home/zheng目录下的所有文件打包压
创建表语句中表示定义默认约束的子句是
锁粒度是指锁定的对象,MySQL常见的有表级锁、页级锁
MySQL创建存储过程时 _____表示输入类型参数。
若要删除数据库中已经存在的表S,可用( )。
顺序队列存在假溢出现象,所以不能用顺序存储结构存储队列
若已知一个栈的入栈序列是1,2,3,…,n,其输出序列
(13 分)已知非空二叉树 T 的结点值均为正整数,采
数据流图是用于表示软件模型的一种图示方法,在下列可采用
假设 int 为 32 位有符号整数类型,输入的 n
如果不对静态数组赋初值,则计算机默认静态数组初始值为0
有三个关系R,S和T如下图所示,则由关系R和S得到关系
函数fun的功能是:在有n名学生,2门课成绩的结构体数
一棵结点数为2015 的二叉树最多有( )个叶子结点。
重新排列 1234 使得每一个数字都不在原来的位置上,
(排列数)输入两个正整数 n,m(1<n<20,1<m
在整数的补码表示法中,以下说法正确的是( )
(哥德巴赫猜想) 哥德巴赫猜想是指,任一大于 2 的偶
输入: 5 13输出: _________
更多选择题
更多填空题
第十章 C++流
第九章 C++模板
第八章 C++运算符重载
C++语言程序设计真题5
C++语言程序设计真题4
C++语言程序设计真题3
C++语言程序设计真题2