P1982 [NOIP2013 普及组] 小朋友的数字 题解
目录
简单版
先要会做这道题
题目
P1115 最大子段和
https://www.luogu.com.cn/problem/P1115
这道题其实是动态规划,dp,但是很水。
code
#include<bits/stdc++.h>
using namespace std;
int n, j, sum, maxx;
int main() {
cin >> n >> maxx;
sum = maxx;
for (int i = 2; i <= n; i++) {
cin >> j;
if (sum < 0) sum = 0;
sum += j;
maxx = max(maxx, sum);
}
cout << maxx << endl;
return 0;
}
本题
再看这道题目,也不是很难。
详见代码。
code
#include <bits/stdc++.h>
using namespace std;
const int N = 1000005;
long long a[N];
long long w[N];
long long q[N];
long long f[N];
long long n;
long long mod;
long long maxx;
int main() {
cin >> n >> mod;
for (int i = 1; i <= n; i++) cin >> a[i];
f[1] = w[1] = q[1] = a[1];
maxx = a[1];
for (int i = 2; i <= n; i++) {//i 从 2 开始
w[i] = max(w[i - 1] + a[i], a[i]);
// 接上一个 自己单独一个
q[i] = max(q[i - 1], w[i]);
}
f[2] = f[1] + a[1];
maxx = max(maxx, f[2]);
for (int i = 3; i <= n; i++) {
f[i] = max(f[i - 1], q[i - 1] + f[i - 1]);
//上一个人的分数和上一个人自己的特征值加分数
maxx = max(maxx, f[i]);
//更新最大值
}
cout << maxx % mod << endl;
return 0;
}
/*
* w:以i为结尾的最长连续子段和
* q:1~i中的最长连续子段和(特征值)
* maxx:当前前i个w[i]的最大值
*/
P1982 [NOIP2013 普及组] 小朋友的数字 题解的更多相关文章
- [NOIP2013] 普及组
计数问题 纯模拟 #include<cstdio> #include<iostream> using namespace std; int main(){ int n,x; c ...
- NOIP2013普及组 -SilverN
T1 计数问题 题目描述 试计算在区间 1 到 n 的所有整数中,数字 x(0 ≤ x ≤ 9)共出现了多少次?例如,在 1 到 11 中,即在 1.2.3.4.5.6.7.8.9.10.11 中, ...
- [NOIP2013 普及组] 表达式求值
[NOIP2013 普及组] 表达式求值 给定一个只包含加法和乘法的算术表达式,请你编程计算表达式的值. Input 一行,为需要你计算的表达式,表达式中只包含数字.加法运算符"+" ...
- NOIP2013普及组 T2 表达式求值
OJ地址:洛谷P1981 CODEVS 3292 正常写法是用栈 #include<iostream> #include<algorithm> #include<cmat ...
- 【NOIP2013 普及组】车站分级
[NOIP2013 普及组]车站分级 一.题目 [NOIP2013 普及组]车站分级 时间限制: 1 Sec 内存限制: 128 MB 提交: 3 解决: 0 [提交][状态][讨论版] 题目描述 ...
- 洛谷P1982 小朋友的数字——题解
题目传送 简单地说,这题就是让我们求前i个数的最大子串和和最值. 对于最大子串和,我们可以设一个变量qian,表示以当前元素结尾的最大子串的子串和.若搜索完第i-1个小朋友,现在看到第i个小朋友时,若 ...
- 洛谷——P1980 [NOIP2013 普及组] 计数问题
题目描述 试计算在区间 11 到 nn的所有整数中,数字x(0 ≤ x ≤ 9)x(0≤x≤9)共出现了多少次?例如,在 11到1111中,即在 1,2,3,4,5,6,7,8,9,10,111,2, ...
- [NOIp2013普及组]车站分级
思路: 对于每一趟车,将区间内所有经停的站和所有未经停的站连一条边,表示前者优先级一定高于后者,然后用Kahn跑一遍拓扑排序即可.然而这样会创造大量多余的边,会TLE1个点.考虑一种优化:因为每趟车本 ...
- Noip2013(普及组) 车站分级
题目描述 一条单向的铁路线上,依次有编号为 , , …, n 的 n 个火车站.每个火车站都有一个级别,最低为 级.现有若干趟车次在这条线路上行驶,每一趟都满足如下要求:如果这趟车次停靠了火车站 x, ...
- NOIP2008普及组题解
NOIP2008普及组题解 从我在其他站的博客直接搬过来的 posted @ 2016-04-16 01:11 然后我又搬回博客园了233333 posted @ 2016-06-05 19:19 T ...
随机推荐
- Win10中找回曾复制过的东西
按Win+V,如果弹出的"剪贴板历史"设置已经打开,那么就可以找回.建议大家打开这项设置以防万一.
- WDA学习(28):Drag &Drop使用
1.21 Drag Drop使用 本实例测试Drag Drop; 运行结果: Drag图标Drop到添加Icon,会将一条记录添加到Table; Drag Table记录Drop到垃圾桶Icon,会将 ...
- 在TMOS系统中添加按键检测功能
目录 TMOS系统中自带有按键检测轮询功能,默认100ms检测一次,在debug时很有帮助.不过在需要低功耗休眠的前提下,检测按键需要频繁唤醒,影响功耗,故多数BLE的工程都没有用到这个功能.代码贴在 ...
- win10企业版在线转换成win10专业版
1.下载windows附件包,解压到C盘根目录 https://pan.baidu.com/s/19Zyrav9sriS9nFyJsM8ydQ 提取码:gsp6 2.运行命令 2.1.以管理员身份运行 ...
- 全面jmeter逻辑控制器案例详解
逻辑控制器作用: (1)控制测试计划或者线程组中节点的逻辑执行顺序. (2)对测试计划或者线程组中的脚本进行分组.方便jmeter统计执行结果以及脚本运行时的控制等.jmeter中逻辑控制器(Logi ...
- java实现读取json文件指定字段值
使用场景 现有一个大数据的json文件,每条数据有多层数据信息.现在想把其中某个字段提取并叠加计算. json文件格式 1 { 2 "MsgID":"111", ...
- Blog-3
前言 这几周的作业所涉及的知识点有数据的封装和.继承与多态.正则表达式,还有抽象类和接口,另外还有javafx的一些基本知识.题量适中,但是难度对于我来说是比较大的.总的来说就是跟以前的题目差不多,只 ...
- js获取当天时间,凌晨0点
凌晨0点 fields['startTime']=new Date(new Date(fields.searchTime2[0]).toLocaleDateString()).getTime() 当天 ...
- WCF学习系列---1、新建第一个WCF服务
一.了解.Net平台下的分布式技术 1.WebService:基于Http协议的Soap模式 2.Remoting :也是一种分布式架构技术,常常用于TCP模式的二进制传输 3.MSMQ:这是一种分布 ...
- Robot-Framework 基础操作和常用的语法
1.打开浏览器 Open Browser 2.浏览器最大化 Maximize Browser Window 3.关闭浏览器 Test Teardown Close Browser 4.输入文本框 I ...