洛谷—— P3353 在你窗外闪耀的星星

https://www.luogu.org/problem/show?pid=3353

题目描述

飞逝的的时光不会模糊我对你的记忆。难以相信从我第一次见到你以来已经过去了3年。我仍然还生动地记得,3年前,在美丽的集美中学,从我看到你微笑着走出教室,你将头向后仰,柔和的晚霞照耀着你玫瑰色的脸颊。我明白,我已经沉醉于你了。之后,经过几个月的观察和窥探,你的优雅与智慧,你对待生活的态度和你对未来的愿望深切地在我心中留下了印象。你是迷人的阳光女孩,我总是梦想着与你分享余生。唉,实际上你远远超过了我最疯狂的梦想。我不知道如何桥起我与你之间的鸿沟。所以我没有任何计划,仅仅只是等待,等待一个适当的机会到来。直到现在,毕业的到来,我意识到我是个傻瓜,我应该创造机会并且抓住它而不只是等待。

这些日子里,我和我的朋友、室友、同学一个接一个地分开。我仍无法相信,在挥手之后,这些熟悉的面孔很快就会从我们的生活中消失,仅仅留下回忆。我明天就将离开学校。你已经计划远走高飞,追求你的未来,实现你的梦想。如果没有命运,也许我们不会再次相遇。所以今晚,我正在你的宿舍楼下徘徊,希望能偶然遇见你。但矛盾的是,你的美貌一定会使我心跳加速,我笨拙的舌头也许无法吐出一个字。我不记得我曾多少次经过你的宿舍楼,每次都希望看到你出现在阳台上或是窗台上。我不记得这个想法曾多少次在我的脑海中涌出:打电话叫她一起吃晚饭或是聊聊天。但每次,考虑到你的优秀和我的平凡,胆怯的优势超越勇气驱使我静静地离开。

毕业,意味着中学生活的终结。这些光荣与浪漫的时代结束。你可爱的微笑是我原来努力学习的动力,这单相思的爱情会被密封,作为一个我心灵深处的记忆。毕业,也意味着新生活的开始,一个到达光明未来的足迹。我真希望你在国外天天开心,一切顺利。同时,我将努力从幼稚中走出来,变得更加成熟。我的理想将是在现实中追求我的爱与幸福,我永远不会放弃。

再见了,我的公主!

如果有一天,在某个天涯海角,我们有机会相聚,即使是白发苍苍的男人和女人,在那个时候,我希望我们可以成为好朋友来自豪地分享这个记忆,重温年轻快乐的激情。如果这个机会永远没有到来,我希望我是天空中的星星,在你的窗外闪烁。远远地保佑着你,就像一个朋友,每天晚上陪伴在你左右,一同分享甜美的梦亦或是一同经历可怕的梦。

现在问题来了:天空可以理解为一条数轴,在这条数轴上分布着许多颗星星,对于每颗星星都有它的位置Xi和自身的亮度Bi。而窗户所能看到的范围是一个给出的参数W,我们看到的星星也包括窗户边缘的星星。现在,要你求出调整窗户位置后能看到星星的亮度之和最大值。

输入输出格式

输入格式:

一行N,W,分别代表星星的数量和窗户的宽度

余下N行,输入Xi和Bi,代表星星的坐标和亮度

输出格式:

一个数字,代表能看到星星的最大亮度和

输入输出样例

输入样例#1:

6 3
1 2
2 4
3 8
4 4
5 2
1000 1

输出样例#1:

16

说明

样例说明:

对于10%的数据,W=0(没有边缘)

对于40%的数据,W<=1000

对于100%的数据,N<=100000,W<=100000,Xi<=100000,1<=Bi<=100

除W=0的情况外,W均为>=3的奇数

前缀和、

 1 #include <algorithm>
 2 #include <cstdio>
 3
 4 const int N(100000+26);
 5
 6 struct Node {
 7     int pos,bright;
 8     bool operator < (const Node x)const
 9     {
10         return pos<x.pos;
11     }
12 }star[N];
13
14 inline void read(int &x)
15 {
16     x=0; register char ch=getchar();
17     for(; ch>‘9‘||ch<‘0‘; ) ch=getchar();
18     for(; ch>=‘0‘&&ch<=‘9‘; ch=getchar()) x=x*10+ch-‘0‘;
19 }
20
21 int sum[N];
22
23 int Aptal()
24 {
25     int r=-1,n,w,ans=-1; read(n),read(w);
26     if(!w) { puts("0"); return 0; }
27     for(int i=1; i<=n; ++i)
28         read(star[i].pos),read(star[i].bright),r=std::max(r,star[i].pos);
29     std::sort(star+1,star+n+1);
30     for(int i=1; i<=n; ++i)
31         sum[star[i].pos]=sum[star[i-1].pos]+star[i].bright;
32     for(int i=1; i<=r; ++i)
33         if(!sum[i]) sum[i]=sum[i-1];
34     for(int i=1; i<=n; ++i)
35         if(star[i].pos>=w&&sum[star[i].pos])
36             ans=std::max(ans,sum[star[i].pos]-sum[star[i].pos-w]);
37     printf("%d\n",ans);
38     return 0;
39 }
40
41 int Hope=Aptal();
42 int main(){;}
时间: 2024-10-13 15:54:08

洛谷—— P3353 在你窗外闪耀的星星的相关文章

洛谷 P3353 在你窗外闪耀的星星

