bzoj1293 生日礼物
Description
Input
Output
对彩珠排序
用一个数组记录当前区间每种颜色出现次数
从左到右扫描结束位置,若得到合法结束位置则尽量右移起始位置,计算长度若更优则更新答案,起始位置右移一,重复本步
#include<cstdio>
#include<algorithm>
inline int read(){
int x=,c=getchar();
while(c>''||c<'')c=getchar();
while(c>=''&&c<='')x=x*+c-'',c=getchar();
return x;
}
int ts[],t=,ans=;
struct p{
int x,t;
}ps[];
int pp=;
inline bool operator<(p a,p b){return a.x<b.x;}
int n,k,m,x;
int main(){
n=read();k=read();
for(int i=;i<=k;i++){
m=read();
while(m--){
x=read();
ps[pp++]=(p){x,i};
}
}
std::sort(ps,ps+pp);
int l=,r=;
while(){
while(t<k&&r<=n){
if(!ts[ps[r++].t]++)t++;
}
if(r>n)break;
while(){
if(!--ts[ps[l++].t]){
int v=ps[r-].x-ps[l-].x;
if(v<ans)ans=v;
t--;
break;
}
}
}
printf("%d",ans);
return ;
}
bzoj1293 生日礼物的更多相关文章
- 【BZOJ1293】[SCOI2009]生日礼物(单调队列)
[BZOJ1293][SCOI2009]生日礼物(单调队列) 题面 BZOJ 洛谷 题解 离散之后随便拿单调队列维护一下就好了. #include<iostream> #include&l ...
- bzoj1293[SCOI2009]生日礼物 尺取法
1293: [SCOI2009]生日礼物 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2838 Solved: 1547[Submit][Stat ...
- BZOJ1293 [SCOI2009]生日礼物 离散化
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1293 题意概括 彩珠有N个,分为K种.每一个彩珠有一个对应的坐标.坐标上可以没有彩珠,多个彩珠也可 ...
- bzoj1293: [SCOI2009]生日礼物(stl堆)
1293: [SCOI2009]生日礼物 题目:传送门 题解: 据说这道题乱搞随便就水过了 本蒟蒻想到了一个用堆的水法(还专门学了学queue): 如果把每一种颜色的下一个位置都记录一下的话,一开始就 ...
- bzoj1293: [SCOI2009]生日礼物
单调队列 用一个堆维护目前每个颜色在里面的点,每回取出队首点,并更新答案.一旦哪个颜色的点都被用完,跳出循环. #include<cstdio> #include<algorithm ...
- BZOJ1293:[SCOI2009]生日礼物——题解
http://www.lydsy.com/JudgeOnline/problem.php?id=1293 https://www.luogu.org/problemnew/show/P2564#sub ...
- BZOJ1293 [SCOI2009]生日礼物 【队列】
题目 小西有一条很长的彩带,彩带上挂着各式各样的彩珠.已知彩珠有N个,分为K种.简单的说,可以将彩带考虑为x轴,每一个彩珠有一个对应的坐标(即位置).某些坐标上可以没有彩珠,但多个彩珠也可以出现在同一 ...
- 【堆】bzoj1293 [SCOI2009]生日礼物
考虑poj3320尺取法的做法,与此题基本一样,但是此题的 位置 的范围到2^31 尺取法不可. 将每种珠子所在的位置排序. 每种珠子要维护一个指针,指到已经用到这个种类的哪个珠子. 所以尺取法用堆优 ...
- BZOJ1293:[SCOI2009]生日礼物
浅谈队列:https://www.cnblogs.com/AKMer/p/10314965.html 题目传送门:https://lydsy.com/JudgeOnline/problem.php?i ...
随机推荐
- bacula配置
Bacula Bacula是一款开源的跨平台网络备份工具,提供基于企业级的CS的备份解决方案.可以对数据进行备份.恢复.以及完整性校验. 功能特点: 支持完全备份,增量备份,差异备份. 支持多种恢复 ...
- L243 词汇题2009
The applications of genetic engineering are abundant (plentiful) and choosing one appropriate for th ...
- mysql数据库索引相关
一 介绍 什么是索引? 索引在MySQL中也叫做“键”,是存储引擎用于快速找到记录的一种数据结构.索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发重要.索引优化应该是 ...
- 统一异常处理@RestContrllerAdvice,@ExceptionHandler(转载)
思想很重要 统一异常处理实现方式:使用注解@RestContrllerAdvice,@ExceptionHandler 先想明白一个问题:定义统一异常处理类之后,是不是在Contrller中就不用捕获 ...
- Alpha阶段敏捷冲刺---Day6
一.Daily Scrum Meeting照片 二.今天冲刺情况反馈 今天的任务标志着我们项目进入收尾阶段,今天将完成大部分程序的功能,例如主界面设计,彻底完成计算模块,服务器随机生成题目等等,这些任 ...
- Tesseract-OCR 训练教程(二) 合并新的训练文件
在原有训练数据的基础上,如果有新的字符训练信息需要加入,所有数据重新校准一遍就累死人了.... 经研究找到实用合并方法(红色部分为示例,实际应为你自己生成的文件名): 在新的训练数据生成.box 和. ...
- 在C#中如何定义一个变长的结构数组?如果定义好了,如何获得当前数组的长度?
用ArrayList,他就相当于动态数组,用add方法添加元素,remove删除元素,count计算长度
- Python 日志管理封装
封装python中的logging方便日常使用 class Logger(object): level_mapping = { 'debug': logging.DEBUG, 'info': logg ...
- 关于CGI和FastCGI的理解
在搭建 LAMP/LNMP 服务器时,会经常遇到 PHP-FPM.FastCGI和CGI 这几个概念.如果对它们一知半解,很难搭建出高性能的服务器. 0.CGI的引入 在网站的整体架构中,Web Se ...
- David Silver 强化学习原理 (中文版 链接)
教程的在线视频链接: http://www.bilibili.com/video/av9831889/ 全部视频链接: https://space.bilibili.com/74997410/vide ...