NOIP 考前 队列复习
BZOJ 1127
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#define M 2020
using namespace std;
int n,k,a[M][M];
long long sum[M][M];
long long Get_Sum(int x1,int y1,int x2,int y2)
{
return sum[x2][y2]-sum[x1-][y2]-sum[x2][y1-]+sum[x1-][y1-];
}
void Output(int x1,int y1,int x2,int y2)
{
while( Get_Sum(x1,y1,x2,y2)>k* )
{
if(x1==x2)
y2--;
else
{
if( Get_Sum(x1+,y1,x2,y2)>=k )
x1++;
else
x2--;
}
}
printf("%d %d %d %d\n",y1,x1,y2,x2);
exit();
}
void Monotonous_Stack(int base,int h[])
{
static int stack[M],top;
static int l[M],r[M];
int i; for(top=,i=;i<=n+;i++)
{
while( top && h[stack[top]]>h[i] )
r[stack[top--]]=i-;
stack[++top]=i;
}
for(top=,i=n;i>=;i--)
{
while( top && h[stack[top]]>h[i] )
l[stack[top--]]=i+;
stack[++top]=i;
}
for(i=;i<=n;i++)
if(h[i])
{
long long temp=Get_Sum(base-h[i]+,l[i],base,r[i]);
if( temp>=k )
Output(base-h[i]+,l[i],base,r[i]);
}
}
int main()
{
int i,j;
cin>>k>>n;
for(i=;i<=n;i++)
for(j=;j<=n;j++)
{
scanf("%d",&a[i][j]);
if( a[i][j]>=k && a[i][j]<=k* )
{
printf("%d %d %d %d\n",j,i,j,i);
return ;
}
sum[i][j]=sum[i-][j]+sum[i][j-]-sum[i-][j-]+a[i][j];
}
static int h[M];
for(i=;i<=n;i++)
{
for(j=;j<=n;j++)
h[j]=a[i][j]>k*?:h[j]+;
Monotonous_Stack(i,h);
}
puts("NIE");
return ;
}
BZOJ 1127
NOIP 考前 队列复习的更多相关文章
- NOIP 考前 数论复习
POJ 2891 x=r1 (mod a1) x=r2 (mod a2) x=a1*x+r1,x=a2*y+r2; a1*x-a2*y=r2-r1; 用Extend_Gcd求出m1*x+m2*y=d; ...
- NOIP 考前 数据结构复习
BZOJ 1455 左偏树即可 #include <cstdio> #define LL long long ; struct Info{LL l,r,v,Dis;}Tree[Maxn]; ...
- NOIP 考前DP 复习
POJ 2533 最长不降子序列 #include <cstdio> ; int a[Maxn],Pos[Maxn],F[Maxn],n,Ans; inline int Max(int x ...
- NOIP 考前 Tarjan复习
POJ 1236 给定一个有向图,求: 1) 至少要选几个顶点,才能做到从这些顶点出发,可以到达全部顶点 2) 至少要加多少条边,才能使得从任何一个顶点出发,都能到达全部顶点 第一个就是缩点之后有多少 ...
- noip考前模板复习
网络流 Dinic(搭配飞行员) //Serene #include<algorithm> #include<iostream> #include<cstring> ...
- Noip前的大抱佛脚----Noip真题复习
Noip前的大抱佛脚----Noip真题复习 Tags: Noip前的大抱佛脚 Noip2010 题目不难,但是三个半小时的话要写四道题还是需要码力,不过按照现在的实力应该不出意外可以AK的. 机器翻 ...
- NOIP考前划水
NOIP考前划水 君指先跃动の光は.私の一生不変の信仰に.唯私の超電磁砲永世生き! 要开始背配置了? 3行不谢. (setq c-default-style "awk") (glo ...
- NOIP 考前 并查集复习
POJ 1182 把一个点拆成x,x+n,x+2*n,x吃y可以表示认为x,y+n是一类的,x+n,y+2*n是一类,x+2*n,y是一类. #include <cstdio> ; ],n ...
- NOIP考前复习-数制转换,数论模板与文件读写
数制转换有两种题型,一般一题,分值1.5分. 题型一:R进制转十进制 解法就是:按权展开,但要注意各个位的权,最低位(最右边)的权是0次方,权值为1. 纯整数的情况: (11010110)2 = 1× ...
随机推荐
- 如何修改file控件
在移动web开发过程中,常常会用到input file这控件,但css不能修改其样式往往让开发者很头疼,直接把他放到页面上又不美观: 下面介绍的方法,可以将该控件的显示样式替换成一个图标: 该方法 ...
- 学习PYTHON之路, DAY 4 - PYTHON 基础 4 (内置函数)
注:查看详细请看https://docs.python.org/3/library/functions.html#next 一 all(), any() False: 0, Noe, '', [], ...
- ROS的单线程Spinning和多线程Spinning
单线程Spinning ros::spin()是最简单的单线程自旋, 它会一直调用直到结束 用法: ros::spin(); 另一个单线程spinning是ros::spinOnce(),它定期调用 ...
- 常看常遇见之一——BS架构VS CS架构
常看常遇见之一——BS架构VS CS架构 1.BS架构 即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构.在这种结构下,用户 ...
- BZOJ2329 [HNOI2011]括号修复
把左括号看做$1$,右括号看做$-1$,于是查询操作等于查询一个区间左边右边最大(最小)子段和 支持区间翻转,反转,覆盖操作...注意如果有覆盖操作,之前的操作全部作废了...于是在下传标记的时候要最 ...
- spring MVC 资料
1.web.xmlorg.springframework.web.filter.CharacterEncodingFilter;配置字符编码,配置示例: <filter> <filt ...
- SQL Server 2012提供的OFFSET/FETCH NEXT与Row_Number()对比测试 [T]
SQL Server 2008中SQL应用系列--目录索引 前些天看到一篇文章<SQL Server 2012 - Server side paging demo using OFFSET/FE ...
- Git 配置
在 windows 上安装完 Git 会右键菜单中看到 Git 的快捷打开选项, 点 Git Bash Here 就可以在当前目录下打开 Git 的命令行 Git shell,初次使用 Git 先配置 ...
- DevExpress--xtraTabbedMdiManager控件
因项目需要要实现类似jquery的Tab效果,所以要用到xtraTabbedMdiManager控件 使用xtraTabbedMdiManager一般配合navBarControl(上期已写过) 在工 ...
- js isArray
function isArray(value) { if (typeof Array.isArray === "function") { return Array.isArray( ...