题面

原来看过然后没做,结果板板把这道题改了改考掉了,血亏=。=

首先看看有没有符合条件的点。如果没有开始寻找解,先把所有的大于$2*k$的点设为坏点,然后求最大子矩形,只要一个最大子矩形的权值和超过$2*k$则它的一个子矩形一定可以成为解。因为这时所有点都小于$k$,这个最大子矩形既然权值和超过$2*k$那么一定是有一部分落在所求的区间中,然后逐行/列枚举切一下是一定有解的。

注意最大子矩形的边界(为什么你们的最大子矩形都要做两遍啊=。=)

 #include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=;
struct a
{
int xx,yy,zz;
}stk[N],str;
long long fsum[N][N];
int mapp[N][N],dp[N][N];
long long n,k,rd,top,ans;
void gun(){exit();}
long long getsum(int x1,int y1,int x2,int y2)
{
return fsum[x2][y2]-fsum[x1-][y2]-fsum[x2][y1-]+fsum[x1-][y1-];
}
void check(int x1,int y1,int x2,int y2)
{
if(x1>x2||y1>y2) return ;
long long sum=getsum(x1,y1,x2,y2); if(sum<k) return ;
if(sum>=k&&sum<=*k) printf("%d %d %d %d",y1,x1,y2,x2),gun();
for(int i=x1+;i<=x2;i++)
{
long long t1=getsum(i,y1,x2,y2),t2=sum-t1;
if(t1>=k&&t1<=*k) printf("%d %d %d %d",y1,i,y2,x2),gun();
else if(t2>=k&&t2<=*k) printf("%d %d %d %d",y1,x1,y2,i),gun();
}
return ;
}
int main ()
{
scanf("%lld%lld",&k,&n);
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
{
scanf("%lld",&rd),mapp[i][j]=(rd<=*k),fsum[i][j]=rd;
if(rd<=*k&&rd>=k) printf("%d %d %d %d",j,i,j,i),gun();
}
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
{
fsum[i][j]+=fsum[i-][j]+fsum[i][j-]-fsum[i-][j-];
if(mapp[i][j]) dp[i][j]=dp[i-][j]+;
}
for(int i=;i<=n;i++)
for(int j=;j<=n+;j++)
{
str.xx=j,str.yy=dp[i][j],str.zz=i;
if(!top||stk[top].yy<str.yy) stk[++top]=str;
else
{
int tmp=j;
while(top&&stk[top].yy>=str.yy)
check(stk[top].zz-stk[top].yy+,stk[top].xx,stk[top].zz,j-),tmp=stk[top--].xx;
str.xx=tmp,stk[++top]=str;
}
}
printf("NIE");
return ;
}

解题:POI 2008 Plot purchase的更多相关文章

  1. [POI 2008&洛谷P3467]PLA-Postering 题解(单调栈)

    [POI 2008&洛谷P3467]PLA-Postering Description Byteburg市东边的建筑都是以旧结构形式建造的:建筑互相紧挨着,之间没有空间.它们共同形成了一条长长 ...

  2. 解题:POI 2008 Subdivision of Kingdom

    题面 还可以这么搜......学到了(PoPoQQQ orz) 我们最朴素的做法是枚举所有状态(当然可以剪,剪完最终实际状态量也是$C_{26}^{13}$的),然后每次$O(n)$扫一遍判断,大概会 ...

  3. 解题:POI 2008 Station

    题面 水水的换根裸题,不过以前还真没做过换根的题 换根的思想就是在DFS中利用树的信息更新出当前点为根时的信息,具体来说一般是考虑子树外和子树内两部分 每个点的答案$ans$就是$ans[fa]+n- ...

  4. [POI 2008]Mafia

    这题目写了我好长时间,但还是几乎(不要在意细节)一遍 A 了喵~ 据说有代码奇短的,Orz 思路巧妙的大爷 想我这种 Brute Force 写写的傻 X 真是代码量飞起来了耶,喵~ 如果把每个人看成 ...

  5. [POI 2008][BZOJ 1132]Tro

    这题我真是无能为力了 这题的做法还是挺简单的 枚举左下角的点做为原点,把其余点按极角排序    PS.是作为原点,如枚举到 k 时,对于所有 p[i] (包括p[k]) p[i]-=p[k] (此处为 ...

  6. bzoj 1112 poi 2008 砖块

    这滞胀题调了两天了... 好愚蠢的错误啊... 其实这道题思维比较简单,就是利用treap进行维护(有人说线段树好写,表示treap真心很模板) 就是枚举所有长度为k的区间,查出中位数,计算代价即可. ...

  7. [BZOJ 1124][POI 2008] 枪战 Maf

    1124: [POI2008]枪战Maf Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 659  Solved: 259[Submit][Status ...

  8. loj10104 [POI 2008]Blockade

    传送门 分析 我们知道对于一个割点,我们如果去掉它就会使原来的图被分为若干块,则这是我们将所有块包含的点的个数两两相乘即可,而如果不是割点则对于图的连通性没有影响.注意在最后要加上2*(n-1)表示去 ...

  9. [POI 2008] BLO

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1123 [算法] 首先,如果一个点不是割点,那么,去掉该点后不连通的有序点对就为 : ...

随机推荐

  1. 出现 org.springframework.beans.factory.BeanCreationException 异常的原因及解决方法

    1 异常描述 在从 SVN 检出项目并配置完成后,启动 Tomcat 服务器,报出如下错误: 2 异常原因 通过观察上图中被标记出来的异常信息,咱们可以知道 org.springframework.b ...

  2. lscpi命令详解

    基础命令学习目录 lspci是一个用来查看系统中所有PCI总线以及连接到该总线上的设备的工具. 命令格式为 lspci -参数 (不加参数显示所有硬件设备) 至于有哪些参数及其详细用法可以看下这篇博客 ...

  3. ssh软件及命令的使用

    常用软件安装及使用目录 第1章 ssh常用用法小结 1.1 连接到远程主机: 命令格式 : ssh name@remoteserver 或者 ssh remoteserver -l name 说明:以 ...

  4. node child_process模块

    NodeJs是一个单进程的语言,不能像Java那样可以创建多线程来并发执行.当然在大部分情况下,NodeJs是不需要并发执行的,因为它是事件驱动性永不阻塞.但单进程也有个问题就是不能充分利用CPU的多 ...

  5. XSS攻击防御篇

    前言   上篇文章中提到了 XSS 攻击,而且,也从几个方面介绍了 XSS 攻击带来的严重影响.那么,这篇文章中,主要是针对 XSS 攻击做一个基本的防御,看看可以通过几种方式来修复这个特别常见的安全 ...

  6. “Hello World!”团队第六周的第三次会议

    今天是我们团队“Hello World!”团队第六周召开的第三次会议.博客内容: 一.会议时间 二.会议地点 三.会议成员 四.会议内容 五.todo list 六.会议照片 七.燃尽图 八.代码 一 ...

  7. Notes of Daily Scrum Meeting(11.8)

    Notes of Daily Scrum Meeting(11.8) 预备中开始写代码的第一天,因为大家对Android编程的熟悉程度还是不够,所以工程进行的非常缓慢,有四名队员 开始编写自己的任务, ...

  8. 团队博客作业Week2 --- 学长学姐访谈录

    ## 团队作业2 ## ### 团队一 ### 这个团队中组员是位研一的学姐,她的软件工程老师是姚淑珍,当时她们团队总共有4个人,而且她们都很努力,但是可能是最后团队的作品不太理想,她们的软件并没有上 ...

  9. Python数据结构练习

    1. 给定列表L,如[2,5,3,8,10,1],对其进行升序排序并输出. 代码: list = [2,5,8,10,1] print(list) list.sort() print(list) 2. ...

  10. mysql hibernate 关于默认值

    字段的默认值 写 NOT NULL DEFAULT 0 等等 一直不行, 算了  干脆在创建的时候 在代码set好了 版权声明:本文为博主原创文章,未经博主允许不得转载.