【每日一题】8月17日题目精讲-[SCOI2009]生日礼物

来源:牛客网:

时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld

题目描述

小西有一条很长的彩带,彩带上挂着各式各样的彩珠。已知彩珠有N个,分为K种。简单的说,可以将彩带考虑为x轴,每一个彩珠有一个对应的坐标(即位置)。某些坐标上可以没有彩珠,但多个彩珠也可以出现在同一个位置上。
小布生日快到了,于是小西打算剪一段彩带送给小布。为了让礼物彩带足够漂亮,小西希望这一段彩带中能包含所有种类的彩珠。同时,为了方便,小西希望这段彩带尽可能短,你能帮助小西计算这个最短的长度么?彩带的长度即为彩带开始位置到结束位置的位置差。

输入描述:
第一行包含两个整数N, K,分别表示彩珠的总数以及种类数。
接下来K行,每行第一个数为Ti,表示第i种彩珠的数目。接下来按升序给出Ti个非负整数,为这Ti个彩珠分别出现的位置。
输出描述:
应包含一行,为最短彩带长度。
示例1
输入
复制

6 3
1 5
2 1 7
3 1 3 8

输出
复制

3

备注:
在这里插入图片描述

题解:

双指针,尺取法
先固定左界为1,然后移动右界,当范围内达到要求的彩珠数量时,固定右届开始移动左界,直到范围内不再包含所有颜色的彩珠,不断更新最小范围
详细可以看代码
不过代码有错误。。。我还没发现。。。。

