ImageVerifierCode 换一换
格式:PPT , 页数:22 ,大小:1.86MB ,
资源ID:2227621      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2227621.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(浅谈数位类统计问题.ppt)为本站上传会员【快乐****生活】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

浅谈数位类统计问题.ppt

1、浅浅谈数位数位类统计问题山东省青岛第二中学刘聪2024/5/21 周二1引入在信息学竞赛中,有一类与数位有关的区间统计问题。例如:求1,n中所有数的各位数字之和。求1,n中各位数字之和为定值的数的个数。将m,n中的数字分组,每组包含连续的一段数,且数字之和不能超过定值,求分组数。如何求解?n1018!2024/5/21 周二2【例题1】Amount of degrees求给定区间X,Y中满足下列条件的整数个数:这个数恰好等于K个互不相等的B的整数次幂之和。例如,设X=15,Y=20,K=2,B=2,则有且仅有下列三个数满足题意:17=24+20,18=24+21,20=24+22。数据规模:1

2、XY2311,1K20,2B10。2024/5/21 周二3【例题1】Amount of degrees由于所求的幂互不相等,符合条件的数写成B进制一定只由0和1组成。因此我们只考虑B=2的情况。此处区间满足区间减法,即count(X,Y)=count(0,Y)-count(0,X-1)因此我们唯一需要求的就是,给定n,求出所有不超过n的正整数中,其二进制表示恰好含有K个1的有多少。2024/5/21 周二4【例题1】Amount of degrees这里,我使用一棵完全二叉树来代表一个区间内的数。例如右图中高度为4的完全二叉树就可以代表所有长度为4的二进制数。其范围为0,24-1每个叶子就代

3、表了一个数。2024/5/21 周二5【例题1】Amount of degrees假设K=3,n=13,其二进制为1101。我们从根走到n所在的叶子每次“向右走”时,左侧的子树都是完整的完全二叉树,且所有小于n的整数都包含在其中。2024/5/21 周二6【例题1】Amount of degrees因此,我们实际上只需对这三棵子树进行统计。当然,不能忘记n本身。这棵树中有多少数含3个1?这棵树中有多少数含2个1?(因为祖先已有1个1)这棵树中有多少数含1个1?2024/5/21 周二7【例题1】Amount of degrees很容易递推求出这个问题:设fh,s表示在高度为h的完全二叉树包含的

4、数中(范围是0,2h-1),二进制中恰含s个1的数有多少。fh,s=fh-1,s+fh-1,s-1左子树中的个数右子树中的个数2024/5/21 周二8【例题1】Amount of degrees剩下的问题就是,如何将任意进制问题转化为二进制问题。只需贪心将n的B进制表示转化为只含01:找到n的左起第一位大于1的数位,将它以及它右边所有数位赋为1。递推求f的时间复杂度为O(log2(n),每次询问的时间复杂度为O(log(n),因此总时间复杂度为O(log2(n)。问题得到完美解决!2024/5/21 周二9【例题1】Amount of degrees实际上,我们也可以只用“位”的思想来考虑这

5、个问题,而不使用树的思想。我们每次找到n的1数位,将它赋为0,则其右面的数位可任取0、1。可根据组合数算出满足题意的数的个数。穷举所有“1”数位,计算组合数,即可完成询问。事实上,f的递推公式正是组合数公式!与树的思想异曲同工!2024/5/21 周二102024/5/21 周二11【例题1】Amount of degrees使用高度为h的完全B叉树表示所有长度为h的B进制数,思考起来更加直观,在处理较复杂问题时优点明显。当然,最终程序我们并不真正建树,它的作用只是帮助我们思考。无论从树结构考虑还是从数位的角度考虑,基本思想都是:2024/5/21 周二12【例题4】Tickets有一位售票员

6、给乘客售票。对于每位乘客,他会卖出多张连续的票,直到已卖出的票的编号的数位之和不小于给定的正数K。然后他会按照相同的规则给下一位乘客售票。初始时,售票员持有的票的编号是从L到R的连续整数。请你求出,售票员可以售票给多少位乘客。数据规模:1LR1018,1K1000。2024/5/21 周二13【例题4】Tickets有了例1的基础,本题基本思路也是从特殊到一般:能否将原问题的区间拆分为一些长度为10k的子区间,再合并得到原区间的答案?亦即,将原树拆分为若干完整的完全十叉数,根据子树的信息合并得到原问题的答案。一个比较棘手的问题是,这棵树的前几个元素可能会并入之前的小组,而不是作为一个新的小组。

7、换言之,只使用树的高度无法表示一组状态。添加状添加状态!2024/5/21 周二14【例题4】Tickets设fh,sum,rem表示对于高度为h的完全十叉树,其每个数的数位之和需要额外添加sum,在这棵树之前的最后一个小组剩余空间为rem,所能得到的小组情况。f返回值有两个:fh,sum,rem.a记录这棵树被划分成的小组数量,fh,sum,rem.b记录这些小组中的最后一组的剩余空间,以便与下一组合并。同例1一样,这里f的值也由其10棵子树合并而成:fori:=0to9dofh,sum,rem:=merge(fh,sum,rem,fh-1,sum+i,fh,sum,rem.b);也就是之前

8、得到的b值作为下一棵子树的rem值。functionmerge(x,y);x.a:=x.a+y.a;x.b:=y.b;returnx;2024/5/21 周二15【例题4】Tickets这样,我们就解决了单个子树的情况。接下来的问题就是如何将原树分解为若干子树。本题不满足区间减法,因此对于L,R这个区间,需要直接找它们中间的子树。为了方便起见,这里以二叉树为例进行介绍,其思想与十叉树一致。2024/5/21 周二16【例题4】Tickets假设L=2,R=11。让我们从L走到R:首先从L向上走,直到L和R的最近公共祖先统计途中节点右侧的兄弟子树再向下走到R统计途中节点左侧的兄弟子树需要注意的是

9、在LCA的下一层,两条路径是兄弟关系,需要统计它们之间的子树。LR2024/5/21 周二17【例题4】Tickets抠出这些子树:它们包含了L和R间的连续整数我们只要分别求出每个子树,再加以合并即可!这样,我们就解决了这道题目。LR2024/5/21 周二18【例题4】Tickets回顾解题过程:在处理完整子树时,为了表示状态,我们添加了新的一维。由于问题不满足区间减法,我们改“走下去”为“走上去”、“走过去”、“走下来”。其余步骤与例1相似:将待求区间分解为若干子区间(子树),每个完整子树利用递推求出,最后合并出完整答案。递推求f的复杂度为O(klog2(R),需要询问的子树最多有O(log(R)个,因此总复杂度是O(klog2(R)。建议采用记忆化搜索实现。2024/5/21 周二19总结以上,我们通过两道例题了解了数位类的区间统计问题及其基本处理方法。只要本着“逐位确定”的思想,往往就能找到突破口,设计出log(n)级别复杂度的算法。使用树结构来思考问题,更加直观,化抽象为具体,有利于我们的思考。数形数形数形数形结结合!合!合!合!2024/5/21 周二20谢谢大家大家欢迎提迎提问!2024/5/21 周二212024/5/21 周二22

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服