首页 > 其他分享 >复健记录

复健记录

时间:2023-07-10 15:57:55浏览次数:51  
标签:复健 子树 条数 记录 贡献 fa dp

CF1394D Boboniu and Jianghu *2800

树上链相关组合优化自然考虑 dp,影响子树对父亲的贡献的唯一因素在于 \((u,fa_u)\) 向上还是向下,考虑将其放入状态里,设 \(f_{u,0/1}\) 表示以 \(u\) 为根的子树,\((u,fa_u)\) 向上/向下时子树内的 \(\sum a_i\)。

进一步地,考虑转移的贡献,容易发现对于任意 \(v \in son_u,b_v \not=b_u\),边的方向已经固定,可以直接加进贡献里,而 \(u\) 对答案的贡献为经过它的链的条数乘上 \(a_u\),而条数等于 \(\max\{in_u,out_u\}\)
,所以直接一开始默认 \(b_v=b_u,(u,v)\) 全部用 \(f_{v,1}\) 的贡献,枚举 \(in_u\),每次把最小的 \(f_{v,0}-f_{v,1}\) 加上即可。

由于要对 \(f_{v,0}-f_{v,1}\) 排序,总复杂度 \(O(n \log n)\)。

  • 总结: 权值二选一算贡献(\(f_{v,0/1}\))可以用类似技巧。

标签:复健,子树,条数,记录,贡献,fa,dp
From: https://www.cnblogs.com/lgj-lgj/p/17541382.html

相关文章

  • 2023-07-10 记录使用chrome浏览器点击内容搜索时跳转到了一个叫www.ibaixia.com的网站
    前言:猜测是chrome中毒了,或者就是网页被劫持了,每次搜索会跳转到www.ibaixia.com,然后在一瞬间又跳转到了百度搜索页。解决方案:在chrome打开chrome://settings/searchEngines,也就是打开设置,找到【网站搜索】一栏,在该栏中找到百度字样,然后打开它,如果是正确的www.baidu.com,那就不用......
  • SpringBoot+Mybatis搭建之采坑记录(持续更新...)
    Stoppingservice[Tomcat] 1.缺少Serivce注解无法启动tomcat 2.包名错误3.写了注解没写参数使用Eclipse调试Springboot项目时总是直接进入SilentExitExceptionHandler解决方案:Window-->Preference-->java-->debug-->Suspendexecutiononuncaughtexceptions选项前面的勾......
  • epoll模型、边缘触发和条件触发记录
    参考:https://blog.csdn.net/liu0808/article/details/52980413epoll模型三大函数:epoll_create,epoll_wait,epoll_ctl,是Linux独有的函数,因为它需要linux内核支持。头文件<sys/epoll.h>epoll_createintepoll_create(intsize);成功时返回epoll文件描述符,失败时返回-1......
  • 宝塔部署前后端-简单记录
    目的此文档编写目的为记录智能乐BI项目上线流程。代码前端地址:https://gitee.com/the-future-world-only/lebi-frontend代码后端地址:https://gitee.com/the-future-world-only/lebi-backend鱼皮编程导航知识星球:https://yupi.icu/前端上线修改端口号在package.json指定......
  • 记录拖动排序
    最近项目中要做一个拖动排序功能,首先想到的是之前项目中用过的antd自带的tree和table的拖动排序,但是只能在对应的组建里使用。这里用的是自定义组件,随意拖动排序,所以记录一下实现流程react-dndantd组件的拖动排序都是用的这个库,使用比较灵活,但是要配置的东西比较多,需求复杂时使......
  • docker 常用记录2023
    IDEA连接虚拟机(Ubuntu)的docker的最好办法(开放2375端口号).我这里用的Ubuntu,1、打开终端输入"sudovim/lib/systemd/system/docker.service"2.在sock后面,添加-Htcp://0.0.0.0:2375如上图所示.按下键盘Esc键输入wq保存退出.3.然后输入systemctldaemon-reload,重新加......
  • 记录一个打印内存的日志函数
    在调试代码的时候,经常需要dump一段内存,有时候不得不自己动手写一个函数。现在先记录一个简单版本的内存打印函数。constchar*hexstr="0123456789ABCDEF";voiddump(intlevel,constchar*tag,constuint8_t*data,uint32_tlength){#define_CNT_PER_LINE(1<<4)......
  • CTFer成长记录——CTF之Misc专题·base32
    一、题目链接https://ctf.show/challenges#萌新隐写5-112二、题意分析    打开后是一张神奇的txt文件,一开始我们可以尝试将文件丢入winhex中,找找有没有信息。这个题就是通过winhex中的信息,获取到一串密文,根据密文的特征最后解出flag。三、解法步骤  用winhex打开......
  • 计算机网络自顶而下第一章笔记记录
    计算机网络节点主机及其上运行的应用程序(能接入互联网的任何终端)(端点)路由器,交换机等网络交换设备。(其中,路由器与交换机的工作层次不同,路由器在网络层工作,交换机在链路层工作)边 通信链路(按接入设备的不同)接入网链路,主机连接到互联网的链路(只要有端点即可)主干链路:路由器......
  • CSAPP-Data Lab 思路记录
    >gcc-O1-Wall-m32-lm-obtestbits.cbtest.cdecl.ctests.c>Infileincludedfrombtest.c:16:0:>/usr/include/stdio.h:27:10:fatalerror:bits/libc-header-start.h:Nosuchfileordirectory>#include<bits/libc-header-start.h>>......