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(){;}

转载于:https://www.cnblogs.com/Shy-key/p/7496676.html

洛谷—— P3353 在你窗外闪耀的星星相关推荐

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

    洛谷  P3353 在你窗外闪耀的星星 题目描述 飞逝的的时光不会模糊我对你的记忆.难以相信从我第一次见到你以来已经过去了3年.我仍然还生动地记得,3年前,在美丽的集美中学,从我看到你微笑着走出教室, ...

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

    P3353 在你窗外闪耀的星星 题目描述 飞逝的的时光不会模糊我对你的记忆.难以相信从我第一次见到你以来已经过去了3年.我仍然还生动地记得,3年前,在美丽的集美中学,从我看到你微笑着走出教室,你将头向 ...

  3. [洛谷]P3353 在你窗外闪耀的星星 (#树状数组)

    题目描述 飞逝的的时光不会模糊我对你的记忆.难以相信从我第一次见到你以来已经过去了3年.我仍然还生动地记得,3年前,在美丽的集美中学,从我看到你微笑着走出教室,你将头向后仰,柔和的晚霞照耀着你玫瑰色的 ...

  4. 洛谷 P3353 在你窗外闪耀的星星(树状数组)

    利用数组在 x 处做个映射,为 x 点处的亮度之和,这样利用树状数组在区间查询的时候要注意一下端点的情况 从位置 1 开始,一直到 1e5,寻找最大的区间和,复杂度为 O(1e5logn),不开 o2 ...

  5. [洛谷]P3353 在你窗外闪耀的星星

     这题使用前缀和即可求解,毕竟是求某个数组的某个固定范围内和的最大值,但值得注意的是,某个位置可能会有多个星星叠加,所以亮度也是要累计的,且这里的长度1应该是指1这个位置所占的长度,比如窗的宽度是3, ...

  6. 【洛谷】【线段树】P3353 在你窗外闪耀的星星

    [题目描述:] /* 飞逝的的时光不会模糊我对你的记忆.难以相信从我第一次见到你以来已经过去了3年.我仍然还生动地记得,3年前,在美丽的集美中学,从我看到你微笑着走出教室,你将头向后仰,柔和的晚霞照耀 ...

  7. 【Python】【C语言】P3353 在你窗外闪耀的星星

    题目背景 飞逝的的时光不会模糊我对你的记忆.难以相信从我第一次见到你以来已经过去了 3 年.我仍然还生动地记得,3 年前,在美丽的集美中学,从我看到你微笑着走出教室,你将头向后仰,柔和的晚霞照耀着你玫 ...

  8. Luogu P3353 在你窗外闪耀的星星

    题目 题目描述 飞逝的的时光不会模糊我对你的记忆.难以相信从我第一次见到你以来已经过去了3年.我仍然还生动地记得,3年前,在美丽的集美中学,从我看到你微笑着走出教室,你将头向后仰,柔和的晚霞照耀着你玫 ...

  9. P3353 在你窗外闪耀的星星————树状数组,前缀和

    题解:本题主要考查树状数组的区间之和的最大值,用树状数组和前缀和(注意:一个位子可以放多个点) 代码如下: #include<iostream> #include<algorithm ...

最新文章

  1. fiddler 抓取winform wcf包
  2. LINUX BASH SHELL,小小学习一下
  3. REVERSE-PRACTICE-BUUCTF-22
  4. java 切换目录,java-使用SVNKit,如何将目录切换到其他分支?
  5. Windows XP增强dos命令
  6. jsoup的Node类
  7. 十月第一周学习进度条
  8. neutron用linux_bridge部署provider网络
  9. 宋宝华: 一图理解终端、会话、 进程组、进程关系
  10. Eclipse中输入点号(.)不提示类成员(函数、字段)的解决办法
  11. WIFI中的关键词,频率,频段,频宽,频带...你晕了没??.
  12. fatal: The remote end hung up unexpectedly解决办法
  13. python结合正则表达式及校验码生成算法校验:电话号码、营业执照、组织机构代码证、税务登记证、统一社会信用代码证、非盈利性企业登记证号码的函数
  14. A40i linux移植ssh报错
  15. 小米10T和小米10T Pro的区别
  16. 保时捷Taycan的800V电气架构赏析
  17. 7-6 勇争前三 (10 分)
  18. Django MVT简单实例
  19. 显著性物体检测与分割
  20. VMware11虚拟机下安装Centos6.5

热门文章

  1. BWT 算法和序列比对的基本实现
  2. 苹果(iphone)手机怎么恢复手机通讯录
  3. 自考计算机在线课程,自考计算机专业有哪些课程?
  4. 微信渠道二维码怎么做?微信公众号怎么做渠道二维码?
  5. Eclips的快捷键和基本操作
  6. Web tech resource
  7. 健身俱乐部如何让会员持续满意?
  8. 适合写作业时听的歌(高效学习)
  9. 清华BDIRC:已无须论证重要性的大数据
  10. PyQt5之QTextEdit多行文本框