当前位置: 首页 > news >正文

离散化详解

离散化

两种
第二种不理解,实际没什么用
第一种:
离散化是由于数据个数少而数据最大值很大时要将数据直接作为数组下标时空间过大时而为了减小空间占用又不破坏数据关系的一种方法
离散化本质上可以看成是一种 哈希
只不过哈希函数是二分查找变量编号所在下标罢了
哈希值就是变量对应的数组下标
不存在冲突,是完美哈希

来自 https://oi-wiki.org/misc/discrete/

我们把变量本身排序并去重(避免相同元素离散化后不同),然后在把变量作为数组下标时用二分查找(lower_bound)找到变量所在数组的下标,把这个下标作为我们想要的数组下标
这样这个下标最大值只是与数据个数有关
为什么离散化可以保证数据关系呢?
因为当把变量排序去重后,每个变量编号都有唯一的数组下标(不重复)
每个数组下标都有唯一的变量编号
因此我们完全可以用数组下标代替变量编号,只需要二分就可以利用编号求出数组下标,而这样最大只有数据个数个,空间减小了

如noi2015程序自动分析

P1955 [NOI2015] 程序自动分析

https://www.luogu.com.cn/problem/P1955
并查集基本应用
为什么可以用并查集?
因为相等具有传递性
x1=x2 x2=x3

x1=x3
所以对于相等条件可以用并查集合并,然后用不等条件去判断

不等会不会自相矛盾?
这就是在讨论不等号的传递性
即这题为什么不能用加权或种类并查集
若x1!=x2 x2!=x3
则既不能推出x1=x3,也不能推出x1!=x3
不等号本身不具有任何传递性
1!=2 2!=3
此时1!=3

1!=2 2!=1
此时1=1
因此不能用不等号来判断相等的错误
由于不等号不具有传递性
所以无论怎么不等都不会矛盾

那么这个题不能在线做,不能根据不等判断相等,而要离线
先把所有相等关系先提出来合并,然后用相等来判断不等
对于每个不等式,若两个变量在一个并查集中即相等则矛盾,若不在,则不矛盾

问题是\(n\)不大,当\(i,j\)太大了,\(1e9\)

开不下,可以用map和unordered_map,但是复杂度大
更好用离散化和哈希
哈希就是和不重复数字差不多
把fa数组开哈希和结构体
然后每一个哈希值下挂一个vector
模数\(1e6+1\)
用求余法定址
查找时把\(x\)的哈希值求出
遍历它的vector,找到编号和它相等的,把这个的父亲记录下来,并且开一引用,跳出循环,递归找,把返回值再赋值给引用变量
当然,当父亲等于自身时应该返回自身,说明是根

合并时若\(x\)\(y\)不在一个并查集就把它们的根随便合并一下
不能用启发式合并,这样要再开一个哈希,太麻烦了
初始化就为空可以,输入时再判断

另外一个问题:无论等于还是不等都要把变量输入时再始化,即若变量下的vector空就push一个,当然不空时只有相等时合并
至于离散化,同样记录下所有变量,从小到大在一个数组中排序去重,然后给定一个变量,就把这个变量在数组中二分查找一下下标,以这个下标作为fa的编号
单次只是\(logn\)的查找

为什么离散化可以呢?
因为当把变量排序去重后,每个变量编号都有唯一的数组下标(不重复)
每个数组下标都有唯一的变量编号
因此我们完全可以用数组下标代替变量编号,只需要二分就可以利用编号求出数组下标,而这样最大只有\(1e5\)个,空间减小了

http://www.jsqmd.com/news/294371/

相关文章:

  • 山东一卡通(礼遇卡)哪里回收方便,1分钟变现技巧
  • Java毕设选题推荐:基于springboot的游戏售卖商城系统基于SpringBoot+Vue的游戏装备交易商城系统【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 计算机Java毕设实战-基于springboot的游戏售卖商城系统游戏攻略资讯补丁售卖系统 游戏道具商城【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • Java计算机毕设之基于springboot+vue的游戏装备账号销售商城平台系统基于springboot的游戏售卖商城系统(完整前后端代码+说明文档+LW,调试定制等)
  • Java毕设项目:基于springboot的助农扶贫系统(源码+文档,讲解、调试运行,定制等)
  • 2026英语雅思口语培训辅导机构排行榜 家长择校实用指南:多维度评测帮孩子选对适配口语辅导机构
  • 2026英语雅思培训学校机构辅导机构推荐榜单 家长择校指南:多维度评测帮孩子选对适配机构
  • 全国支付宝立减金回收平台正规使用攻略
  • 2026英语雅思培训学校机构辅导机构排行榜+核心解析 家长择校实用指南 帮孩子精准匹配雅思备考全阶段适配方案
  • 01BFS
  • 2026英语雅思口语培训辅导机构排行榜+核心解析 家长择校实用指南 精准匹配孩子口语备考需求
  • 2026 雅思备考必看|网上辅导 TOP5 权威口碑排行榜测评 高效提分推荐
  • 2026英语雅思培训学校机构辅导机构排行榜+核心解析 家长择校完全指南 帮孩子精准匹配适配的雅思备考方案避误区
  • 现在的00后,真是卷死了呀,想离职了·····
  • 加载权重文件后发现准确率有问题
  • 2026英语雅思培训学校机构辅导机构排行榜 家长择校完全指南:多维度评测帮孩子选对适配辅导机构
  • 2026英语雅思学习辅导机构推荐榜单 家长择校完全指南:多维度评测解析帮孩子选对适配机构
  • 2026英语雅思学习辅导机构排行榜+核心解析 家长择校实用指南 帮孩子精准匹配雅思学习全阶段适配方案避误区
  • 并查集及其应用专题--全网最详细版
  • 聚焦5家瑞祥卡回收1分钟高效操作平台
  • 2025年目前靠谱的花灯企业推荐榜单,春节国潮花灯/十二生肖花灯/宫灯/互动花灯/营销花灯/古镇花灯,花灯实力厂家哪家好
  • 2026英语雅思培训学校机构辅导机构排行榜+核心解析 家长择校实用指南 精准匹配孩子备考需求
  • 2026英语雅思学习辅导机构排行榜 家长择校实用指南:多维度评测帮孩子选对适配学习机构
  • 2026英语雅思学习辅导机构排行榜+核心解析 家长择校实用指南 帮孩子精准匹配适配的雅思备考方案
  • 四川高中复读学校推荐:家长关注的几所学校,高中/实验中学/学校/中学/高中复读学校,高中复读学校生产厂家联系方式
  • AI赋能创始人表达:从个人智慧到组织能力的战略跃迁
  • 2026年合肥中职择校指南:五大口碑校深度解析与趋势前瞻
  • 创始人IP:新质生产力时代,企业的“人格化”护城河
  • 2026英语雅思培训班辅导机构推荐榜单 家长择校完全指南:多维度评测解析帮孩子选对适配机构
  • 2026英语雅思培训班辅导机构排行榜+核心解析 家长择校实用指南 帮孩子精准匹配雅思备考全阶段适配方案