5085:最大

  • 给你一个n×m的矩形,要你找一个子矩形,价值为左上角左下角右上角右下角这四个数的最小值,要你最大化矩形
    的价值。
  • 关键点是要想到把这些值排序
  • 值从小到大考虑,比如说现在最小的值是(x1,yi)那一个,那我肯定不能选择它,因为我另外选四个一定得到更优解
  • 所以值从小到大考虑的话,当前如果我不是没得选了,我都不会去选那些小值。
  • 那假如小值是黑点,大值是白点,什么时候选四个白点作为一个矩形只有一种方案呢?
  • 画一下就大概知道此时白点的数目不会超过 2*(n+m)
  • 所以从大到小考虑值暴力看可不可以构成矩形就星了。
  • ------在别的大佬博客上看到的做法:https://www.cnblogs.com/CQzhangyu/p/7886896.html
  • 这个做法在不知道答案是在2*(n+m)以内的情况下复杂度就是n方了,orzorz
  • 代码:
     #include <cstdio>
    #include <iostream>
    #include <algorithm>
    #include <vector>
    #define nmax 1000010 using namespace std;
    typedef long long ll;
    int n,m,idx=-;
    struct mat{
    int v,x,y;
    bool operator < (const mat tcmp) const {
    return tcmp.v<v;
    }
    }ma[nmax];
    vector <int> x[];
    int map[][]={}; int main(){
    cin>>n>>m;
    for (int i=; i<n; i++) for (int j=; j<m; j++) {
    scanf("%d",&ma[++idx].v);
    ma[idx].x=i;
    ma[idx].y=j;
    }
    sort(ma,ma+idx+);
    for (int i=; i<=idx; i++) {
    int tx = ma[i].x;
    for (int j=; j<x[tx].size(); j++) {
    int ty = x[tx][j];
    if( map[ty][ ma[i].y ] ){
    cout << ma[i].v << endl;
    return ;
    }
    map[ty][ ma[i].y ] = ;
    map[ ma[i].y ][ty] = ;
    }
    x[ ma[i].x ].push_back( ma[i].y );
    }
    return ;
    }

    (ಥ _ ಥ)

2456: mode

  • 给你一个n个数的数列,其中某个数出现了超过n div 2次即众数,请你找出那个数。(只能开几个变量)
  • 只能说妙啊,果然bzoj无水题,刷个水题列表都如此艰难的蒟蒻枯了。
  • 大概就是用后面的和它不一样的数数抵消前面的数,众数是不会被抵消完的。。康康代码就okk拉
  • 代码:
     #include <cstdio>
    
     typedef long long ll;
    
     int main(){
    int n;
    ll in,now,cnt=;
    scanf("%d",&n);
    scanf("%lld",&in);
    now=in;
    for (int i=; i<n; i++) {
    scanf("%lld",&in);
    if(in==now) cnt++; else cnt--;
    if(cnt<) { now=in; cnt=; }
    }
    printf("%lld\n",now);
    return ;
    }

    d=====( ̄▽ ̄*)b

