首页 > 其他分享 >POJ 2057 The Lost House 树形DP+贪心

POJ 2057 The Lost House 树形DP+贪心

时间:2023-09-15 10:37:20浏览次数:463  
标签:结题 2057 Lost House blog 最优 节点 dp 贪心


       最近一直在做树形dp,感觉这道题出的非常不错。卡了我一天。。

       一上来读完题感觉和dp的思路很像,但是自己太弱了,无从下手。于是各种百度看结题报告、看论文。推荐几个结题报告 

http://blog.sina.com.cn/s/blog_5f5353cc0100hd08.html

还有06年国家集训队杨劲松的论文,这些讲的都非常到位。

       下面说说我的理解。这道题实质上就是让我们求从根节点到每一个叶子节点距离和的最小值(但是要按照一个最优的遍历子节点的顺序来求解,这个就是那个贪心的内容)

每个点设置两个状态值,一个表示只是路过这个点及其所有子节点a[i],另一个表示以这个点为根节点到它的每一个叶子节点距离和的最小值b[i](同样要按照上面提到的最优

顺序),然后再记录以这点为根的子树的叶子节点的个数。

        然后就是状态转移的内容了,先假设一个最优遍历顺序,然后注意各种细节,推导出a[i]的表达式,再找其中的可贪心的部分(ps.这一部分的理论推导大家看上面的资料

就可以看懂了)。

标签:结题,2057,Lost,House,blog,最优,节点,dp,贪心
From: https://blog.51cto.com/u_16263395/7477992

相关文章

  • 最高提升10倍性能!揭秘火山引擎ByteHouse查询优化器实现方案
     更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 作为企业级数据库的核心组件之一,查询优化器的地位不可忽视。对于众多依赖数据分析的现代企业来说,一个强大且完善的查询优化器能够为数据管理和分析工作带来巨大的便利。 作为火山引......
  • 仓库管理系统WarehouseManagement类
    packagedemo3;importjava.util.ArrayList;importjava.util.Objects;importjava.util.Scanner;publicclassWarehouseManagement{publicstaticvoidmain(String[]args){ArrayList<WarehouseInformation>list=newArrayList<>();b......
  • 仓库管理系统WarehouseInformation类
    packagedemo3;publicclassWarehouseInformation{privateStringitemnumnow;privateStringitemname;privateStringsuppliername;privateStringwarehousingtime;privateStringshipmenttime;privateStringwarehousenumber;pr......
  • ClickHouse使用之五 ——clickhouse-go内存泄露解决
    这个代码运行2亿条记录,发现内存使用一直增加,内存满了以后,直接被killed func(p*ClickHouseClient)CountAllTxTypees(startIdint,endIdint,SpaceStoreSpaceInterface)(web3datas[]Web3Data){ sql:=fmt.Sprintf(` SELECTgame_name,Address, CASEtx_type ......
  • 火山引擎 ByteHouse:两个关键技术,揭秘 OLAP 引擎中的数据导入技术
    更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群数据导入是衡量OLAP引擎性能及易用性的重要标准之一,高效的数据导入能力能够加速数据实时处理和分析的效率。作为一款OLAP引擎,火山引擎云原生数据仓库ByteHouse源于开源ClickHouse,在字节跳......
  • 火山引擎 ByteHouse:两个关键技术,揭秘 OLAP 引擎中的数据导入技术
     更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 数据导入是衡量OLAP引擎性能及易用性的重要标准之一,高效的数据导入能力能够加速数据实时处理和分析的效率。 作为一款OLAP引擎,火山引擎云原生数据仓库ByteHouse源于开源C......
  • ClickHouse使用之四 ——外部数据源导入通用方案之insert into select from
    需求:1、在工作中,我们常常需要将外部hive或者mysql、oracle等数据源导入到clickhouse中,对于多种外部数据源,是否有通用的数据导入方案?2、我们在clickhouse上维持一张查询主表,但外部数据源表是hive增量表,新增数据需要同步更新到clickhouse上,是否有不通过第三方组件的插入方式......
  • 如何实现数据流畅转换?火山引擎ByteHouse推出ELT能力
    更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群在数据分析场景中,企业使用的数据通常具备来源多样化的特点,如支付交易记录、用户行为等,且数据格式各异,有的为行式存储结构,有的为列式存储结构。这就要求企业数仓具备一定的数据转换能力。传统方式......
  • ClickHouse使用之二 ——整合mysql,实现数据库创建查询导出
    1.mysql创建一个用于clickhouse的账号mysql_clickhouse并且授权CREATEUSER'mysql_clickhouse'@'%'IDENTIFIEDBY'Password123!';GRANTALLPRIVILEGESON*.*TO‘mysql_clickhouse’@‘%';2. 使用mysql引擎创建一个clickhouse的外部表存在一个mysql的数据库:host:......
  • ClickHouse的Join算法
    ClickHouse的Join算法ClickHouse是一款开源的列式分析型数据库(OLAP),专为需要超低延迟分析查询大量数据的场景而生。为了实现分析应用可能达到的最佳性能,分析型数据库(OLAP)通常将表组合在一起形成一个大宽表,这个过程称为数据反规范化(datadenormalization)。大宽表通过避免JOIN连接来......