蓝桥杯备考-----》前缀和+哈希表之连续自然数和

M是2e6级别的,我们如果N平方必然是过不了滴

当然,我们枚举的时候并不需要枚举那么多,我们只需要枚举M的一半儿就行了

我们用前缀和,提前把0下标标记为0 ,如果f[i]刚好是sum的话,就输出1到i

如果f[i]不是sum的话,我们用mp寻找一下有没有 f[i]-sum 的数,如果有的话,我们输出mp[f[i]-sum]+1到i

好的,我们来实现一下代码

cpp 复制代码
#include <iostream>
#include <unordered_map>
using namespace std;
typedef long long ll;
unordered_map <ll,int> mp;
ll sum;
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	ll m;cin >> m;
	mp[0]=0;
	for(int i = 1;i<=m/2+1;i++)
	{
		sum+=i;
		if(mp.count(sum-m))
		{
			cout << mp[sum-m] +1 << " " <<i << endl;
		}
		mp[sum]=i;
	}
}
相关推荐
养一只Trapped_beast3 小时前
【LeetCode】删除排序数组中的重复项 II
算法·leetcode·职场和发展
咚咚轩5 小时前
蓝桥杯15届国赛 最小字符串
蓝桥杯
有一个好名字9 小时前
力扣:多数元素
算法·leetcode·职场和发展
嗨信奥12 小时前
蓝桥杯青少 图形化编程(Scratch)编程题每日一练——图形特效
青少年编程·蓝桥杯
蓝婷儿12 小时前
前端面试每日三题 - Day 29
前端·面试·职场和发展
uiop_uiop_uiop13 小时前
Xcode16.3配置越狱开发环境
职场和发展·蓝桥杯
嗨信奥15 小时前
蓝桥杯青少年—图形化编程每日练习——绘制云朵
青少年编程·蓝桥杯
独行soc1 天前
2025年渗透测试面试题总结-某服面试经验分享(附回答)(题目+回答)
linux·运维·服务器·网络安全·面试·职场和发展·渗透测试
试着1 天前
【AI面试准备】掌握常规的性能、自动化等测试技术,并在工作中熟练应用
面试·职场和发展·自动化·测试
吸纹鸽1 天前
蓝桥杯FPGA赛道第二次模拟题代码
fpga开发·蓝桥杯