- 1、本文档共148页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 0,7 false 0,3 false 4,7 false 0,1 false 0, 0 false 4,5 false 6,7 true 3,3 false 4,4 false 5,5 false 1,1 false 2,3 true 2,2 false 6,6 false 7,7 false 1 4 0,3 2 6 1,4 8 10 6,7 3 4 2,3 7 10 5,7 不统计,仍是2块 6,7 6,7 if( pRoot-bCovered ) return false; false false false * * 0,7 false 0,3 false 4,7 false 0,1 false 0, 0 false 4,5 false 6,7 true 3,3 false 4,4 true 5,5 false 1,1 true 2,3 true 2,2 false 6,6 false 7,7 false 1 4 0,3 2 6 1,4 8 10 6,7 3 4 2,3 7 10 5,7 4,4 1,3 1,1 2,3 1,1 4,4 4,4 true false true true true true true =3块 露出了2小块,证明还没被完全盖住 true * * 0,7 false 0,3 true 4,7 false 0,1 false 0, 0 false 4,5 false 6,7 true 3,3 false 4,4 true 5,5 false 1,1 true 2,3 true 2,2 false 6,6 false 7,7 false 1 4 0,3 2 6 1,4 8 10 6,7 3 4 2,3 7 10 5,7 =4块 true true * bool Post( CNode *pRoot, int L, int R) { if( pRoot-bCovered ) return false; if( pRoot-L == L pRoot-R == R) { pRoot-bCovered = true; return true; } * bool bResult ; if( R = Mid(pRoot) ) bResult = Post( pRoot-pLeft,L,R); else if( L = Mid(pRoot) + 1) bResult = Post( pRoot-pRight,L,R); else { bool b1 = Post(pRoot-pLeft ,L,Mid(pRoot)); bool b2 = Post( pRoot-pRight,Mid(pRoot) + 1,R); bResult = b1 || b2; } //要更新根节点的覆盖情况 if( pRoot-pLeft-bCovered pRoot-pRight-bCovered ) pRoot-bCovered = true; return bResult; } * POJ 1151 Atlantis 给定一些矩形,其顶点坐标是浮点数,可能互相重叠,问这些矩形覆盖到的面积是多大。 用线段树做,先要离散化!! * * Sample Input 2 10 10 20 20 15 15 25 25.5 0 Sample Output Test case #1 Total explored area: 180.00 Sample Input 3 10 10 20 20 15 15 25 25.5 17 8 23 12 0 Sample Output Test case #1 Total explored area: 198.00 * 分析 在Y轴进行离散化。n个矩形的2n个横边纵坐标共构成最多2n-1个区间的边界,对这些区间编号,建立起线段树。 * * 分析 线段树的节点要保存哪些信息? 如何将一个个矩形插入线段树? 插入过程中这些信息如何更新? 怎样查询? * * 结点结构 struct CNode{ int L,R; CNode* pLeft, * pRight; double Len; //落在本区间的线段总长度intCovers;//本区间被完全覆盖的重数 }; 上面的“线段”指的是真实的线段,即由
您可能关注的文档
- 第四单元关心天气今天刮什么风.ppt
- 中毒总论医学课件.ppt
- 第十章 PM2.5的健康效应图件-全彩版.pptx
- 电磁感应定律演示文稿.ppt
- 云摄美短视频学院-创作公开课.pptx
- 科学坐月子教学课件.pptx
- 《认识固体》教学课件.ppt
- 第23课 领先世界的科学技术课件新.ppt
- 基于脑的教与学-脑科学和认知科学在教育实践中的应用潍坊0718.ppt
- 初级会计经济法第二讲.ppt
- 河北省涿州市事业单位考试(医疗卫生类E类)职业能力倾向测验知识点试题推荐.docx
- 河北省涿州市事业单位考试(自然科学专技类C类)职业能力倾向测验强化训练试题集及答案1套.docx
- 河北省涿州市事业单位考试(自然科学专技类C类)职业能力倾向测验试卷必考题.docx
- 河北省涿州市事业单位考试职业能力倾向测验(中小学教师类D类)强化训练题库必考题.docx
- 河北省涿州市事业单位考试职业能力倾向测验(中小学教师类D类)强化训练题库附答案.docx
- 河北省涿州市事业单位考试(中小学教师类D类)职业能力倾向测验试卷附答案.docx
- 河北省涿州市事业单位考试(自然科学专技类C类)职业能力倾向测验试卷必考题.docx
- 河北省泊头市职业能力倾向测验事业单位考试(中小学教师类D类)试题最新.docx
- 河北省涿州市事业单位公开招聘考试职业能力倾向测验(D类)(中小学教师类)真题推荐.docx
- 河北省涿州市事业单位考试(综合管理类A类)职业能力倾向测验试卷最新.docx
文档评论(0)