[BZOJ 1293] 生日礼物
Link:
Solution:
这题直接上尺取法就行了吧
先将每种颜色第一个放入优先队列,用$mx$维护当前的末尾位置
每次取出第一个颜色,更新答案。将其下一个放入队列中去,更新$mx$
Tip:此题BZOJ无故TLE,本机和Luogu都能AC
Code:
#include <bits/stdc++.h> using namespace std;
typedef long long ll;
typedef pair<ll,int> P;
int n,k,cur[];
ll mx,res=1ll<<,a[][]; int main()
{
priority_queue<P,vector<P>,greater<P> > q; scanf("%d%d",&n,&k);
for(int i=;i<=k;i++)
{
scanf("%d",&a[i][]);
for(int j=;j<=a[i][];j++)
scanf("%lld",&a[i][j]);
q.push(P(a[i][],i));
mx=max(mx,a[i][]);cur[i]=;
} for(int i=;i<=n-k+;i++)
{
P t=q.top();ll now=t.second;
res=min(res,mx-t.first);
cur[now]++;if(cur[now]>a[now][]) break; q.pop();q.push(P(a[now][cur[now]],now));
if(a[now][cur[now]]>mx) mx=a[now][cur[now]];
}
printf("%lld",res);
return ;
}
[BZOJ 1293] 生日礼物的更多相关文章
- BZOJ 1293 生日礼物(尺取法)
把坐标离散化之后就是很普通的尺取法啦. # include <cstdio> # include <cstring> # include <cstdlib> # i ...
- BZOJ 1293: [SCOI2009]生日礼物【单调队列】
1293: [SCOI2009]生日礼物 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2534 Solved: 1383[Submit][Stat ...
- [bzoj 1293] [SCOI2009] 生日礼物
传送门(bzoj) 传送门(luogu) 题目: Description 小西有一条很长的彩带,彩带上挂着各式各样的彩珠.已知彩珠有N个,分为K种.简单的说,可以将彩带考虑为x轴,每一个彩珠有一个对应 ...
- BZOJ 1293 SCOI2009 生日礼物 堆
题目大意:给定一个数轴上n个点,每一个点有一种颜色,一共k种颜色.求一个最短的区间,包括全部k种颜色 卡了一段时间0.0 一開始想二分答案啥的 后来发现数据范围太大写不了0.0 后来去找题解才发现尼玛 ...
- bzoj 1293: [SCOI2009]生日礼物 问题转化 + 性质分析 + 滚动数组优化
Description 小西有一条很长的彩带,彩带上挂着各式各样的彩珠.已知彩珠有N个,分为K种.简单的说,可以将彩带考虑为x轴,每一个彩珠有一个对应的坐标(即位置).某些坐标上可以没有彩珠,但多个彩 ...
- 【BZOJ 1293】[SCOI2009]生日礼物
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 显然的滑动窗口题. (尺取法 如果l..i这一段已经有k种珍珠了. 那么就尝试把l++; (即把l这个影响尝试去掉一下 如果不足k种 ...
- Bzoj 2288 生日礼物题解
2288: [POJ Challenge]生日礼物 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 856 Solved: 260[Submit][S ...
- bzoj 1293 贪心
首先我们可以将这道题看成一个数轴,数轴其中的某些点存在一些颜色,我们要选取最短的一段,使这段存 在所有颜色,那么我们使用指针i,j表示在j-i位置中包含的颜色,那么初值是0,0,我们先i++,同时添加 ...
- 【BZOJ】【1293】【SCOI2009】生日礼物
二分/堆 求一个最小的区间使得包含所有的颜色(并不一定只出现一次)$n\leq 10^6$ 我想的做法是:二分这个最小的长度(满足单调性……好久才想到QAQ),然后O(n)判断是否有可行的区间,这一步 ...
随机推荐
- npm错误总结
You cannot publish over the previously published version 1.0.1." : xxx 发布时一定要修改package.json的版本号 ...
- Could not resolve com.android.support:multidex:1.0.2
http://blog.csdn.net/goodlixueyong/article/details/50992835
- 有关spring的各种下载资料的网站
spring的文件和jar包下载的网站: https://repo.spring.io/release/org/springframework/spring/ spring 各个版本源码下载的资料: ...
- [CVPR2018]Learning to Adapt Structured Output Space for Semantic Segmentation
学习适应结构化输出空间进行语义分割 在语义分割场景中,虽然物体在外表上不同,但是他们的输出是结构化且共享很多例如空间分布, 局部内容等信息.所以作者提出了multi-level的输出空间adaptat ...
- ActiveMQ(4) ActiveMQ JDBC 持久化 Mysql 数据库
ActiveMQ 消息持久化机制: ActiveMQ 消息的持久化机制有 JDBC.AMQ.KahaDB 和 LevelDB,其中本示例版本(5.15.2)默认机制为 KahaDB.无论哪种持久化机制 ...
- Intelij idea新窗口打开项目设置
1.idea 打开后 file->setting 2.appearance&behave->system setting->open project in new win ...
- 【STSRM12】夏令营(分治决策单调+主席树)
[题意]n个数字分成k段,每一段的价值是段内不同数字的个数,求最大价值.n<=35000,k<=50. [算法]分治决策单调+主席树(可持久化线段树) [题解] f[i][j]表示前i天分 ...
- python-自定义分页组件
使用方法 """ 自定义分页组件的使用方法: pager_obj = Pagination(request.GET.get('page',1),len(HOST_LIST ...
- SuSE Linux10.1 网络设置以及和主机通信
SuSE Linux10.1 网络设置以及和主机通信 http://www.cnblogs.com/kevintian/articles/1086994.html 在VMWare上安装好SuSE之后, ...
- 聊聊C++模板函数与非模板函数的重载
前言 函数重载在C++中是一个很重要的特性.之所以有了它才有了操作符重载.iostream.函数子.函数适配器.智能指针等非常有用的东西. 平常在实际的应用中多半要么是模板函数与模板函数重载,或者是非 ...