HJ浇花

本文详细解析了一道经典的计算机科学问题——HJ浇水问题。该问题涉及到大量的花盆(99999999999999999999999999999999999盆),通过一系列的浇水操作,求解每种浇水次数对应的花盆数量。文章提供了一个有效的解决方案,利用数组进行区间更新和前缀和计算,最终输出不同浇水次数的花盆计数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目描述

HJ养了很多花(99999999999999999999999999999999999盆),并且喜欢把它们排成一排,编号0~99999999999999999999999999999999998,每天HJ都会给他的花浇水,但是他很奇怪,他会浇n(1 <= n <= 2 * 105)次水,每次都会选择一个区间[l, r],(0 <= l <= r <= 106),表示对区间[l, r]的花都浇一次水。现在问你,通过这些操作之后,被浇了i(1 <= i <= n)次水的花的盆数。

输入描述:

输入:第一行一个n,表示HJ的操作次数,接下来的n行,表示每一次选择的浇水区间。

输出描述:

输出:输出n个数字Cnt1, Cnt2……Cntn,(用空格隔开)Cnti表示被浇了i次水的花的盆数。
示例1

输入

复制
3
0 3
1 3
3 8

输出

复制
6 2 1
示例2

输入

复制
3
1 3
2 4
5 7

输出

复制
5 2 0

说明

对于样例1的图形解释

被浇了1次的有:0, 4, 5, 6, 7, 8, cnt1 = 6

被浇了2次的有:1, 2.           cnt2 = 2

被浇了3次的有: 3 .            cnt3 = 3

 

第一眼看到以为是线段树,然后看了下数据范围,,,106 excuse me?

 1 #include<iostream>
 2 #include<cstdio>
 3 using namespace std;
 4  
 5 const int MAXN=1000005;
 6 int n;
 7 int a[MAXN],f[MAXN];
 8  
 9 int main()
10 {
11     scanf("%d",&n);
12     for(int i=1;i<=n;i++)
13     {
14         int l,r;
15         scanf("%d%d",&l,&r);
16         a[l]++;
17         a[r+1]--;
18     }
19     for(int i=1;i<MAXN;i++)
20         a[i]+=a[i-1];
21     for(int i=0;i<MAXN;i++)
22         f[a[i]]++;
23     for(int i=1;i<=n;i++)
24         printf("%d ",f[i]);
25     return 0;
26 }

 

转载于:https://www.cnblogs.com/InWILL/p/10206251.html

内容概要:本文档详细介绍了如何使用MATLAB实现粒子群优化算法(PSO)优化极限学习机(ELM)进行时间序列预测的项目实例。项目背景指出,PSO通过模拟鸟群觅食行为进行全局优化,ELM则以其快速训练强泛化能力著称,但对初始参数敏感。结合两者,PSO-ELM模型能显著提升时间序列预测的准确性。项目目标包括提高预测精度、降低训练时间、处理复杂非线性问题、增强模型稳定性鲁棒性,并推动智能化预测技术的发展。面对数据质量问题、参数优化困难、计算资源消耗、模型过拟合及非线性特征等挑战,项目采取了数据预处理、PSO优化、并行计算、交叉验证等解决方案。项目特点在于高效的优化策略、快速的训练过程、强大的非线性拟合能力广泛的适用性。; 适合人群:对时间序列预测感兴趣的研究人员、数据科学家以及有一定编程基础并希望深入了解机器学习优化算法的工程师。; 使用场景及目标:①金融市场预测,如股票走势预测;②气象预报,提高天气预测的准确性;③交通流量预测,优化交通管理;④能源需求预测,确保能源供应稳定;⑤医疗健康预测,辅助公共卫生决策。; 其他说明:文档提供了详细的模型架构描述MATLAB代码示例,涵盖数据预处理、PSO优化、ELM训练及模型评估等关键步骤,帮助读者全面理解实践PSO-ELM模型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值