5.29 SD省队培训D1

自闭的一天

T1 梦批糼

先咕一咕(两天之内一定补上)

T2 等你哈苏德

继续咕(一星期之内补上)

T3喜欢最最痛

四十分做法:

首先,我们发现同一个点加两条额外边是一件非常蠢的事,然后同时,加额外边也同时意味着讲这两个点在树上的路径长度用当前权值代替.那么题目就转化成了对与每个\(k\in[0,m]\)求出树上的边不相交(因为上面说了,相交是一件很蠢的事)的\(k\)条路径的最大和.
我们考虑\(dp\),因为点不相交就贪心,有点类似noip2018D1T3
设\(dp_{i,j0/1}\)表示在以\(i\)为跟的子树中,选了\(k\)条路径,能\((1)\)否\((0)\)向上延伸的最大路径之和.
所谓向上延伸,画张图理解一下

红色为我们选择的边左图是不可延伸,而右图可以延伸。
那么知道了这个之后我们想一想该怎么转移

\(dp_{x,u + v,0} = max(dp_{x,u,0}+dp_{y,v,0},dp_{x,u,1} + dp_{y,v + 1,1} + e[i ].data)y\in son_x\)

首先第一个是当\(x\)与\(y\)都没有链头的时候(我们称能否向上延伸为链头),肯定是可以结合的
第二个是两个都有链头,但是两条合并时,总的链数就会减一,而这个减一只能在儿子那上面去减.因为如果减到父亲上会影响之后的DP转移

\(dp_{x,u + v,1} = \max(dp_{x,u,0}+dp_{y,v,1} + e[i].data,dp_{x,u,1} + dp_{y,v,0})\)

转移1时也分两种情况,首先是看看链头在那上面即可

5.29 SD省队培训D1的更多相关文章

  1. 8.6培训 D1

    今天是赵和旭老师讲课(也是 zhx) 动态规划 利用最优化原理把多阶段过程转化为一系列单阶段问题,利用各阶段之间的关系,逐个求解(有点像分治?) 更具体的,假设我们可以计算出小问题的最优解,那么我们凭 ...

  2. 【瞎扯】我的OI之路

    这里大概是一些我自己对我的OI之路的一些记录. 2015.11不知道哪一天-- 我听说了"编程". 当时还不懂得啥是信息学竞赛,以为这只是纯粹的程序设计.后来才明白信息学竞赛是算法 ...

  3. 我的$OI$

    我只是懒得写日记啦\(\color{pink}{qwq}\) //11月8日 啊--终于要\(NOIp\)了,为此期盼了好久.紧张了好久的我,不知道会迎来怎样的结果. 我只知道这段回忆是值得保留封存的 ...

  4. HDU 5499:SDOI

    SDOI Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Sub ...

  5. $NOIp$前的日常

    嗯,一想到没准今年\(NOIp\)之后就要退役了,觉得没准这篇博客就是我OI史上的绝唱了-- \(hhh\),希望不会这样. \(12.4\) 退役了是真的233-- 居然感到一身轻松啊qwqwq \ ...

  6. tcpreplay,tcprewrite的使用---张子芳

    [关键字]: tcpreplay, tcpprep, tcprewrite, libpcap, winpcap, linux, windows, cygwin[摘要]: 本文总结了tcpreplay的 ...

  7. SQL Server常见基础操作

    1. 常见针对表的操作(增删改查) --1. Create Table USE [MVC_000] CREATE TABLE T_TableName ( ID ,) PRIMARY KEY, Name ...

  8. QQ2013登录报文简单分析(不可用于非法用途)

    [NO.1 2013-05-08 00:31:16 046 SEND 115字节]02 31 03 08 25 27 B5 88 6F 91 D2 03 00 00 00 0101 01 00 00 ...

  9. 黑盒测试用例设计方法&理论结合实际 -> 判定表驱动法

    一. 概念 判定表是分析和表达多逻辑条件下执行不同操作的情况的工具. 二. 判定表驱动法的应用 判定表的优点: a. 能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏.因此,利用判定表能 ...

随机推荐

  1. 2019-8-31-dotnet-方法名-To-和-As-有什么不同

    title author date CreateTime categories dotnet 方法名 To 和 As 有什么不同 lindexi 2019-08-31 16:55:58 +0800 2 ...

  2. More Effective C++: 05技术(25-28)

    25:将constructor 和 non-member functions 虚化 所谓 virtual constructor是某种函数,视其输入可产生不同类型的对象.比如下面的代码: class ...

  3. Oracle日期

    oracle 日期格式 to_date("要转换的字符串","转换的格式")   两个参数的格式必须匹配,否则会报错. 即按照第二个参数的格式解释第一个参数. ...

  4. Linux用户、群组和权限命令总结

    新建用户natasha,uid为1000,gid为555,备注信息为“master”   groupadd -g 555 natasha useradd -u 1000 -g 555 -c maste ...

  5. UVa 10323 【数学】

    UVa 10323 题目:计算阶乘在10000~6227020800之间的值,不在范围对应输出Under或者Over. 分析:简单题.数论.因为13!=6227020800,7!<10000&l ...

  6. find 使用搜集

    find:-atime +n/-n:表示访问或执行时间大于或小于n天的文件-ctime +n/-n:表示写入.更改inode属性的时间大于或小于n天的文件-mtime +n/-n:表示写入时间大于或小 ...

  7. 冒泡排序&&选择排序 以及时间效率对比

    package com.test4; import java.util.*; //Calendar 显示时间 /** * @author qingfeng * 功能:冒泡排序 */ public cl ...

  8. window执行python文件

    @echo offD:cd D:\pythonstart python2 del.pyexit

  9. 深度解读Helm 3: 犹抱琵琶半遮面

    自去年年初开始放风Helm v3将要开始开发,到去年年底KubeConn 上海被一堆人追问到底啥时候发版本.今年五月份,Helm v3 终于发布了第一个alpha版本,让我们来一窥新版本的Helm 到 ...

  10. mysql数据库之单表查询

    单标查询 单表查询语句 关键字执行的优先级 简单查询 where约束 group by 聚合函数 HAVING过滤 order by 查询排序 LIMIT限制查询的记录数 使用正则表达式查询 单表查询 ...