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 ...
随机推荐
- zabbix的深入了解
一,Zabbix Web操作深入 1.1 Zabbix Web下的主机和模版以及监控项的添加方式 (1)创建一个模版 我们所有的功能几乎都是在模版中定义的 我们再点进新创建的模版查看 模版里几乎可以设 ...
- 使用maven下载源码和doc(转)
原文链接: http://blog.csdn.net/sxdtzhaoxinguo/article/details/46518295 http://blog.csdn.net/chengxusheji ...
- bootstrap-treeview 自定义实现双击事件
bootstrap-treeview是一款效果非常酷的基于bootstrap的jQuery多级列表树插件.该jQuery插件基于Twitter Bootstrap,以简单和优雅的方式来显示一些继承树结 ...
- Samsung_tiny4412(驱动笔记08)----jiffies,timer,kthread,workqueue,tasklet
/*********************************************************************************** * * jiffies,tim ...
- opencv-原图基础上添加指定颜色
前言 项目中需要将某些区域使用不同的颜色表示出来,同时能够看到原图作为底色. 代码 #include "opencv2/highgui/highgui.hpp" #include ...
- linux比较两个文件的差异
1. vimdiff $ vimdiff in.txt out.txt 垂直打开: vimdiff point.c point-a.c 水平打开: vimdiff -o point ...
- win10系统把文件夹固定到任务栏
为某个文件夹创建快捷方式 右键该快捷方式,选择固定到开始屏幕 点击win图标进入开始屏幕,在屏幕的右侧有刚才固定的快捷方式 右键该快捷方式,选择固定到任务栏即可.
- spfa【模板】
#include<iostream> #include<cstdio> #include<cstring> #include<queue> using ...
- java8 流操作 好文网址
api 各方法详解(很不错!) http://blog.51cto.com/turnsole/2093185 api 各方法 简介: https://www.cnblogs.com/guguli/p/ ...
- 表单添加缩略图及截图js代码
此为表单提交是上传截图的代码,待优化: // 添加小程序图片 function addAvatar(obj){ var file = obj.files[0]; limit($('.avatar_bo ...