P4086 [USACO17DEC]My Cow Ate My Homework S(静态数据预处理:后缀和、后缀最小值)
P4086 [USACO17DEC]My Cow Ate My Homework S(静态数据预处理:后缀和、后缀最小值)
原题戳这里
题解
#include <iostream>
#include <algorithm>using namespace std;const int N = 1000010;int n, a[N], bsum[N], bmin[N], k;
double res[N], mval; //这里一定要是double啊,不能是int的!!!int main(){cin >> n;for (int i = 1 ; i <= n ; i ++ ) cin >> a[i];for (int i = 1 ; i <= n + 1 ; i ++ ) bmin[i] = 100000010;//后缀最小值数组的预处理!!!for (int i = n ; i >= 2 ; i --){//后缀和bsum[i] = bsum[i + 1] + a[i]; //处理“后缀最小值”,dp思想bmin[i] = min(bmin[i + 1], a[i]);if (i != n) res[i] = 1.0 * (bsum[i] - bmin[i]) / (n - i);mval = max(mval, res[i]);//记录最大值}for (int i = 2 ; i <= n - 1 ; i ++)if (res[i] == mval) cout << i - 1 << endl;//endl换行!!!不是空格!!return 0;
}
坑点:(还是不是自己太菜才被坑QAQ)
- 答案输出是换行,不是空格!!!!!
mval
和res[i]
都是double类型,而不是int类型!!!!!
亮点:
- 后缀和:得到该位置到一直后面的和,如
bsum[i]
为a[i] + a[i + 1] ... + a[n]
的值 - 后面元素的最小值:可以理解为“后缀最小值”,BUT!!注意把数组先全部预处理成很大很大!!!!
bmin[i]
就表示a[i], a[i + 1], ... , a[n]
里面的最小值,利用dp的思想求得bmin
数组
P4086 [USACO17DEC]My Cow Ate My Homework S(静态数据预处理:后缀和、后缀最小值)相关推荐
- K11718 My Cow Ate My Homework[USACO-2017-Dec-S]
题目描述 在牛科历史课上,老师布置了一个相当长的家庭作业,一共有N个问题(3≤N≤100000),每个问题的得分范围均是0到10000.按照惯例,老师会舍弃一个最低分,然后将剩余的分数计算出一个平均分 ...
- 快照原理(全拷贝快照、cow、row)
快照原理(全拷贝快照.cow.row) 快照是记录系统某个时间点的状态,可以帮助用户回到快照记录的时刻,例如恢复故障等等,可见快照功能非常重要. 常见快照的有两类:全拷贝快照.差分快照(cow.row ...
- 搞定storm-入门
文章目录 大数剧-storm 一.Storm是什么 二.Storm的特点 三.Storm的应用 四.Storm模型 五.概念 1. 拓扑(Topologies) 2. 元组(Tuple) 3. 流(S ...
- [Storm]分布式单词计数(一)一个简单的storm demo
目录 前言: 基本概念: 1.1 Spout 1.1 业务 SentenceSpout 1.2 SentenceSpout引用的部分类源码 BaseRichSpout源码 Values源码 ISpou ...
- 图文解读助你理解和使用正则表达式
机器之心 作者:Jan Meppe 这篇文章是关于正则表达式(regex)的插图指南,旨在为那些从来没有使用过正则表达式,想尝试但又望而生畏的新手提供一个简单介绍. 所以,欢迎使用正则表达式- 对于大 ...
- 实现对文本的简单one-hot编码
one-hot编码是将标记转换为向量的最常用.最基本方法.下面分别讲讲字符级的one-hot编码和单词级的one-hot编码. 单词级的one-hot编码 import numpy as npsamp ...
- 基于Kaggle数据的词袋模型文本分类教程
基于Kaggle数据的词袋模型文本分类教程 发表于23小时前| 454次阅读| 来源FastML| 0 条评论| 作者Zygmunt Z 词袋模型文本分类word2vecn-gram机器学习 w ...
- 06_1.Pytorch中如何表示字符串、word embedding、One - hot、Embedding(Word2vec、BERT、Glove)【学习总结】
1.6.1.如何表示字符串 1.6.1.1.word embedding 1.6.1.1.1.文本表示(Representation) 1.6.1.1.2.独热编码 | one-hot represe ...
- Deep-Learning-with-Python] 文本序列中的深度学习
将文本数据处理成有用的数据表示 循环神经网络 使用1D卷积处理序列数据 深度学习模型可以处理文本序列.时间序列.一般性序列数据等等.处理序列数据的两个基本深度学习算法是循环神经网络和1D卷积(2D卷积 ...
最新文章
- FileUpload生成图片水印,文字水印(转载)
- 一文搞懂RNN(循环神经网络)
- python安装步骤图解-Python安装-小白图文教程(精)
- C语言结构体通过 scanf初始化
- 五、【线性表】线性表的链式表示和实现
- 前端解密后台加密算法优化思想
- 56个民族sql语句
- 字符串转数字测试--知识备忘
- python中凯撒密码_python实现凯撒密码、凯撒加解密算法
- 随笔分类 - PowerShell
- 深入浅出WPF 总结
- SqlParameter数组
- 爬虫爬取taptap上关于厂商的评论
- 如何用计算机还原魔方,初学者使用的魔方口诀 7步教你快速复原三阶魔方(附图解)...
- android os parcel,java.lang.RuntimeException:Parcel android.os.Parcel:...
- 8位数:数字、小写字母字典思考
- 【分享】从Mybatis源码中,学习到的10种设计模式
- 【干货】长达4万字的Java知识点!
- android高级开发面试!五年Android开发者小米、阿里面经,Android篇
- 【NOIP2014】飞扬的小鸟
热门文章
- 字谜 大小写重复全排列问题
- opencv与openmv?
- 怎么写好文案?这些工具很好用
- RK3368 Edp屏调试,利用EDID做兼容
- 李在福羽毛球教学经典视频汇总31集
- 【软件测试】翻了下招聘APP只会点点点,很慌......测试业务?技术?
- Java 用键盘输入 int型 String型 char型数据 示例:简单计算功能 eclipse
- c/c++回车不换行
- 菜鸟带你使用JieCaoMediaPlayer播放本地视频
- 精品基于Uniapp+Springboot实现的患者服药提醒APP