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

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;
	}
}
相关推荐
测试杂货铺2 小时前
Web自动化测试详细流程和步骤
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
wuqingshun3141592 小时前
蓝桥杯 整数变换
数据结构·c++·算法·职场和发展·蓝桥杯
wen__xvn3 小时前
每日一题洛谷P8717 [蓝桥杯 2020 省 AB2] 成绩分析c++
c++·算法·蓝桥杯
f狐0狸x3 小时前
【蓝桥杯每日一题】3.25
开发语言·数据结构·c++·算法·蓝桥杯
m0_7352346013 小时前
蓝桥杯算法实战分享:算法进阶之路与实战技巧
算法·职场和发展·蓝桥杯
_GR13 小时前
2021年蓝桥杯第十二届C&C++大学B组真题及代码
c语言·数据结构·c++·算法·蓝桥杯
咚咚轩14 小时前
蓝桥杯12届 货物摆放
蓝桥杯
独行soc14 小时前
2025年渗透测试面试题总结- shopee-安全工程师(题目+回答)
java·网络·python·科技·面试·职场和发展·红蓝攻防
测试老哥16 小时前
白盒测试用例的设计(图文讲解)
自动化测试·软件测试·python·测试工具·职场和发展·单元测试·测试用例
遥感小萌新18 小时前
【蓝桥杯】真题 2386染色时间 (优先队列BFS)
职场和发展·蓝桥杯·宽度优先