九度 OJ 1554:区间问题 (set +前缀 +map)

公交车时间表查询(map<int.vector<int>>容器与unordered_map离散化和二元vector的综合运用) 此代码是利用了unoedered_map给车号离散化成较小的数(map也可以,map自动排序时间会长一点点),然后再用vector二元查询给定车号给定车次在什么时间到达。此代码直接利用map容器和vector容器综合运用,如果存在直接输出mp[x][c-1](其中map的第二维有vector容器的参与。因为此题给的车号数据是1e9,但vector容器最大1e7,考虑只查询1e5次,所以可以把1e9离散化到1e5内。 阅读详情

时间限制:1 秒

内存限制:128 兆

特殊判题:否

提交:3468

解决:291

题目描述:

给定一个数组,判断数组内是否存在一个连续区间,使其和恰好等于给定整数k。

输入:

输入包含多组测试用例,每组测试用例由一个整数n(1<=n<=10000)开头,代表数组的大小。
接下去一行为n个整数,描述这个数组,整数绝对值不大于100。
最后一行为一个整数k(大小在int范围内)。

输出:

对于每组测试用例,若存在这个连续区间,输出其开始和结束的位置,s,e(s <= e)。
若存在多个符合条件的输出,则输出s较小的那个,若仍然存在多个,输出e较小的那个。
若不存在,直接输出"No"。

样例输入:
5
-1 2 3 -4 9
5
3
-1 2 -3
7
2
-1 1
0
样例输出:
2 3
No
1 2
来源:
2014年王道论坛计算机考研机试全真模拟考试





#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<queue>
#include<stack>
#include<vector>
#include<set>
#include<map>


#define L(x) (x<<1)
#define R(x) (x<<1|1)
#define MID(x,y) ((x+y)>>1)

#define eps 1e-8
//typedef __int64 ll;

#define fre(i,a,b)  for(i = a; i < b; i++)
#define free(i,a,b) for(i = a; i >= b;i--)
#define mem(t, v)   memset ((t) , v, sizeof(t))
#define ssf(n)      scanf("%s", n)
#define sf(n)       scanf("%d", &n)
#define sff(a,b)    scanf("%d %d", &a, &b)
#define sfff(a,b,c) scanf("%d %d %d", &a, &b, &c)
#define pf          printf
#define bug         pf("Hi\n")

using namespace std;

#define INF 0x3f3f3f3f
#define N 100005


int n;
int sum[N],k;
int a[N];

set<int>le;
map<int ,int>mp;

void solve()
{
	int i,j;
    le.clear();
    mp.clear();

    bool flag=false;
    int s,e;

	free(i,n,1)
	{
	   le.insert(sum[i]);
	   mp[sum[i]]=i;

	   if(le.find(sum[i-1]+k)!=le.end())
	   {
	   	  s=i;
	   	  e=mp[sum[i-1]+k];
	   	  flag=true;
	   }
	}
    if(flag) pf("%d %d\n",s,e);
    else pf("No\n");
}

int main()
{
	   int i,j,t,ca=0;
	   while(~scanf("%d",&n))
	   {
	   	fre(i,1,n+1)
		 {
		    sf(a[i]);
			sum[i]=sum[i-1]+a[i];
		 }
	   sf(k);
       solve();

	   }
    return 0;
}


mysql9.0windows安装 将这里的位置修改为你刚刚创建并复制data目录的地址即可,win11的系统使用vscode修改之后,会让你确认开启更高权限以进行保存,比较方便,window10不需要确认,修改后可以直接保存。:在修改之前,最好将下图文件进行备份,将原始的文件保存好一份,以防更改了配置之后,导致mysql服务报错,无法启动,备份好的话直接将有问题的配置文件给替换就可以,无需重新安装一次mySql。双击下载的msi文件进行安装。安装有问题的,可以直接进行卸载,新本的mySql会将注册表中的数据自动进行清除,还是很方便的。 阅读详情

相关推荐

ANSYS Workbench瞬态结构分析(1)时域分析

本文围绕瞬态结构分析展开。首先阐释其概念与理论基础,涵盖控制方程及数值求解方法。接着详述在 ANSYS Workbench 中进行瞬态分析的操作流程,以音叉为例,介绍从创建分析系统、材料定义、几何处理与网格划分,到边界条件与载荷设置、求解器设置及结果后处理的各步骤。之后对分析结果进行探讨,并针对计算不收敛、计算时间过长等常见问题给出调试技巧,旨在为读者提供全面的瞬态结构分析知识与实践指导。

qq_58675332的博客 6527

C++中map<int,vector<int>>的初始化和访问方法

今天研究了一下形如map>或map,T>(T为某个内置类型)的关联容器如何初始化并显示其内容的问题,总结了一些版本如下,欢迎补充指正! ################   版本1   ################ #include #include #include #include using namespace std; typedef map,int> mymap; int

竭尽全力的专栏 3万+

A-Level经济例题解析及练习Opportunity Cost

例题Question: Opportunity CostYou are selling your 1996 Mustang.&nbsp; You have already spent $1000 on repairs.&nbsp;At the last minute, the transmission dies.&nbsp; You can pay $600 to have it repaired, or sell the car “as is.”In each of the fol

Alevel3的博客 744

unorder_map<int,vector<int>>使用

unorder_map与vector 利用

Msxiexie的博客 2876

【自动驾驶端到端5:VADv2: End-to-End Vectorized Autonomous Driving via Probabilistic Planning】

从大规模人类驾驶演示中学习类人驾驶策略是有希望的。但是,规划的不确定性使得从驾驶演示中提取驾驶知识是有挑战性的。从统计学习的角度来看,动作(包括实际和速度)是高度随机的,受许多无法建模的潜在因素影响。

weixin_40000560的博客 1404

Python自动化批量识别化学分子结构——从图片到SMILES/SDF的实战指南

本文提供了使用Python自动化批量识别化学分子结构图片的实战指南。详细对比了基于Molvec API的在线快速方案与本地部署OSRA工具的两种路径,包含完整的代码示例、环境配置及优化技巧,帮助化学研究者高效地将图片批量转换为SMILES或SDF格式,显著提升数据处理效率。

apple5的专栏 941

C++STL中map常见用法

map是一类关联式容器 自动建立Key-value的对应。key 和 value可以是任意你需要的类型。 根据key值快速查找记录,查找的复杂度基本是log(N)。 快速插入Key -Value 记录。 快速删除记录。 根据Key 修改value记录。 遍历所有记录。 常见用法 #include<bits/stdc++.h> #include<map> using namespace std; map<int, char> mp; int main() { fo.

qq_45817631的博客 937

STK相关总结

STK简介 一.SIM卡应用工具包(SIM Application Toolkit),又名CAT/USAT,它包含一系列终端与SIM卡的交互指令,SIM卡可以应用卡内的小应用程序和终端交互,从而实现增值服务的目的,STK包括三种类,STK-imsi切换,STK –OTA,STK-BIP 功能: (1) Profile download:配置下载,开机初始化SIM卡过程中,终端告诉SIM卡终端支持哪些功能,STK中download指终端将数据发送给SIM卡 (2) Proactive command: 主动式

jingjing_2的博客 3356

map<int , vector<int> >

mp[1].size()返回键1所对应的vector的大小,mp[1].push_back(j);将1对应的vectorpush_back了。mp.size()返回map容器吗mp里有几个键值对,输入任意两数,返回2。如果输入1 1,结果返回8,输入1 0结果返回4。

atomic_mattah的博客 782

如何利用Arcgis进行地统计学分析(三):空间插值方法选择与优化

本文深入探讨了在Arcgis中进行地统计学分析时,如何根据探索性数据分析(EDA)结果科学选择与优化空间插值方法。文章对比了IDW、RBF、克里金等主流方法的适用场景与核心参数,并通过实战案例详解了从数据诊断到模型调优的完整流程,强调结合半变异函数与趋势分析进行“对症下药”,以提升插值结果的精度与可靠性。

weixin_29281915的博客 120

华为OD机试真题 新系统【Skill执行链完整性检测】

华为OD机试 新系统真题【Skill执行链完整性检测】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【Skill执行链完整性检测】

qq_45776114的博客 763

题目1554:区间问题 map<int , vector<int> >的使用

题目1554:区间问题 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:966 解决:78 题目描述: 给定一个数组,判断数组内是否存在一个连续区间,使其和恰好等于给定整数k。 输入: 输入包含多组测试用例,每组测试用例由一个整数n(1 接下去一行为n个整数,描述这个数组,整数绝对值不大于100。 最

老李2009 4237

通过InoDriverShop伺服调试软件连接汇川SV660F系列伺服的具体方法示例

通过InoDriverShop伺服调试软件连接汇川SV660F系列伺服的具体方法示例

Robot_PLC_HMI_Automation 1万+

C++ map用法总结和vector用法总结

map用法总结 map是STL的一个关联容器,为key和value的一对一映射 定义: //需要在头文件处添加#include<map> map<int, int> m; map的基本操作函数:(拷贝自C++ map用法总结(整理)) C++ maps是一种关联式容器,包含“关键字/值”对 begin() 返回指向map头部的迭代器 clear() 删除所有元素 count() 返回指定

weixin_52721805的博客 1064

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

map<int,vector<int>>和 vector<map<int,vector<int>>>的用法

vector你想象成数组就可以了 map就是一个key一个value int vector 1 a[1,2,3,4,5] 2 b[1,2,3,4,5] 3 c[,1,2,3,4,5]

QWQ___qwq的博客 1428

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

map的使用109

1、map&amp;lt;int,vector &amp;gt;m; 直接将每一个元素当作一个vector 非常方便; m[t1].push_back(t2); m[t2].push_back(t1); 1090 危险的集装箱 #include #include #include #include using namespace std; int main() { int n,m,m1; cin&amp;...

weixin_43719397的博客 295

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

C++容器之vector&map应用——解析配置文件(一)

本篇主要介绍如何使用map和vector解析以逗号分隔的配置文件,属于map和vector的初级应用。

不经一翻彻骨寒,怎得梅花扑鼻香 1041

C++中map的用法

【C++STL】之map的用法。本文主要讲解了C++STL中的map的定义及初始化和一些map的常用用法。如果你觉得本文对你有所帮助的话,还望不吝惜您的三连支持一下我哦!

H1727548的博客 2590

leetcode-697. 数组的度刷题笔记(c++)

写在前面 难度:简单 核心思想 unordered_map<int, vector<int>> 元素值作为key 元素在数组中的下标存储为vector<int> vector是一种顺序容器 顺序容器指的是元素排列次序与元素的值无关,而是由元素添加到容器里的次序决定 题目详情 给定一个非空且只包含非负数的整数数组 nums, 数组的度的定义是指数组里任一元素出现频数的最大值。 你的任务是找到与 nums 拥有相同大小的度的最短连续子数组,返回其

kngines 553

C++中vector和map使用详解

标准库Vector类型 使用需要的头文件: #include Vector:Vector 是一个类模板。不是一种数据类型。 Vector是一种数据类型。 一、 定义和初始化 Vector v1; //默认构造函数v1为空 Vector v2(v1);//v2是v1的一个副本 Vector v3(n,i);//v3包含n个值为i的元素 Vector v4(n); //v4含有n

System Architect 2万+

8.12 STL 容器:vector、set、map等容器用法详解

STL 容器:vector、set、map等容器用法详解

m0_62709362的博客 1219

详解c++---map的介绍

map的用法介绍

qq_68695298的博客 9010

Map函数与vector<pair<int,int>>函数的使用方法

map 在插入元素时,通过比较键(key)的大小进行排序,实现二叉树自平衡。使用方式和map一致,但其支持重复的键,在插入时不允许使用数组方式的插入,也就是上文方法中添加数据的第4种方式。1.要注意end方法,其放回的并不是最后一个元素的指针,而是最后一个元素后一位的指针。11.resize 改变当前使用数据的大小,如果它比当前使用的大,则填充默认值。vector<pair<int,int>> 可以使用vector的方法;如果想使用相同的键,那么就要使用 multimap,其可以存放相同的键。

沐凡星的博客 1608

map使用

map> strData; vector vStr; for(int j = 0; j < col; j++) { vStr.clear(); for(int i = 0; i < strVec.size(); i++) { if(i % col == j) { CSt

puxin 384

C++使用迭代器遍历map<int>和vector<int>

【代码】C++使用迭代器遍历map<int>和vector<int>

slty_123的博客 299
上一篇: HDU 3853 LOOPS(概率dp)
下一篇: HDU 5188 zhx and contest(带限制条件的 01背包)
左眼皮跳跳~
博客等级 码龄13年 17粉丝 400原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值