2017.11.19第十二周周总结

来源:互联网 发布:扫描ssh端口 弱口令 编辑:程序博客网 时间:2024/06/06 04:02

这个周,周末没有比赛,这几天也都在做树形dp了  现在为止做了12个题了,,遇到很多题意一样的题,

都运用了dfs和背包,dfs是深搜的一条枝到叶子,背包是对于当前节点,对他的直系子节点进行01背包(选或者不选)

感觉现在就两种模板

一种是不定根节点

找子节点,根据父子代的关系推出状态转移方程就行

难点是推状态转移方程
双向的定一个look【】,记录是否便历过,存struct时,存双向的
dfs 的for循环的是兄弟节点,以当前点为根节点,带状态转移方程,回溯~

一般情况下dfs在方程的前面

特殊的有apple  tree是三维的dp数组,因为存在返回节点的情况,第三维存的是是否返回位置,不返回时,包括(当前点不反回且子节点不返回)(当前点不返回,但子节点返回) 节点之间相互独立,可依次考虑

再一种就是每个点分别为根节点时的比较情况

在加上一次dfs循环,找当前结点与父节点之前的关系,例如B,E,要考虑每一个点为根节点的情况,只要再推一个状态转移方程即可,一般情况先,方程在dfs的前面


还看到一个题,是到从指定点开始,到指定点结束,寻找最值,这个题还没有做出来,觉得可能有点新意

原创粉丝点击