【BZOJ4716】假摔 二分+暴力
【BZOJ4716】假摔
Description
Input
Output
Sample Input
0 1 3 7
1 1 5 5
7 6 9 6
Sample Output
题解:一开始瞎写了写没写出来,看网上的题解神的不行,后来发现网上的题解都想多了!!!直接二分+暴力就行!
先二分答案,然后枚举右下角的点,然后不断移动左上角的点,直到不能再移动为止。因为每次移动要么会break要么会使方案数+1,并且k<250000,所以总复杂度是有保证的!是O(log(ans)*(n*m+k))!
#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
int n,m,xn,yn,K;
int s[1010][1010];
inline int rd()
{int ret=0,f=1; char gc=getchar();while(gc<'0'||gc>'9') {if(gc=='-') f=-f; gc=getchar();}while(gc>='0'&&gc<='9') ret=ret*10+gc-'0',gc=getchar();return ret*f;
}
inline int calc(int a,int b,int c,int d)
{return s[c][d]-s[a][d]-s[c][b]+s[a][b];
}
bool check(int x)
{register int i,j,a,b;int ret=K;for(i=xn;i<=n;i++) for(j=yn;j<=m;j++){for(a=i-xn;a>=0&&calc(a,j-yn,i,j)<x;a--) for(b=j-yn;b>=0&&calc(a,b,i,j)<x;b--){ret--;if(!ret) return 1;}}return 0;
}
int main()
{n=rd(),m=rd(),xn=rd(),yn=rd(),K=rd();int i,j;for(i=1;i<=n;i++) for(j=1;j<=m;j++) s[i][j]=s[i-1][j]-s[i-1][j-1]+s[i][j-1]+rd();int l=0,r=s[n][m]+1,mid;while(l<r){mid=(l+r)>>1;if(check(mid)) r=mid;else l=mid+1;}printf("%d",r);return 0;
}
转载于:https://www.cnblogs.com/CQzhangyu/p/7629408.html
【BZOJ4716】假摔 二分+暴力相关推荐
- bzoj4716假摔
bzoj4716假摔 题意: 给出一个矩阵,求这个矩阵中权值和第k小的长在xmin到n之间,宽在ymin到m之间的子矩阵.n,m≤1000,k≤250000. 题解: 首先求出长为xmin,宽为ymi ...
- bzoj4716: 假摔
BZOJ4716: 假摔 Time Limit: 20 Sec Memory Limit: 512 MB Submit: 10 Solved: 7 [Submit][Status][Discuss ...
- BZOJ4716 假摔
标签:STL,贪心 题目 题目传送门 假摔(flopping.pas/c/cpp/in/out) [题目背景] 小Q最近喜欢上了一款游戏,名为<舰队connection>,在游戏中,小Q指 ...
- 【BZOJ】4716 假摔
Description [题目背景] 小Q最近喜欢上了一款游戏,名为<舰队connection>,在游戏中,小Q指挥强大的舰队南征北战,从而成为了一名dalao.在游戏关卡的攻略中,可能由 ...
- 牛客小白月赛28 E-会当凌绝顶,一览众山小 线段树+二分暴力模拟
牛客小白月赛28 E-会当凌绝顶,一览众山小 线段树+二分暴力模拟 题意 思路 Code 传送门: https://ac.nowcoder.com/acm/contest/16081/E 题意 登山顺 ...
- EOJ #3452 唐纳德先生和假骰子【暴力】
题目链接 题目意思 给你一个数字p,代表人数,接着给出你两个骰子的六个面的数值,现在要你将骰子向上的点数和对人数取余,得到的余数分别为0到p-1,现在问你游戏是否公平. 解题思路 数值很小我们就用暴力 ...
- 银行系统日终结算要多久_美股顽强翻红!两连跌终结,联储降息预期已超九成!制造业疲软消费者信心坚挺,三大股指又假摔?...
美国股市昨日先抑后扬终结两连跌,开启反弹,道指.标普.纳指纷纷翻红. 10月3日晚,美东时间周四,美股集体低开,盘初受宏观经济数据不及预期影响,三大指数大幅跳水跌逾1%,道指跌超300点.此后美股开启 ...
- 练习假摔(视频, 超搞笑)
[align=center][flash=420,380]http://v.9you.com/player/go1dk9nru[/flash][/align]
- BZOJ 4716 假摔
我们发现我们可以对每一个点维护其还没有用过的矩形中最小的几个,记得判重. #pragma GCC optimize("-O2") #include<bits/stdc++.h ...
最新文章
- 大规模环境下基于语义直方图的多机器人实时全局定位图匹配
- Kinect For Windows V2开发日志九:侦测并绘制人体骨架
- recv, recvfrom, recvmsg
- 串口 多个activity 安卓_Android-EasySerialPort
- mysql general clomun_关于MySQL索引index杂谈
- 【codevs1036】商务旅行,LCA练习
- C开源hash代码uthash的用法总结(2)
- python sklearn 绘制决策树模型的节点图
- [转]加载纹理与使用glGenTextures时应注意的一点(解决吃内存)
- 无敌打印(适用各种浏览器自带打印功能)
- 基于Python实现的遗传算法求TSP问题
- 贪吃蛇游戏-小程序游戏
- 软件项目经理应具备的素质和条件_一个合格的软件项目经理应该具备哪些条件?...
- React项目实战(一)
- 文件或目录损坏且无法读取怎么办?数据恢复用这招
- 所谓“螺旋方阵”,是指对任意给定的N,将1到N×N的数字从左上角第1个格子开始,按顺时针螺旋方向顺序填入N×N的方阵里。本题要求构造这样的螺旋方阵。
- java判断生日_java根据生日判断生日和星座
- jsp调试java_[求助]jsp+javaBean调试环境问题!
- android中小火箭动态喷射动画的简单实现
- 5.3中断系统中的设备树——中断号的演变与irq_domain