代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll maxn=1100045;
struct node{ll col;//颜色 ll xy;//坐标 bool operator <(const node tmp)const{return this->xy<tmp.xy;}
}a[maxn];
long long cnt[maxn];
signed main()
{ll n,k;cin>>n>>k;ll ant=0;for(int i=1;i<=k;i++){ll x;cin>>x;for(int i=1;i<=x;i++){int y;cin>>y;a[++ant].col=i;a[ant].xy=y;}}sort(a+1,a+1+ant);ll l=1,r=maxn;ll sum=1e9+10;ll tmp;ll res=0;//所选不同颜色彩珠的数量 for(int i=1;i<=ant;i++)//从头开始枚举每一个彩珠 {if(cnt[a[i].col]==0)//说明这个颜色还么选res++; cnt[a[i].col]++;//加上当前彩珠while(res==k)//当数量足够时 {tmp=a[i].xy-a[l].xy; sum=min(sum,tmp);//记录最小距离 //-------接下来开始缩小范围//左边界开始向右靠,缩小边界cnt[a[l].col]--;//将左边界l的彩珠去掉 if(cnt[a[l].col]==0)res--; l++;//向右靠 } }cout<<sum<<endl;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/319524.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Followme Devops step by step

接着上次分享的devops历程[Followme Devops实践之路], 大家希望能够出一个step by step手册, 那今天我就来和手把手来一起搭建这么一套环境, 演示整个过程!实验环境需要准备docker /docker compose建议大家使用国外的vps学习, 不需要考虑网络/gwf的问题/方便(本demo搭建在linod…

【每日一题】8月25日题目精讲 XOR-pyramid

文章目录题目描述&#xff1a;题解&#xff1a;代码&#xff1a;题目描述&#xff1a; 链接&#xff1a;https://ac.nowcoder.com/acm/problem/112798 来源&#xff1a;牛客网 输入描述: 输出描述: Print q lines — the answers for the queries. 示例1 输入 复制 3 8 4 1…

申请Office 365一年免费的开发者账号攻略(2018年10月份版本)

要进行Office 365开发&#xff0c;当然需要有完整的Office 365环境才可以。为了便于广大开发人员快速地启动这项工作&#xff0c;微软官方给所有开发人员提供了免费的一年开发者账号那么如何申请Office 365一年免费的开发者账号呢&#xff1f;网上已经有一些攻略了&#xff0c;…

开源若要天下闻,掌声须给教育人

引子故事一当我们介绍 Linux Kernel 项目历史的时候&#xff0c;我们会如此说&#xff1a;“1991 年&#xff0c;赫尔辛基大学的大学生 Linus torvald, 在自己的电脑上开发了一个能够运行在 X86 架构上的操作系统&#xff0c;并将它发布在互联网上&#xff0c;任何人都可以参与…

【每日一题】8月27日题目精讲 Is It A Tree?

链接&#xff1a;https://ac.nowcoder.com/acm/problem/105905 来源&#xff1a;牛客网 时间限制&#xff1a;C/C 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C 10000K&#xff0c;其他语言20000K 64bit IO Format: %lld 题目描述 A tree is a well-known data struct…

好代码是管出来的——使用Jenkins搭建CI服务器

Jenkins是一个开源的跨平台的CI工具&#xff0c;它可以部署在Windows、Linux等平台上&#xff0c;并且Jenkins提供了非常丰富的插件来帮助完成编译、测试、部署等工作。  本文将介绍在Windows平台上使用Jenkins完成.Net Core应用的持续集成环境搭建&#xff0c;其主要内容有&…

牛客练习赛 59

A.小乔和小灰灰 前几天刚刚学了序列自动机&#xff0c;这题直接也没咋想暴力的做法&#xff0c;直接上序列自动机匹配子序列即可。 #define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0) #pragma GCC optimize(2) #include<iostream> #include<algorithm&…

.Net Core 2.1 通用主机(Core 在控制台应用程序中的应用)

一、介绍官方文档中说&#xff0c;Microsoft.AspNetCore.App 元包&#xff08;ASP.NET Core 2.1 或更高版本&#xff09;包含通用主机的Microsoft.Extensions.Hosting包&#xff0c;当创建控制台项目以后并没有相应的包。在官方案例中所用的Nuget包有&#xff1a;1. Microsoft.…

产品开发管理之流程和体系(总篇)

前言秋风瑟瑟&#xff0c;夏日的灼热犹在&#xff0c;就瞬间迎来刺骨寒风。凛冬将至&#xff0c;今天对我们来说&#xff0c;像贴面的利刃一样冰冷而真实。农民、建筑工人、司机、程序员、私企高管、私企老板、资本巨富&#xff0c;都被裹挟进了这个焦灼的时代&#xff0c;没有…

YbtOJ#593-木棍问题【费用流】

正题 题目链接:https://www.ybtoj.com.cn/contest/114/problem/3 题目大意 n∗mn*mn∗m的网格上有一些格子有木球&#xff0c;两个相邻木球直接可以有木棍。 两个LLL形的木棍会产生AAA的代价&#xff0c;两个III形的木棍会产生BBB的代价 对于每个kkk求出插入kkk根木棍时的最小…

1143 Lowest Common Ancestor 甲级

题意&#xff1a; 给出一棵二叉搜索树的前序遍历&#xff0c;问结点u和v的共同最低祖先是谁&#xff0c;利用先序遍历特点。 二叉搜索树满足&#xff1a; 节点的左子树只包含键小于节点键的节点。 节点的键只包含节点的右键大于或等于子树的节点的键。 左子树和右子树也必须是…

《.NET Core 2.0 应用程序高级调试》7折优惠

活动截止到2018年10月15日晚24:00&#xff0c;之后恢复8.6折价格。都说.NET Core 在Linux 上跑得快&#xff0c;可是如果.NET Core 程序在Linux 操作系统上出现了内存泄漏、死锁或者崩溃情况怎么办&#xff1f;怎样在Linux 和macOS操作系统上有效地使用工具对.NET Core 应用程序…

确认过眼神,你是ApacheWay的人 | COSCon‘18 特辑

*大会官网&#xff1a;http://coscon.kaiyuanshe.cn/*报名链接&#xff1a;点击文末“阅读原文”如果您对 Apache 感兴趣那么中国开源年会COSCon18将是您不可错过的一站写在大会前为什么本土开源项目对 Apache 青睐相加我们用实际数据说话Apache 顶级项目Apache CarbonData Car…

牛客练习赛 57——manacher算法 树形dp?

A - Tic-Tac-Toe 直接考虑每个人8种赢的情况即可。 #define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0) #pragma GCC optimize(2) #include<iostream> #include<algorithm> using namespace std; const int N5; char g[N][N]; int main() {//IO;int …

asp.net core 错误定位 vs2017 远程调试部署在centos上的asp.net core程序

前言程序运行中会出现各种BUG。 排除BUG有三种方式。一、访问页面直接报错误信息出于安全&#xff0c;服务器是关闭这个功能的。在centos上可以用 命令设置环境变量来解决&#xff1a; export ASPNETCORE_ENVIRONMENTDevelopment二、console输出console.WriteLine(" hel…

AspNet Core下利用 app-metrics+Grafana + InfluxDB实现高大上的性能监控界面

在日常系统工作中&#xff0c;我们为了洞察系统的问题和运作情况通常会记录日志的方式来进行分析&#xff0c;但是在很多情况下都是被动的在出问题后才会去查日志。在很多时候&#xff0c;我们可能更需要相对实时的了解整个系统或者某一时段的运行的情况&#xff0c;诸如系统出…

微软向Linux表白: 向Linux社区开放60000多项专利

10 月 10 日&#xff0c;微软在博客中宣布正式加入开放创新网络&#xff08;Open Invention Network, 简称“OIN”&#xff09;&#xff0c;向所有开源专利联盟的成员开放其专利组合。对开源&#xff0c;微软是认真的OIN 的首席执行官 Keith Bergelt 在采访中说道&#xff1a;微…

牛客网dp专题 数位dp

文章目录数位dp例题&#xff1a;NC116652 uva11038 How many 0sNC15035 送分了QAQNC20669 诡异数字NC20665 7的意志NC17385 Beautiful NumbersCF55D NC108918 Beautiful numbers习题&#xff1a;NC17867 明七暗七NC19327 好朋友NC19945 [CQOI2016]手机号码NC20268 [SCOI2009]WI…

微软技术大会预览:DevOps顾问是怎样开发自己的产品的

“没有人比我们更懂DevOps”&#xff0c;这句话不是谁都敢说的。从无人问津到整个IT行业趋之若鹜&#xff0c;DevOps火起来也不过是3年的事情&#xff0c;但是leansoftX.com的DevOps资深顾问都是在这个行业已经摸爬滚打了10年的老兵了&#xff0c;从一开始的SDLC&#xff0c;到…

PEACHPIE 0.9.11 版本发布,可以上生产了

PeachPie在官方博客&#xff08;https://www.peachpie.io/2018/10/release-0911-visual-studio.html&#xff09;发布了PeachPie的0.9.11版本 - 用于.NET和.NET Core的PHP编译器和运行时。此更新为项目管理引入了许多新功能&#xff0c;兼容性增强和改进。0.9.11是第一个非预览…