题目描述 飞逝的的时光不会模糊我对你的记忆.难以相信从我第一次见到你以来已经过去了3年.我仍然还生动地记得,3年前,在美丽的集美中学,从我看到你微笑着走出教室,你将头向后仰,柔和的晚霞照耀着你玫瑰色的脸颊.我明白,我已经沉醉于你了.之后,经过几个月的观察和窥探,你的优雅与智慧,你对待生活的态度和你对未来的愿望深切地在我心中留下了印象.你是迷人的阳光女孩,我总是梦想着与你分享余生.唉,实际上你远远超过了我最疯狂的梦想.我不知道如何桥起我与你之间的鸿沟.所以我没有任何计划,仅仅只是等待,等待一个适当

P3353 在你窗外闪耀的星星

黄题爆冷了怎么办在线等挺急的啊... 题目背景我很认真地看完了. 我哭了,你们呢? 一拳一个泪目怪 这道题一眼看上去就是一个前缀和的.然后我就兴致冲冲地写了一发,交上去10pt,WA声一片. 最初的想法很弱智,我以为他给的星星是按x升序给的. 并且还有一点:星星可能会重合.一个点可能会有多个星星.这些都是我没考虑到的. 所以最好的方法是什么? 直接开一个b数组,记录每一个x坐标的星星亮度. 询问的话就先预处理个前缀和,然后进行\(n\)次\(O(1)\)的询问.复杂度\(O(n)\). 代码:

luoguP3353 在你窗外闪耀的星星 x

P3353 在你窗外闪耀的星星 题目描述 飞逝的的时光不会模糊我对你的记忆.难以相信从我第一次见到你以来已经过去了3年.我仍然还生动地记得,3年前,在美丽的集美中学,从我看到你微笑着走出教室,你将头向后仰,柔和的晚霞照耀着你玫瑰色的脸颊.我明白,我已经沉醉于你了.之后,经过几个月的观察和窥探,你的优雅与智慧,你对待生活的态度和你对未来的愿望深切地在我心中留下了印象.你是迷人的阳光女孩,我总是梦想着与你分享余生.唉,实际上你远远超过了我最疯狂的梦想.我不知道如何桥起我与你之间的鸿沟.所以我没有任何

洛谷 P2709 BZOJ 3781 小B的询问

题目描述 小B有一个序列,包含N个1~K之间的整数.他一共有M个询问,每个询问给定一个区间[L..R],求Sigma(c(i)^2)的值,其中i的值从1到K,其中c(i)表示数字i在[L..R]中的重复次数.小B请你帮助他回答询问. 输入输出格式 输入格式: 第一行,三个整数N.M.K. 第二行,N个整数,表示小B的序列. 接下来的M行,每行两个整数L.R. 输出格式: M行,每行一个整数,其中第i行的整数表示第i个询问的答案. 输入输出样例 输入样例#1: 6 4 3 1 3 2 1 1 3

洛谷1231 教辅的组成

洛谷1231 教辅的组成 https://www.luogu.org/problem/show?pid=1231 题目背景 滚粗了的HansBug在收拾旧语文书,然而他发现了什么奇妙的东西. 题目描述 蒟蒻HansBug在一本语文书里面发现了一本答案,然而他却明明记得这书应该还包含一份练习题.然而出现在他眼前的书多得数不胜数,其中有书,有答案,有练习册.已知一个完整的书册均应该包含且仅包含一本书.一本练习册和一份答案,然而现在全都乱做了一团.许多书上面的字迹都已经模糊了,然而HansBug还是可

洛谷教主花园dp

洛谷-教主的花园-动态规划 题目描述 教主有着一个环形的花园,他想在花园周围均匀地种上n棵树,但是教主花园的土壤很特别,每个位置适合种的树都不一样,一些树可能会因为不适合这个位置的土壤而损失观赏价值. 教主最喜欢3种树,这3种树的高度分别为10,20,30.教主希望这一圈树种得有层次感,所以任何一个位置的树要比它相邻的两棵树的高度都高或者都低,并且在此条件下,教主想要你设计出一套方案,使得观赏价值之和最高. 输入输出格式 输入格式: 输入文件garden.in的第1行为一个正整数n,表示需要种的

洛谷 P2801 教主的魔法 题解

此文为博主原创题解,转载时请通知博主,并把原文链接放在正文醒目位置. 题目链接:https://www.luogu.org/problem/show?pid=2801 题目描述 教主最近学会了一种神奇的魔法,能够使人长高.于是他准备演示给XMYZ信息组每个英雄看.于是N个英雄们又一次聚集在了一起,这次他们排成了一列,被编号为1.2.…….N. 每个人的身高一开始都是不超过1000的正整数.教主的魔法每次可以把闭区间[L, R](1≤L≤R≤N)内的英雄的身高全部加上一个整数W.(虽然L=R时并不

洛谷P1466 集合 Subset Sums

洛谷P1466 集合 Subset Sums这题可以看成是背包问题 用空间为 1--n 的物品恰好填充总空间一半的空间 有几种方案 01 背包问题 1.注意因为两个交换一下算同一种方案,所以最终 要 f [ v ] / 2 2.要开 long long 1 #include <cstdio> 2 #include <cstdlib> 3 #include <cmath> 4 #include <cstring> 5 #include <string&g

洛谷P1160 队列安排 链表

洛谷P1160 队列安排   链表 1 #include <cstdio> 2 #include <cstring> 3 #include <cmath> 4 #include <cstdlib> 5 #include <string> 6 #include <algorithm> 7 #include <iomanip> 8 #include <iostream> 9 using namespace std