首页 > 其他分享 >20230724练习总结

20230724练习总结

时间:2023-07-25 10:22:26浏览次数:43  
标签:总结 练习 dp 之前 son 树形 20230724 父边 消除

CF627F

这个题的题面翻译其实就已经把做法提示得很明显了。

每一次操作相当于是把 \(0\) 移动到相邻的节点上。

考虑不加边,那接判断 \(0\) 移到后是否相同即可。

现在要加一条边,可以先把 \(0\) 移动到位,判断是否相等。可以观察到如果加一条边影响的应该是一个环——顺移一个位置。

于是可以找到需要改变的点,如果和 \(0\) 一起无法构成一条路径则无解,否则将初始路径上那部分减掉再加上多出来的部分就是答案。

CF1726D Tree Elimination

树上的计数题树形 dp 肯定是要在考虑范围内的,如果树形 dp 做不了就考虑推式子。

理解一下题意,就是找擦除标记的方案数。考虑树形 dp,设 \(f_{u,0/1/2/3}\) 表示 \(u\) 被父边之前的边消除 / 被父边消除 / 被父边之后的边消除 / 未被消除。

若 \(u\) 不被父边消除,即 \(f_{u,0/2}\),那么假设消除 \(u\) 的边对应的儿子为 \(v\),有:

  • \(v\) 不能在 \((u,v)\) 之前被消除,即 \(f_{v,2/3}\)。

  • 对于 \((u,w)\) 在 \((u,v)\) 之前的 \(w\in son(u)\),\((u,w)\) 不能消除 \(u\),所以 \(w\) 必须被父边消除,即 \(f_{w,1}\)。

  • 对于 \((u,w)\) 在 \((u,v)\) 之后的 \(w\in son(u)\),\((u,w)\) 已经无法再消除点,所以 \(w\) 无法被父边消除,即 \(f_{w,0/2/3}\)。

若 \(u\) 被父边消除,即 \(f_{u,1}\)。

  • 对于 \((u,v)\) 再 \(u\) 父边之前的 \(v\in son(u)\),\(v\) 必须在 \((u,v)\) 之前被消除,即 \(f_{v,0/1}\)。

  • 对于 \((u,v)\) 再 \(u\) 父边之后的 \(v\in son(u)\),\(v\) 已经无法被父边 \((u,v)\) 消除,即 \(f_{v,0/2/3}\)。

若 \(u\) 未被消除,则 \(\forall v\in son(u)\) 都要被父边消除或在父边之前被消除,即 \(f_{v,0/1}\)。

标签:总结,练习,dp,之前,son,树形,20230724,父边,消除
From: https://www.cnblogs.com/dks-and-xiao-yu/p/17579091.html

相关文章

  • Vue2语法知识总结
    下面总结Vue2的语法知识1、插值语法<!DOCTYPEhtml><html> <head> <metacharset="utf-8"> <title>Vue插值语法</title> <scripttype="text/javascript"src="../javascriptdemo/vue.js"></script> &......
  • Java小总结---不全面
    类与对象的关系?它们的关系是,对象是类的实例,类是对象的模板。构造器定义类是一个模板:抽象;对象是一个具体的实例。类=属性+方法封装继承多态抽象类除非子类也是抽象类。抽象方法接口抽象类的单继承接口的多继承接口的作用:内部类匿名内部......
  • 字符格式化-逐步总结-f-string
    Python3.6引入了一个新的格式化字符串的方法:f-string(formattedstring),它可以直接把变量写在字符串中,使得格式化的字符串看起来很直观。f可以小写,也可以用大写F。一、变量使用:例1:name='张三'print(f'姓名:{name}')>>>姓名:张三。简单说就是{}里直接加变量。例2:i=0print......
  • 算法练习-day29
    贪心算法435.无重叠区间题意:给定一个区间的集合 intervals ,其中intervals[i]=[starti,endi] 。返回需要移除区间的最小数量,使剩余区间互不重叠 。实例:思路:本题和452.用最少数量的箭引爆气球做法非常类似,大家可以先看看我之前的文章。本题我们只需要统计重叠的区域,代码如......
  • Java-Day-36( 通过反射获取类的结构信息 + 通过反射访问类中的成员 + 章节练习 )
    Java-Day-36通过反射获取类的结构信息第一组:java.lang.Class类以下说的包含本类和父类——也包括超类等方法属性之类的若是输出时不加.getName,则都是输出:com.zyz.Zyz()publicclasstest{publicstaticvoidmain(String[]args){}@Testpubl......
  • 算法练习-day28
    贪心算法860.柠檬水找零题意:在柠檬水摊上,每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品,(按账单bills支付的顺序)一次购买一杯。每位顾客只买一杯柠檬水,然后向你付5美元、10美元或20美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付5美元。注意,一开......
  • 「赛后总结」20230724 CSP 模拟赛
    「赛后总结」20230724CSP模拟赛点击查看目录目录「赛后总结」20230724CSP模拟赛总结。题解T1最长上升子序列ARC125C思路代码T2独特序列ARC125D思路代码T3最大GCDARC126C思路代码T4连续子段ARC126D思路代码想听歌,想看巨人,但是没有条件。总结。rk1三个首杀,前......
  • c++学习经验总结
    1.关于结构体中定义函数在C++中,结构体中定义函数没问题在C中,则不行。会报expectedspecifier-qualifier-listbefore...2.在C++中,结构体与类的区别:在C++中,结构体是一种特殊形态的类。结构体和类的唯一区别就是:结构体和类具有不同的默认访问控制属性。3.C与C++中结构体......
  • 我的第五次C语言练习
    今天写书上的练习。//第一章练习//intmain(void)//{// intinch;// floatcm;// inch=0;// scanf("%d",&inch);// cm=2.54*inch;// printf("cm=%f\n",cm);// return0;//}发现之前第一章还有练习没写,是将英尺转换为厘米,因为inch乘了个2.54,所以cm是小数,用的是flo......
  • 【红队攻防】个人总结、工具、大量干货
    【红队攻防】个人总结、工具、大量干货本公众号技术文章仅供参考!文章仅用于学习交流,请勿利用文章中的技术对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。又很久没更新了,不过正所谓没有好的知识沉淀,哪能写出来好文章,此......