当前位置: 首页 > article >正文

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

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

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

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

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

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

#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;
	}
}


http://www.kler.cn/a/597582.html

相关文章:

  • kotlin 内联函数 inline
  • Java集合框架深度剖析:从数据结构到实战应用
  • RestTemplate和RPC区别
  • Mysql深分页的解决方案
  • 怎么看股指期货多空单数量?
  • Linux 下 Git 使用简明指南
  • 004-SpringCloud Alibaba-OSS
  • 《基于自适应正负样本对比学习的特征提取框架》-核心公式提炼简洁版 2022年neural networks
  • 基于Python的个性化试题推荐系统
  • 【数据结构】kmp算法介绍+模板代码
  • 链游开发定制搭建:基于Dapp合约的链上游戏探索
  • Spring事务失效场景
  • prometheus 添加alertmanager添加dingtalk机器人告警
  • Linux 目录结构详解
  • 多阶段构建实现 Docker 加速与体积减小:含文件查看、上传及拷贝功能的 FastAPI 应用镜像构建
  • Spring Boot集成PageHelper:轻松实现数据库分页功能
  • 【Go】切片
  • 给管理商场消防安全搭建消防安全培训小程序全过程
  • 开源链动2+1模式与AI智能名片赋能的S2B2C共享经济新生态
  • 【零基础入门unity游戏开发——unity3D篇】3D模型 —— Model 模型页签