这个题看上去状态比较多,实际上由于题目的输出需要,又因为是一个线性的结构,所以我们可以有一些操作。

这么想,如果我们有了一个满足条件的区间,此时我们缩减左端点,然后判断此时是否还是满足,满足就继续缩减,不满足就伸长右端点,直到下一次又满足条件为止,复杂度差不多O(N)。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<queue>
#define re register
#define ll long long
using namespace std;
struct zz
{
int a,b;
};
int b[],h,t,n,m,x,num,minn=,cnt;
zz d[],q[];
inline bool cmp(zz x,zz y)
{
return x.a<y.a;
}
int main()
{
cin>>n>>m;
for(re int i=;i<=m;i++)
{
cin>>x;
for(re int j=;j<=x;j++)
{
cin>>d[++num].a;
d[num].b=i;
}
}
h=;t=;
sort(d+,d+num+,cmp);
for(re int i=;i<=n;i++)
{
q[++t]=d[i];
b[d[i].b]++;
if(b[d[i].b]==)
cnt++;
while(cnt==m)
{
minn=min(minn,q[t].a-q[h].a);
b[q[h].b]--;
if(b[q[h].b]==)
cnt--;
h++;
}
}
cout<<minn;
}

最新文章

  1. 将自己的项目上传到github保管
  2. 提升PHP编程效率的20个要素
  3. pkcs1与pkcs8格式RSA私钥互相转换
  4. 算法:KMP算法
  5. IOS textField(textview)字数判断
  6. Swift-Switch穿透
  7. FW: javascripts 要不要加引号
  8. MongoDB-JAVA-Driver 3.2版本常用代码全整理(3) - 聚合
  9. PHP正则匹配邮件地址、URL
  10. (转)在Winform程序中设置管理员权限及为用户组添加写入权限
  11. Android Handler使用实例
  12. 基于 JQUERY 网页 banner
  13. MVC笔记3:JQuery AutoComplete组件
  14. 微信退款流程,以及在过程中遇见的错误和解决方式(php 语言)
  15. JAVA实现网页上传头像
  16. Docker Centos6 下建立 Docker 桥接网络
  17. dojo中的dojox/grid/EnhancedGrid表格报错
  18. MongoDB学习(操作集合中的文档)
  19. Effective STL 读书笔记
  20. [LeetCode] Serialize and Deserialize N-ary Tree N叉搜索树的序列化和去序列化

热门文章

  1. 服务器之FRU
  2. 表变量、临时表(with as ,create table)
  3. MySQL中enum类型数据,要传入字符串
  4. HTML5新增的语义标签和IE版本低的兼容性问题
  5. Django项目部署(django+guncorn+virtualenv+nginx)
  6. 通过less 计算 得出图片均分布局
  7. qs.parse()、qs.stringify()、JSON.stringify() 用法及区别
  8. Google Cloud Platfrom中使用Linux VM
  9. JQuery 获取父元素方法
  10. 每天一个Linux命令(43)at命令