首页 > 其他分享 >4.17 离散化习题

4.17 离散化习题

时间:2023-04-17 15:22:15浏览次数:53  
标签:练习题 map 4.17 int sum 离散 ans 习题

不理解啊不理解,找一堆和离散化没什么关系,中间最多 sort 一下的题就叫离散化练习题,打着离散化的牌子实则是一堆数据结构,意义何在?不懂啊不懂。

今天只贴一道我比较喜欢的题,也是感觉唯一一道可做题。

ACWing 2014. 岛  传送门

思路非常的简单(但其实还是看了题解....)。考虑枚举怎么淹过去,显然我们尽量要让高一块的突出去,所以如果这一块比前一块高,用差分的思想,对于这两个高度之间的水位高度,它都能产生 1 的贡献。然后统计就可。注意要离散化。

已经爱上用 map 了,map 会直接进行去重。以及 map 的 [] 操作很好用,对于没有离散化的元素可以直接引用。唯一的缺点就是平衡树实现导致略慢,但是非常好写。

#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N = 1e5 + 10;
int n;
int a[N];
ll sum, ans;
map<int, int> b;
int main()
{
    scanf("%d", &n);
    for(int i = 1; i <= n; i ++ )
    {
        scanf("%d", &a[i]);
        if(a[i] > a[i - 1])
        {
            b[a[i - 1]] ++;
            b[a[i]] --;
        }
    }
    for(auto i : b)
    {
        sum += i.second;
        ans = max(ans, sum);
    }
    printf("%d", ans);
    return 0;
} 

 


 

一些废话:不能独立写出来正确的数据结构导致我比较的抽象的不会这些练习题。啊。崩溃的。

但是称为排序练习题多少有点......

时间不够,以及自身的懒惰。都是很大的问题。

 

 

标签:练习题,map,4.17,int,sum,离散,ans,习题
From: https://www.cnblogs.com/Moyyer-suiy/p/17325959.html

相关文章

  • 平面向量习题|低阶
    前言相关链接平面向量习题|高阶;典例剖析【2019高一期末考试】平行四边形\(ABCD\)中,\(AB=3\),\(AD=2\),\(\angleBAD=60^{\circ}\),若\(\overrightarrow{AE}=\lambda\overrightarrow{AB}+\overrightarrow{AD}\),且\(BD\perpAE\),则\(\lambda\)的值为【】$A.\cfrac{1}{6}$$B.\cf......
  • pta程序设计类实验辅助教学平台-练习题
    定义抽象基类Shape,由它派生出五个派生类:Circle(圆形)、Square(正方形)、Rectangle(长方形)、Trapezoid(梯形)和Triangle(三角形),用虚函数分别计算各种图形的面积,并求出它们的和。要求用基类指针数组。使它的每一个元素指向一个派生类的对象。PI=3.1415926。1#include<iostream>2#......
  • 离散数学——期中经典题型
    贝叶斯定理;概率、方差、期望之间的关系;期望的线性性质两道题都用到了期望的线性性质。鸽笼原理关键是学会构造抽屉!证明关系的某些性质关于格的定义要清楚,用来解决1,3两问。这个题的第二问略有难度,要知道有界格是一定有上下确界的!数学归纳法证明结构归纳法证明归纳定......
  • 鼎利杯练习题
    第一题moves=input()x,y=0,0formoveinmoves:ifmove=="L":x-=1elifmove=="R":x+=1elifmove=="U":y+=1elifmove=="D":y-=1ifx==0andy==......
  • 建民打卡日记4.17
    一、问题描述车牌号四位中前两位相等,后两位也相等但与前两位不同,且车号恰好是一个整数的平方,求该车牌号二、设计思路1.建立双重循环穷举符合条件的车牌号2.建立内循环穷举某整数的平方3.当两者相等时,输出结果三、程序流程图四、代码实现#include<iostream>usingnames......
  • C++课本第三章课后习题 3-7
    完成函数,参数为两个unsigned short int 型数,返回值为第一个参数除以第二个参数的结果,数据类型为short int;如果第二个参数为0,则返回值为一1。在主程序中实现输入输出。#include<iostream>usingnamespacestd;shortintnumber(unsignedshortintx,unsi......
  • POJ 2299 Ultra-QuickSort(线段树+离散化)
    题目地址:POJ2299这题曾经用归并排序做过,线段树加上离散化也可以做。一般线段树的话会超时。这题的数字最大到10^10次方,显然太大,但是可以利用下标,下标总共只有50w。可以从数字大的开始向树上加点,然后统计下标比它小即在它左边的数的个数。因为每加一个数的时候,比该数大的数已经加完......
  • 第二章部分习题
    用穷举法找出1~100中的质数代码:usingnamespacestd;intmain(){intk=1;for(inti=1;i<=99;i++){k++;inta=0;for(intj=2;j<=i/2;j++){if(k%j==0){......
  • HDU 1856 More is better(并查集+离散化)
    题目地址:HDU1856水题。由于标号范围太大,而数据数只有10w,所以要先进行离散化。然后就是裸的并查集了。代码如下:#include<iostream>#include<cstdio>#include<string>#include<cstring>#include<stdlib.h>#include<math.h>#include<ctype.h>#include<que......
  • Java面向对象习题接口篇
    题目一:按如下要求编写Java程序:(1)定义接口A,里面包含值为3.14的常量PI和抽象方法doublearea()。(2)定义接口B,里面包含抽象方法voidsetColor(Stringc)。(3)定义接口C,该接口继承了接口A和B,里面包含抽象方法voidvolume()。(4)定义圆柱体类Cylinder实现接口C,该类中包含三个成员变量:底......