




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构经典例题选讲数据结构经典例题选讲 Classical Problems on Data StructureClassical Problems on Data Structure 廖洪舒 合并果子 lN种果子(N op; stack num; strcat(S, “#“); op.push(#); bool finished = false; char *p = S; while (!finished) if (*p = | *p = t) p+; else if (*p = A else if (*p = ) else if (*p = # else char opt = op.top(); op.pop(); int b = num.top(); num.pop(); int a = num.top(); num.pop(); switch (opt) case +: num.push(a + b); break; case -: num.push(a - b); break; case *: num.push(a * b); break; case /: num.push(a / b); break; Largest Rectangle in a Histogram( POJ2559) l给定一串长度为n(n = hi) li = lli - 1; for (i = n; i = 1; i-) while (hri + 1 = hi) ri = rri + 1; Largest Rectangle in a Histogram l将高度从高到低排序,用并查集维护当前集合的 宽度(节点个数),取max(当前高度 * 宽度)为 答案。复杂度为O(nlogn + na(n) Largest Rectangle in a Histogram l栈扫描(单调栈?),复杂度仅为O(n) l1 1 3 4 1 6 6 l1 7 4 4 7 7 7 Largest Submatrix of All 1s(POJ3494) Largest Submatrix of All 1s l预处理Hij表示(i, j)元素能向上延伸的最大高度 l枚举行,可以转化成前面的问题,复杂度为O(nm) l如果是要求在三维01长方体里的最大全1长方体呢 ? Artificial Lake (POJ3658) WATER WATER OVERFLOWS | | * | * * | * * * * V * * V * * * * * * * * * * * * : * * * * * * : * * * * * * * * * * * * * * * * * * * * After 4 mins After 26 mins After 50 mins Lvl 1 submerged Lvl 3 submerged Lvl 2 submerged lN个平台(N=106)每个宽度Wi(Wi = 1000), 高 度Hi(Hi = 106),每分钟往最低处注入一单位水,求 每个平台积水一个单位高度的时间。 Junk-Mail Filter (HDOJ 2473) 2008 Asia Regional Hangzhou lN封垃圾邮件样本,M次操作 (N = 105, M =106),每次操 作为以下之一: lM X Y 表示垃圾邮件X和Y的样本特征一样。 lS X表示垃圾邮件X的样本特征识别有误,需要移除X的所有关系。 l最后询问有多少种不同的垃圾邮件特征? 5 6 M 0 1 M 1 2 M 1 3 S 1 M 1 2 S 3 Sample Output : 3 Parity game (POJ1733) l 你的朋友写下一个由0和1组成的字符串,并告诉你一些信息 ,即某个连续的子串中1的个数是奇数还是偶数。 l你的目标是找到尽量小的i,使得前i+1条不可能同时满足。 l例如,序列长度为10,信息条数为5,5条信息分别为 1 2 even,3 4 odd,5 6 even,1 6 even,7 10 odd l正确答案是3,因为存在序列(0,0,1,0,1,1)满足前3条信息, 但是不存在满足前4条的序列。 Parity game l 令sumi为此01序列 前i个元素之和 l区间a, b中1的个数等价于sumb suma - 1。 l由sumi的奇偶性可以恢复出整个序列。 a b even 等价于 sumb, suma - 1同奇偶 a b odd 等价于 sumb, suma - 1奇偶性相反 l开始每个 i 自成一集合,di表示节点i与findSet(i)的奇偶关 系。di = 0表示奇偶性相同,di = 1表示奇偶性相反。 l对于每次操作,若a-1, b位于同一集合,则奇偶关系已确定, 需判断是否矛盾;否则合并两集合。 l那在合并集合和路径压缩时怎么来维护d数组呢? Parity game bool unionSet(int x, int y, int nd) int fx = findSet(x); int fy = findSet(y); if (fx = fy) if (dx dy) != nd) return true; else return false; else setfy = fx; dfy = (dx dy nd); return false; dfy fy y x fx dy nd dx f y x dy nd dx Parity game int findSet(int x) if (x = setx) return x;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 长江艺术工程职业学院《线性代数及概率统计》2023-2024学年第二学期期末试卷
- 肇庆医学高等专科学校《旅行社运营管理》2023-2024学年第二学期期末试卷
- 泉州海洋职业学院《MATAB在工程中的应用》2023-2024学年第二学期期末试卷
- 江西陶瓷工艺美术职业技术学院《人体工程学》2023-2024学年第二学期期末试卷
- 金山职业技术学院《复合材料实验》2023-2024学年第二学期期末试卷
- 苏州工业园区服务外包职业学院《综合交通运输系统》2023-2024学年第二学期期末试卷
- 湖南省郴州市桂阳县欧阳海中心校2025届三下数学期末联考试题含解析
- 重庆市忠县2025届三下数学期末学业质量监测试题含解析
- 上海海事职业技术学院《跨文化商务交际导论》2023-2024学年第二学期期末试卷
- 上海科创职业技术学院《期货及衍生品投研实务》2023-2024学年第二学期期末试卷
- 2024年地理中考模拟考试地理(江苏泰州卷)(A4考试版)
- 乳腺癌诊治指南与规范(2025年版)解读
- 2024年上海嘉定区区属国有企业招聘真题
- 2025河北建投水务招聘29人易考易错模拟试题(共500题)试卷后附参考答案
- 常德辅警考试题库
- 基于核心素养的初中历史跨学科教学策略研究
- 有理数的加法说课课件2024-2025学年人教版数学七年级上册
- 肺癌化疗护理查房
- GB/T 18655-2025车辆、船和内燃机无线电骚扰特性用于保护车载接收机的限值和测量方法
- 2025年高压电工作业考试国家总局题库及答案(共280题)
- 2024年中国心力衰竭诊断和治疗指南2024版
评论
0/150
提交评论