Prob_Solve 板


LINE

※ 引述《chunhsiang (= =)》之铭言: : 假设集合A与B作交集 n=|A| m=|B| : 只需要O(n+m)
1F:推 EdisonX:我想到用 bitwise...这效率应该是超高,不过会受限就是了.10/02 22:54
2F:→ chunhsiang:您是说将原本的set转为01的型式再作运算? 但宇集很大10/02 22:59
3F:推 EdisonX:bitwise 在意的是,set 是否为整数,及其最大、最小值10/02 23:00
回文说明较清楚。虚码部份以 C 大致示之。 假设 A = {200,-1,2,100}, B={-100,-1,200,2}, 不一定要照顺序 (1) 先扫 A, B 一遍,纪录整体最大、最小值,Max, Min (200, -100) (2) 如果每个数字都用一个位元表示的话,需要 Max - Min + 1 = 301 bits 假设一个无号数 (unsigned int ) 占了 32 bits ,可计算出, 需要阵列的大小约是 301 / 32 + 1 = 10 <不考虑刚好是32整数bit问题> unsigned ASet[10]={0U}, BSet[10]={0U}; unsigned idx; /*这用来计算到时候放在阵列哪个 idx*/ unsigned bit; /*这用来计算到时候放在阵列哪个 bit*/ (3) 先 polling A, B (3.1) 纪录 200 : 200-Min=300, idx=300/32 = 9, bit = 300%32=12 ASet[idx] |= (1U<<bit); (3.2) 纪录 -1 : -1-Min=99, idx=99/32 = 3, bit =99%32=3 ASet[idx] |= (1U<<bit); .... (4) 计算结果 unsigned Rst[10]; for(i=0; i<10; ++i) Rst[i] = ASet[i] & BSet[i]; 最後要输出的时候再根据 Rst 内容做输出。 (1) : O(n+m) (2) : O(1) (3) : O(n+m) (4) : O(n+m) 整体应该还算 O(n+m) <吧?> 但如上所见,有几个缺点 (1) 只适用整数集合 (2) Max-Min 过大的时候就浪费记忆体 <情况不要太偏激的话,记忆体应都还堪用> 非整数、稀疏、范围大时,可能就不适用。 不知您的情况是?? -- 「自从我学了 C# , 人都变聪明 , 考试都考一百分」 「自从我学了 VB , 皮肤都变好 , 人也变漂亮了 」 「自从我学了 Java , 明显变壮 , 个子也变高了 」 「自从我学了 C++ , 内分泌失调 , 头都秃了... 」 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 180.177.76.161 ※ 编辑: EdisonX 来自: 180.177.76.161 (10/02 23:28)
4F:推 ledia:有出现的再安排位置就好啦 10/03 00:36
5F:推 singlovesong:disjoint set + union by rank + path compression 10/03 11:44
6F:→ singlovesong:有optimal solution in linear time 喔! 10/03 11:44
7F:→ singlovesong:可以google 一下 10/03 11:44
8F:→ chunhsiang:所以说运算先後顺序不重要? 10/03 15:09
9F:→ chunhsiang:disjoint set是集合间都不会有一样的元素 与全部交集 10/03 15:17
10F:→ chunhsiang:有何关系... 恕我愚昧一问...能不能白话点... 10/03 15:19







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP