欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    国家集训队论文 浅谈数据的合理组织.ppt

    • 资源ID:37208387       资源大小:444KB        全文页数:31页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    国家集训队论文 浅谈数据的合理组织.ppt

    四川省绵阳南山中学何森浅谈数据的合理组织浅谈数据的合理组织引子引子题目越来越难题目越来越难数据关系越来越复杂!数据关系越来越复杂!对组织数据的要求越来越高!对组织数据的要求越来越高!合理组织在解题中越来越重要!合理组织在解题中越来越重要!【题意描述】【题意描述】给出给出N个物品,每个物品都有一个权值个物品,每个物品都有一个权值(50000)和一个价格和一个价格(10000)。我们称可以直接被购置的物品为主件,称不能被直。我们称可以直接被购置的物品为主件,称不能被直接购置的物品为附件,附件只有当其主件被购置了才能被购置,接购置的物品为附件,附件只有当其主件被购置了才能被购置,一个主件最多有两个附件,附件没有下一级附件。一个主件最多有两个附件,附件没有下一级附件。【任务】【任务】用不超过用不超过M元钱,购置一些物品,使得被购置的物品的总权值最元钱,购置一些物品,使得被购置的物品的总权值最大。大。金明的预算方案金明的预算方案【数据规模】【数据规模】N60 M3200题目中给出的主件与附件间形成树形结构,而所有的物品间形成森林结构。为了方便起见,我们给所有的主件都加上一个“上级主件,这样,所有的物品形成了一棵树。数据的初步数据的初步组织组织树形动态规划算法树形动态规划算法!算法算法1状态状态FijFij表示给以表示给以i i为根的子树,总共花费不超过为根的子树,总共花费不超过j j元,元,所能取得的最大权值和。所能取得的最大权值和。?枚举量太大,效率不高!枚举量太大,效率不高!总花费不超过总花费不超过j用用左儿子右兄弟表示法左儿子右兄弟表示法来表示这一棵树!来表示这一棵树!时间复杂度为时间复杂度为 O(NMO(NM2 2) )状态总数状态总数 O(MN)O(MN)状态转移代价状态转移代价 O(M)O(M)N*M*M=6*108,不太理想。,不太理想。状态状态FijFij表示以表示以i i为根的子树总共花费为根的子树总共花费j j元能获得的最大权值和。元能获得的最大权值和。我们只需要枚举给左子树分配多少钱,剩下的钱都分给右子树。我们只需要枚举给左子树分配多少钱,剩下的钱都分给右子树。我们把配套的主件和附件看成一组。这样,显然对于每一组,可能的购置方案最多只有如下五种:我们换一种数据组织方式我们换一种数据组织方式1.附件没有附件。附件没有附件。2.每个主件最多只有两个附件。每个主件最多只有两个附件。考虑此题特殊条件:1.什么都不买什么都不买2.只购置主件只购置主件3.购置主件和附件购置主件和附件14.购置主件和附件购置主件和附件25.全购置全购置类似经典的类似经典的-背包问题!背包问题!组织数据后,我们可以得到复杂度为组织数据后,我们可以得到复杂度为O(NM)O(NM)的优秀算法的优秀算法l 状态总数状态总数 O(MN)l 状态转移代价状态转移代价 O(1)郁闷的金明郁闷的金明【题意描述】【题意描述】给出给出N个物品,每个物品都有一个权值个物品,每个物品都有一个权值(50000)和一个价格和一个价格(10000)。我们称可以直接被购置的物品为主件,称不能被直。我们称可以直接被购置的物品为主件,称不能被直接购置的物品为附件,附件只有当其主件被购置了才能被购置,接购置的物品为附件,附件只有当其主件被购置了才能被购置,主件可以有任意多附件,附件没有下一级附件。主件可以有任意多附件,附件没有下一级附件。【任务】【任务】用不超过用不超过M元钱,购置一些物品,使得被购置的物品的总权值最元钱,购置一些物品,使得被购置的物品的总权值最大。大。【数据规模】【数据规模】N60 M3200题目放宽了“一个主件最多可以有两个附件这个限制。问题分析问题分析数据组织方式数据组织方式依然适用效率以物品为节点的树形结构以组为元素的序列-我们回想上题的数据组织方式。重新安排这些物品的顺序,使得每个附件都紧跟其主件,保证其前面的最近的主件就是它附属的主件。如以下图:数据组织方案二数据组织方案二主件主件1附件附件主件主件2附件附件附件附件主件主件3附件附件附件附件附件附件附件附件树树序列序列状态状态Fijk表示从第表示从第i个物品到第个物品到第n个物品,最多花费个物品,最多花费j元,元,k表示表示i物品前面的主件有没有被购置,的最大价值和。物品前面的主件有没有被购置,的最大价值和。这样组织数据以后,一个附件能被购置的必要条件是这样组织数据以后,一个附件能被购置的必要条件是“其前面的最其前面的最近的主件被购置了。近的主件被购置了。算法算法3主件主件1附件附件主件主件2附件附件附件附件主件主件3附件附件附件附件附件附件附件附件K=0 主件主件2没有被购置没有被购置K=1 主件主件2有被购置有被购置 状态总数状态总数 O(NM*2) 状态转移代价状态转移代价O(1) 时间复杂度时间复杂度 O(NM)算法算法3重新组织数据后,我们再次成功地设重新组织数据后,我们再次成功地设计出了计出了O(NM)的算法。的算法。【题意描述】【题意描述】给出给出N个物品,每个物品都有一个权值个物品,每个物品都有一个权值(50000)和一个价格和一个价格(10000)。我们称可以直接被购置的物品为主件,称不能被直。我们称可以直接被购置的物品为主件,称不能被直接购置的物品为附件,附件只有当其主件被购置了才能被购置,接购置的物品为附件,附件只有当其主件被购置了才能被购置,主件可以有任意多附件,可以有多级附件。主件可以有任意多附件,可以有多级附件。很郁闷的金明很郁闷的金明【任务】【任务】用不超过用不超过M元钱,购置一些物品,使得被购置的物品的总权值最元钱,购置一些物品,使得被购置的物品的总权值最大。大。【数据规模】【数据规模】N60 M3200现在的题目在原题的根底条件上不仅增加附件的个数,还出现现在的题目在原题的根底条件上不仅增加附件的个数,还出现了多级附件。了多级附件。问题分析问题分析这是很一般的树!这是很一般的树!一般的树形结构,我们还能不能用前面的数据组一般的树形结构,我们还能不能用前面的数据组织方式呢?织方式呢?数据组织方式数据组织方式依然适用效率以物品为节点的树形结构以组为元素的序列附件紧跟其主件的序列说明这些数据组织方式都说明这些数据组织方式都不合理不合理,需要再次重新组织数据!,需要再次重新组织数据!现在我们再回过头来研究一下前面一种数据组织方式:把同在一个组的主件放在附件的前面,将树形问题转化到序列上来。而现在的问题是:树的高度增加了。树的高度增加了。组织数据方案三组织数据方案三考虑:考虑:树的先根遍历序。树的先根遍历序。仔细思考算法仔细思考算法3的状态转移:的状态转移:主件主件1附件附件主件主件2附件附件附件附件主件主件3附件附件附件附件附件附件附件附件K=0迁移到此题中,对于一棵子树,如果我们迁移到此题中,对于一棵子树,如果我们不购置其根结点,那么其子孙都不必讨论不购置其根结点,那么其子孙都不必讨论了因为其子孙节点都不能被购置了因为其子孙节点都不能被购置但是我们不能用加一维的方法来记录每但是我们不能用加一维的方法来记录每个附件的主件是否被购置了!个附件的主件是否被购置了!这一结论似乎很显然,但是我们并不是要在树形结构中运用这一结论。正如上面提到的,我们要在树的先根遍序上进行动动态规划态规划,而这一结论正是我们成功的关键。 状态Fij表示在遍历序列遍历序列中从第i个物品到第n个物品,最多花费j元,能得到的最大权值和。算法算法4主件主件1附件附件主件主件2附件附件附件附件主件主件3附件附件附件附件附件附件附件附件没有购置根结点!没有购置根结点!直接直接“跳过去!跳过去!状态总数状态总数 O(NM)状态转移代价状态转移代价O(1)时间复杂度时间复杂度 O(NM)重新组织数据后,我们再一次优解此题。重新组织数据后,我们再一次优解此题。算法算法4这样,实际上我们避开了这样,实际上我们避开了“记录主件状态记录主件状态的问题!成功地实现了状态的合法转移的问题!成功地实现了状态的合法转移小结小结树形结构树形结构树形动态规划树形动态规划O(NM2)线形结构线形结构合理地组织数据合理地组织数据线形动态规划线形动态规划O(NM)【题意描述】给出一棵有N个节点的有根树根为1号节点,每个节点有权值。要求对于每一个节点,求:1.其子树中权值比该节点大的节点总数2.树上所有比该节点大的节点总数3.从根节点到该节点路径中比该节点大的节点总数其中(1=N=105) 树的果实树的果实问题分析问题分析树形上的统计问题!树形上的统计问题!序列上的统计问题。序列上的统计问题。对数据的初步组织对数据的初步组织我们进行新的组织数据的尝试我们进行新的组织数据的尝试:利用先根遍历序将树转化:利用先根遍历序将树转化为序列,因为这样,为序列,因为这样,同一棵子树构成一个连续的区间同一棵子树构成一个连续的区间,这,这是一个非常好的性质。是一个非常好的性质。问题转化为:问题转化为:在一个由整数构成的序列上,进行在一个由整数构成的序列上,进行N次区间询次区间询问。询问一个区间中有多少元素的权值比给定的值大。问。询问一个区间中有多少元素的权值比给定的值大。在组织后的数据中尝试求解在组织后的数据中尝试求解我们直接在组织成序列的数据中进行统计。可以利用以我们直接在组织成序列的数据中进行统计。可以利用以有序表为元素的线段树!有序表为元素的线段树!每次统计的时间复杂度为每次统计的时间复杂度为O(log22(N) 总的时间复杂度为总的时间复杂度为O(Nlog22(N) 预处理预处理归并排序归并排序O(Nlog2(N)我们重新考虑转化后的问题。进一步组织数据进一步组织数据答案即是区间中的元素个数!答案即是区间中的元素个数!这是线段树和树状数组的看家本领这是线段树和树状数组的看家本领!考虑一种特殊的情况:考虑一种特殊的情况:当前的序列中所有元素的权值均大于给定的值。当前的序列中所有元素的权值均大于给定的值。一个很巧妙的方法:从大到小地向线段树里面依次参加元素,边加边统计。324517667665431132451766排序排序依次插入并统计依次插入并统计32451766这样,我们的总时间复杂度为这样,我们的总时间复杂度为O(Nlog2(N)小结小结树树序列序列嵌套数据结构嵌套数据结构“从大到小从大到小组织组织“形态形态一般数据结构一般数据结构组织组织“顺序顺序以上我们从几个例题介绍了“数据的合理组织的重要性及其在解题中的一些应用,然而例题只是一局部题目的代表,具体的题目应该具体分析。总结总结没有最合理的数据组织方式!多思考,多总结,没有最合理的数据组织方式!多思考,多总结,多实践,才是万能的解题之道。多实践,才是万能的解题之道。谢谢

    注意事项

    本文(国家集训队论文 浅谈数据的合理组织.ppt)为本站会员(e****s)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开