洛谷—— P3353 在你窗外闪耀的星星
https://www.luogu.org/problem/show?pid=3353
题目描述
飞逝的的时光不会模糊我对你的记忆。难以相信从我第一次见到你以来已经过去了3年。我仍然还生动地记得,3年前,在美丽的集美中学,从我看到你微笑着走出教室,你将头向后仰,柔和的晚霞照耀着你玫瑰色的脸颊。我明白,我已经沉醉于你了。之后,经过几个月的观察和窥探,你的优雅与智慧,你对待生活的态度和你对未来的愿望深切地在我心中留下了印象。你是迷人的阳光女孩,我总是梦想着与你分享余生。唉,实际上你远远超过了我最疯狂的梦想。我不知道如何桥起我与你之间的鸿沟。所以我没有任何计划,仅仅只是等待,等待一个适当的机会到来。直到现在,毕业的到来,我意识到我是个傻瓜,我应该创造机会并且抓住它而不只是等待。
这些日子里,我和我的朋友、室友、同学一个接一个地分开。我仍无法相信,在挥手之后,这些熟悉的面孔很快就会从我们的生活中消失,仅仅留下回忆。我明天就将离开学校。你已经计划远走高飞,追求你的未来,实现你的梦想。如果没有命运,也许我们不会再次相遇。所以今晚,我正在你的宿舍楼下徘徊,希望能偶然遇见你。但矛盾的是,你的美貌一定会使我心跳加速,我笨拙的舌头也许无法吐出一个字。我不记得我曾多少次经过你的宿舍楼,每次都希望看到你出现在阳台上或是窗台上。我不记得这个想法曾多少次在我的脑海中涌出:打电话叫她一起吃晚饭或是聊聊天。但每次,考虑到你的优秀和我的平凡,胆怯的优势超越勇气驱使我静静地离开。
毕业,意味着中学生活的终结。这些光荣与浪漫的时代结束。你可爱的微笑是我原来努力学习的动力,这单相思的爱情会被密封,作为一个我心灵深处的记忆。毕业,也意味着新生活的开始,一个到达光明未来的足迹。我真希望你在国外天天开心,一切顺利。同时,我将努力从幼稚中走出来,变得更加成熟。我的理想将是在现实中追求我的爱与幸福,我永远不会放弃。
再见了,我的公主!
如果有一天,在某个天涯海角,我们有机会相聚,即使是白发苍苍的男人和女人,在那个时候,我希望我们可以成为好朋友来自豪地分享这个记忆,重温年轻快乐的激情。如果这个机会永远没有到来,我希望我是天空中的星星,在你的窗外闪烁。远远地保佑着你,就像一个朋友,每天晚上陪伴在你左右,一同分享甜美的梦亦或是一同经历可怕的梦。
现在问题来了:天空可以理解为一条数轴,在这条数轴上分布着许多颗星星,对于每颗星星都有它的位置Xi和自身的亮度Bi。而窗户所能看到的范围是一个给出的参数W,我们看到的星星也包括窗户边缘的星星。现在,要你求出调整窗户位置后能看到星星的亮度之和最大值。
输入输出格式
输入格式:
一行N,W,分别代表星星的数量和窗户的宽度
余下N行,输入Xi和Bi,代表星星的坐标和亮度
输出格式:
一个数字,代表能看到星星的最大亮度和
输入输出样例
6 3 1 2 2 4 3 8 4 4 5 2 1000 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(){;}
转载于:https://www.cnblogs.com/Shy-key/p/7496676.html
洛谷—— P3353 在你窗外闪耀的星星相关推荐
- 洛谷 P3353 在你窗外闪耀的星星
洛谷 P3353 在你窗外闪耀的星星 题目描述 飞逝的的时光不会模糊我对你的记忆.难以相信从我第一次见到你以来已经过去了3年.我仍然还生动地记得,3年前,在美丽的集美中学,从我看到你微笑着走出教室, ...
- 洛谷——P3353 在你窗外闪耀的星星
P3353 在你窗外闪耀的星星 题目描述 飞逝的的时光不会模糊我对你的记忆.难以相信从我第一次见到你以来已经过去了3年.我仍然还生动地记得,3年前,在美丽的集美中学,从我看到你微笑着走出教室,你将头向 ...
- [洛谷]P3353 在你窗外闪耀的星星 (#树状数组)
题目描述 飞逝的的时光不会模糊我对你的记忆.难以相信从我第一次见到你以来已经过去了3年.我仍然还生动地记得,3年前,在美丽的集美中学,从我看到你微笑着走出教室,你将头向后仰,柔和的晚霞照耀着你玫瑰色的 ...
- 洛谷 P3353 在你窗外闪耀的星星(树状数组)
利用数组在 x 处做个映射,为 x 点处的亮度之和,这样利用树状数组在区间查询的时候要注意一下端点的情况 从位置 1 开始,一直到 1e5,寻找最大的区间和,复杂度为 O(1e5logn),不开 o2 ...
- [洛谷]P3353 在你窗外闪耀的星星
这题使用前缀和即可求解,毕竟是求某个数组的某个固定范围内和的最大值,但值得注意的是,某个位置可能会有多个星星叠加,所以亮度也是要累计的,且这里的长度1应该是指1这个位置所占的长度,比如窗的宽度是3, ...
- 【洛谷】【线段树】P3353 在你窗外闪耀的星星
[题目描述:] /* 飞逝的的时光不会模糊我对你的记忆.难以相信从我第一次见到你以来已经过去了3年.我仍然还生动地记得,3年前,在美丽的集美中学,从我看到你微笑着走出教室,你将头向后仰,柔和的晚霞照耀 ...
- 【Python】【C语言】P3353 在你窗外闪耀的星星
题目背景 飞逝的的时光不会模糊我对你的记忆.难以相信从我第一次见到你以来已经过去了 3 年.我仍然还生动地记得,3 年前,在美丽的集美中学,从我看到你微笑着走出教室,你将头向后仰,柔和的晚霞照耀着你玫 ...
- Luogu P3353 在你窗外闪耀的星星
题目 题目描述 飞逝的的时光不会模糊我对你的记忆.难以相信从我第一次见到你以来已经过去了3年.我仍然还生动地记得,3年前,在美丽的集美中学,从我看到你微笑着走出教室,你将头向后仰,柔和的晚霞照耀着你玫 ...
- P3353 在你窗外闪耀的星星————树状数组,前缀和
题解:本题主要考查树状数组的区间之和的最大值,用树状数组和前缀和(注意:一个位子可以放多个点) 代码如下: #include<iostream> #include<algorithm ...
最新文章
- fiddler 抓取winform wcf包
- LINUX BASH SHELL,小小学习一下
- REVERSE-PRACTICE-BUUCTF-22
- java 切换目录,java-使用SVNKit,如何将目录切换到其他分支?
- Windows XP增强dos命令
- jsoup的Node类
- 十月第一周学习进度条
- neutron用linux_bridge部署provider网络
- 宋宝华: 一图理解终端、会话、 进程组、进程关系
- Eclipse中输入点号(.)不提示类成员(函数、字段)的解决办法
- WIFI中的关键词,频率,频段,频宽,频带...你晕了没??.
- fatal: The remote end hung up unexpectedly解决办法
- python结合正则表达式及校验码生成算法校验:电话号码、营业执照、组织机构代码证、税务登记证、统一社会信用代码证、非盈利性企业登记证号码的函数
- A40i linux移植ssh报错
- 小米10T和小米10T Pro的区别
- 保时捷Taycan的800V电气架构赏析
- 7-6 勇争前三 (10 分)
- Django MVT简单实例
- 显著性物体检测与分割
- VMware11虚拟机下安装Centos6.5