
离散化
ssl_fuyang
ヾ(◍°∇°◍)ノ゙
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
たのしい家庭菜園【树状数组】【离散化】
>Link[THOJ]交换swap>Description>解题思路枚举每一个数,判断放在左边还是右边放在左/右边,这个数就要“跨过”它原本左/右边比它大的数,我们就加上它左/右边比它大的数的个数我们可以手玩一下证明,这样做是最优的。如果一个数AAA要放到左边去,原本它左边有比它小的数BBB也要放在左边,乍一看我们好像忽略了BBB与AAA交换的次数,但其实BBB肯定是在AAA之前就交换过去了,不会与AAA相遇用树状数组处理就行了>代码#include &l原创 2021-11-11 21:38:32 · 167 阅读 · 0 评论 -
扫描线【模板】【线段树】【离散化】
>Linkluogu P5490>Description求 nnn(n≤105n≤10^5n≤105) 个矩形的面积并。>解题思路离散化就是烦,打错了一个地方找了好久QAQ我们把每个矩形记录成两条垂直于x轴的边(左右边界),左边的边权值为1,右边的边权值为-1;边的坐标(x,y1),(x,y2)然后把边从左到右排个序然后再从左到右扫描过去,遇到边就在它所在的区域[y1,y2][y1,y2][y1,y2]加上它的权值把坐标离散化一下,标记离散化后的坐标x原来的坐标为ra原创 2021-10-20 08:49:41 · 141 阅读 · 0 评论 -
循环数组【离散化】【容斥】【数学】
>Linkybtoj冲刺NOIP2021模拟赛B组Day4 T2>Description一个长度为n∗kn*kn∗k的数组,由长度为nnn的数组AAA复制kkk次组成定义这个数组的一个区间的权值为它里面不同的数的个数,求出对于这个数组的每个非空区间的权值之和。答案对1e9+71e9+71e9+7取模n≤105,k≤109,ai≤109n≤10^5,k≤10^9,a_i≤10^9n≤105,k≤109,ai≤109>解题思路做题总是想不到容斥然后不会写QAQ首先aia原创 2021-09-25 21:06:13 · 134 阅读 · 0 评论 -
Uddered but not Herd G【状压DP】【离散化】
>Linkluogu P7296>Description找出一个子串(子串中每个小写字母出现一次),求子串对给定的字符串的最小匹配数>解题思路因为数据的范围,最多只会有202020个字母,所以我们可以状压,标记每个字母的位置是否被确定观察样例,发现如果子串的位置确定了,posi≤posjpos_i≤pos_jposi≤posj,但是如果在原串中 iii 在 jjj 的后一位,答案就++这样我们可以对原串做一个离散化,预处理 costi,jcost_{i,j}costi原创 2021-08-17 22:06:15 · 316 阅读 · 0 评论 -
严格上升子序列数【DP】【树状数组】【离散化】
>Linkybtoj严格上升子序列数>Description有TTT组数据,给出一个长度为NNN的序列,问每组数据的序列中,长度为mmm的上升子序列有多少个,答案对109+710^9+7109+7取模>解题思路首先必须要说一下最近做题的状态⬇,太粗心了????????,每道题必先爆零,不是没开longlong就是没模数,所以说做题得细心点啊……回归正题,这道题有点麻烦,上升子序列的长度已经规定好了,我先想到的也是DP,用fi,jf_{i,j}fi,j表示以第iii个数结原创 2021-07-05 20:51:24 · 504 阅读 · 1 评论 -
逆序对【树状数组】【离散化】
>Linkybtoj逆序对luogu P1908>解题思路树状数组的模板题…但是因为aia_iai太大,数组空间不够,所以要离散化一下然后 一!定!要!开!longlong!TT>代码#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#define N 500010#define LL long longusin原创 2021-07-05 15:30:04 · 187 阅读 · 0 评论 -
程序自动分析【并查集】【离散化】
>Linkybtoj程序自动分析>Description给出几个要么是 xi=xjx_i=x_jxi=xj,要么是 xi≠xjx_i≠x_jxi=xj的条件,判断这几个条件是否能同时存在(合法)?>解题思路很明显需要用并查集来实现。首先将全部为相等条件的两个数并到一个集,在一个个看条件为不相等的两个数,这两个数如果在一个集合里说明不合法由于题目给的数据:1≤n≤1061≤n≤10^61≤n≤106,1≤i,j≤1091≤i,j≤10^91≤i,j≤109如果我原创 2021-07-02 08:35:25 · 128 阅读 · 0 评论 -
经典LIS【树状数组】【离散化】
>Linkybtoj经典LIS>解题思路经典的求最长不下降子序列模板题#1 O(n2)O(n^2)O(n2) 直接DP解决#2 O(nlogn)O(nlogn)O(nlogn) 离散化+树状数组,以每个元素的值建树>代码#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#define N 500010using nam原创 2021-05-14 09:46:05 · 227 阅读 · 0 评论 -
糊涂的教授(特长生2015)【离散化】【拓扑】
>Description给定拍好序n张幻灯片(n<=26),序号为A、B、C……并且这n张幻灯片的左上角和右下角坐标已知有n个从1到n的数字编号标记在幻灯片上,问是否有唯一的数字编号与幻灯片一一对应的方案,如果没有输出None,有则输出方案>解题思路考试的时候太腐,导致到后面都没有时间调试了,爆内存+cnt没有清零,悲痛0分T-T首先常规做了一个离散化,这样跑得更快把一开始就可以确定的幻灯片放进队列(幻灯片上只有一个数字编号),把队列中的幻灯片依次在坐标系上删除,继续找可以确原创 2021-05-13 10:00:44 · 101 阅读 · 0 评论 -
平板游戏问题(特长生2018)【模拟】【离散化】
>Description给出nnn个板子的高度、左端点、右端点,求出支持板子的柱子总长度其中1≤n≤100,所有的数都小于等于10000>解题思路考试的时候看到这道题放在第四题,就没有怎么考虑数据啥的以为一定会炸,其实数据太小直接模拟就能过所以我为了降低时间复杂度做了一个离散再模拟,大概为O(n2)O(n^2)O(n2)>代码#include <iostream>#include <cstdio>#include <cstring>原创 2021-04-17 16:53:52 · 99 阅读 · 0 评论 -
简单计算题【离散化】【树状数组】
>Description>Input>Output>Sample Input41 4 3 2>Sample Output3>解题思路首先我们要知道一个树状数组与逆序对的东西(所以为了防爆,得用离散化把S序列离散一下在加进树状数组)然后我们把符合(a,b)的方案数p,符合(c,d)的方案数q求出来(树状数组求逆序对,具体得理解树状数组太多了不想打了 ),ans=pq,接着处理a≠b≠c≠d的情况,因为a已经小于b,c已经小于d,所以就只用原创 2020-08-13 22:03:21 · 179 阅读 · 0 评论 -
线段树练习题一【离散化】
>Description桌子上零散地放着若干个盒子,桌子的后方是一堵墙。如右图所示。现在从桌子的前方射来一束平行光, 把盒子的影子投射到了墙上。问影子的总宽度是多少?>Input第一行输入一个整数n,表示桌面总宽度第二行输入一个整数m,表示盒子数量接下来m行,每行输入两个数x,y,表示第i个盒子的起始位置和终止位置>Output阴影宽度>Sample ...原创 2019-08-18 17:29:23 · 250 阅读 · 1 评论 -
校门外的树【离散化】
>Description 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。 由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这...原创 2019-08-18 16:57:05 · 402 阅读 · 0 评论 -
jzoj幻灯片【离散化】【模拟】
>Description在一个平面上放置有许多涂满颜色的幻灯片,这些幻灯片都是矩形而且是半透明的,所有的幻灯片的四边都与X轴或Y轴平行。我们可以给这些幻灯片的颜色编一个号,相同的数字对应相同的颜色。但是这些幻灯片可能会相互重叠,重叠部分的颜色就会混合变成另一种颜色,这个颜色值等于所有重叠幻灯片的颜色值之和。你的任务是找出这个平面上有多少种不同的颜色。>Input输入第一行为一个...原创 2019-07-11 21:43:46 · 310 阅读 · 0 评论