BZOJ1047: [HAOI2007]理想的正方形
来源:互联网 发布:mac网桥未连接 编辑:程序博客网 时间:2024/05/22 11:56
恩数据水被我卡过去了2333333
我的是n^2logn的。。每一次扫一遍multiset。。
然后居然就真的过去了23333
#include<cstdio>#include<iostream>#include<cstring> #include<set>using namespace std;multiset<int> Sum,Par[1001];char c;bool flag;inline void read(int &a){flag=false,a=0;do c=getchar();while((c<'0'||c>'9')&&c!='-');if(c=='-')flag=true,c=getchar();while(c<='9'&&c>='0')a=(a<<3)+(a<<1)+c-'0',c=getchar();if(flag)a=-a;}int MM[1001][1001];int Min_Par[1001],Max_Par[1001];int main(){int a,b,n,i,j,k;read(a),read(b),read(n);for(i=1;i<=a;i++) for(j=1;j<=b;j++) read(MM[i][j]); for(i=1;i<=a;i++) Par[i].clear();for(i=1;i<=n;i++) for(j=1;j<=b;j++) Par[j].insert(MM[i][j]); multiset<int>::iterator tp;int ans=1000000000;for(j=1;j<=b;j++) { Min_Par[j]=*Par[j].begin(); tp=Par[j].end(); tp--;Max_Par[j]=*tp; }Sum.clear();for(j=1;j<=n;j++) Sum.insert(Max_Par[j]),Sum.insert(Min_Par[j]);tp=Sum.end(); tp--; ans=min(ans,*tp-*Sum.begin());for(j=n+1;j<=b;j++) { Sum.erase(Sum.find(Max_Par[j-n])), Sum.insert(Min_Par[j]); Sum.erase(Sum.find(Min_Par[j-n])), Sum.insert(Max_Par[j]); tp=Sum.end(); tp--; ans=min(ans,*tp-*Sum.begin()); } for(i=2;i<=a-n+1;i++){ for(j=1;j<=b;j++) {Par[j].erase(Par[j].find(MM[i-1][j]));Par[j].insert(MM[i+n-1][j]); }for(j=1;j<=b;j++) { Min_Par[j]=*Par[j].begin(); tp=Par[j].end(); tp--;Max_Par[j]=*tp; }Sum.clear();for(j=1;j<=n;j++) Sum.insert(Max_Par[j]),Sum.insert(Min_Par[j]);tp=Sum.end(); tp--; ans=min(ans,*tp-*Sum.begin());for(j=n+1;j<=b;j++) { Sum.erase(Sum.find(Max_Par[j-n])),Sum.insert(Min_Par[j]); Sum.erase(Sum.find(Min_Par[j-n])),Sum.insert(Max_Par[j]); tp=Sum.end(); tp--; ans=min(ans,*tp-*Sum.begin()); } } printf("%d\n",ans);}
0 0
- 【BZOJ1047 || HAOI2007】理想的正方形
- BZOJ1047 HAOI2007 理想的正方形
- [BZOJ1047][HAOI2007]理想的正方形
- BZOJ1047: [HAOI2007]理想的正方形
- [BZOJ1047][HAOI2007]理想的正方形
- BZOJ1047: [HAOI2007]理想的正方形
- bzoj1047: [HAOI2007]理想的正方形
- 【BZOJ1047】【HAOI2007】理想的正方形
- bzoj1047【haoi2007】理想正方形
- 【bzoj1047】【单调队列】【HAOI2007】理想的正方形
- 【bzoj1047】【HAOI2007】【理想的正方形】【单调队列】
- BZOJ1047: [HAOI2007]理想的正方形 单调队列
- bzoj1047[HAOI2007]理想的正方形 单调队列
- bzoj1047 [HAOI2007]理想的正方形 单调队列
- [BZOJ1047]HAOI2007理想的正方形|单调队列|DP
- [BZOJ1047][HAOI2007]理想的正方形(单调队列)
- 【单调队列】BZOJ1047(HAOI2007)[理想的正方形]题解
- [bzoj1047][HAOI2007]理想的正方形(单调队列)
- Hibernate Criteria的 Criterion,Projection,Restrictions等条件设置
- android 传参 StringRequest 线程 实现页面页面停留
- 跨线程操作窗体
- canvas雪景
- 蓝桥杯 数列特征(排序,求和)
- BZOJ1047: [HAOI2007]理想的正方形
- Graphviz 画图和例子
- git 常用命令
- Redis中SortSet----实现购物车推荐
- oracle中group by 和order by 共同使用
- windows关闭某个已知的端口
- TabLayout:另一种Tab的实现方式
- android 百度地图定位与覆盖物的添加,以及他们的点击事件
- ubuntu下将可执行程序打包成deb包