BZOJ的思维题的更多相关文章

  1. HDU 1029 Ignatius and the Princess IV / HYSBZ(BZOJ) 2456 mode(思维题,~~排序?~~)

    HDU 1029 Ignatius and the Princess IV (思维题,排序?) Description "OK, you are not too bad, em... But ...

  2. BZOJ 2734 洛谷 3226 [HNOI2012]集合选数【状压DP】【思维题】

    [题解] 思维题,看了别人的博客才会写. 写出这样的矩阵: 1,3,9,... 2,6,18,... 4,12.36,... 8,24,72,... 我们要做的就是从矩阵中选出一些数字,但是不能选相邻 ...

  3. zoj 3778 Talented Chef(思维题)

    题目 题意:一个人可以在一分钟同时进行m道菜的一个步骤,共有n道菜,每道菜各有xi个步骤,求做完的最短时间. 思路:一道很水的思维题, 根本不需要去 考虑模拟过程 以及先做那道菜(比赛的时候就是这么考 ...

  4. cf A. Inna and Pink Pony(思维题)

    题目:http://codeforces.com/contest/374/problem/A 题意:求到达边界的最小步数.. 刚开始以为是 bfs,不过数据10^6太大了,肯定不是... 一个思维题, ...

  5. ZOJ 3829 贪心 思维题

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3829 现场做这道题的时候,感觉是思维题.自己智商不够.不敢搞,想着队友智商 ...

  6. 洛谷P4643 [国家集训队]阿狸和桃子的游戏(思维题+贪心)

    思维题,好题 把每条边的边权平分到这条边的两个顶点上,之后就是个sb贪心了 正确性证明: 如果一条边的两个顶点被一个人选了,一整条边的贡献就凑齐了 如果分别被两个人选了,一作差就抵消了,相当于谁都没有 ...

  7. C. Nice Garland Codeforces Round #535 (Div. 3) 思维题

    C. Nice Garland time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...

  8. PJ考试可能会用到的数学思维题选讲-自学教程-自学笔记

    PJ考试可能会用到的数学思维题选讲 by Pleiades_Antares 是学弟学妹的讲义--然后一部分题目是我弄的一部分来源于洛谷用户@ 普及组的一些数学思维题,所以可能有点菜咯别怪我 OI中的数 ...

  9. UVA 1394 And Then There Was One / Gym 101415A And Then There Was One / UVAlive 3882 And Then There Was One / POJ 3517 And Then There Was One / Aizu 1275 And Then There Was One (动态规划,思维题)

    UVA 1394 And Then There Was One / Gym 101415A And Then There Was One / UVAlive 3882 And Then There W ...

随机推荐

  1. Git简易教程(常用命令)

    本文章参考了Pro Git 1 Git简介 Linux内核开源项目有着众多参与者,为了提高开发效率,项目组于2002年开始启用分布式版本控制系统BitKeeper来管理和维护代码.在BitKeeper ...

  2. JS-重写内置的call、apply、bind

    首先看call和apply,第一个参数就是改变的this指向,写谁就是谁,如果是非严格模式下,传递null或undefined指向的也是window,二者唯一的区别是执行函数时,传递的参数方式不同,c ...

  3. R语言入门:向量索引

    这节的内容是建立在之前我们对R语言最基本向量赋值的基础之上的,笔者本人学完R当中向量的索引感觉异常舒适,因为这个比Python的索引爽多了,是什么值开始索引就从哪里开始索引,到哪里结束就在哪里结束,而 ...

  4. Cesium动态绘制实体(点、标注、面、线、圆、矩形)

    //自定义绘制图形,支持 点,线,面,矩形,圆,标识,可自定义绘制过程中的和绘制完的预览 this.drawGraphic = function(view,_mode,_callback,_Graph ...

  5. Android5.1 WebView遇坑笔记-Resources$NotFoundException

    Bugly遇到异常 查找原因,分析发现崩溃发生在Android版本21和22上,在网上查找资料发现下面解决方案 使用自定义WebView替换原生自带WebView解决 package com.test ...

  6. 从表单驱动到模型驱动,解读低代码开发平台的发展趋势 ZT

    原文地址:https://www.grapecity.com.cn/blogs/read-the-trends-of-low-code-development-platforms 随着社会数字化进程的 ...

  7. urlencode($url):把url转义,当字符串数据以url的形式传递给web服务器时,字符串中是不允许出现空格和特殊字符串的

    1.对url进行编码转义

  8. opencv —— erode、dilate 腐蚀与膨胀

    腐蚀与膨胀是形态学滤波.其中,腐蚀是最小值滤波,膨胀是最大值滤波,即分别选取内核中的最小值与最大值赋值给锚点.若内核为 N×1 或 1×N 形状,可用于横纵方向直线检测. 膨胀:dilate 函数 v ...

  9. 【37】池化层讲解(Pooling layers)

    池化层(Pooling layers) 除了卷积层,卷积网络也经常使用池化层来缩减模型的大小,提高计算速度,同时提高所提取特征的鲁棒性,我们来看一下.   先举一个池化层的例子,然后我们再讨论池化层的 ...

  10. 网络流最大流——dinic算法

    前言 网络流问题是一个很深奥的问题,对应也有许多很优秀的算法.但是本文只会讲述dinic算法 最近写了好多网络流的题目,想想看还是写一篇来总结一下网络流和dinic算法以免以后自己忘了... 网络流问 ...