博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
P3353 在你窗外闪耀的星星
阅读量:5917 次
发布时间:2019-06-19

本文共 800 字,大约阅读时间需要 2 分钟。

黄题爆冷了怎么办在线等挺急的啊。。。


题目背景我很认真地看完了。

我哭了,你们呢?

一拳一个泪目怪


这道题一眼看上去就是一个前缀和的。然后我就兴致冲冲地写了一发,交上去10pt,WA声一片。

最初的想法很弱智,我以为他给的星星是按x升序给的。

并且还有一点:星星可能会重合。一个点可能会有多个星星。这些都是我没考虑到的。

所以最好的方法是什么?

直接开一个b数组,记录每一个x坐标的星星亮度。

询问的话就先预处理个前缀和,然后进行\(n\)\(O(1)\)的询问。复杂度\(O(n)\)

代码:

#include
#include
const int maxn = 100005;int maxx;int b[maxn];int n, w;int main(){ scanf("%d%d", &n, &w); for(int i = 1; i <= n; i++) { int xx, bb; scanf("%d%d", &xx, &bb); b[xx] += bb; maxx = std::max(maxx, xx); } for(int i = 1; i <= maxx; i++) b[i] += b[i - 1]; int ans = -19260817; for(int i = 1; i + w - 1 <= maxx; i++) { ans = std::max(ans, b[i + w - 1] - b[i - 1]); } printf("%d\n", ans); return 0;}

转载于:https://www.cnblogs.com/Garen-Wang/p/9746024.html

你可能感兴趣的文章
第 172 章 TRAC
查看>>
76.5. Attic - 拥有重复数据删除技术的备份软件
查看>>
MPLS LDP随堂笔记1
查看>>
软硬链接、文件删除原理、linux中的三种时间、chkconfig优化
查看>>
写在最前面 - 每天5分钟玩转容器技术(1)
查看>>
谈谈一些有趣的CSS题目(七)-- 消失的边界线问题
查看>>
睡眠不好
查看>>
159.3. salt 命令
查看>>
UWP 统一平台开发介绍
查看>>
15.25. Search
查看>>
Docker简明教程
查看>>
数据蒋堂 | 有序分组
查看>>
中化部署云计算胆大心细
查看>>
javascript原型理解一种
查看>>
C语言删除字符串中重复的字符
查看>>
云端灾难恢复的主要注意事项
查看>>
5大原因!解释为什么身份和访问管理(IAM)成为企业主流
查看>>
数据结构实验之串一:KMP简单应用
查看>>
看国内第一家上市公司如何管理大数据
查看>>
避免破解悲剧:这样设置的密码好记且无法破解
查看>>