11.13 训练周记

这周复习加学习了一些图论,然后写了点动态规划和一些杂题。

最近写到了一题需要缩点,缩点本质是解决图中存在环导致难以执行一些操作如最短路之类的问题。主要由Tarjan算法实现,

当子节点v最早可以回溯到超过父节点u的时候,也就是low[v]<dfn[u]的时候则断开这个父节点,其他节点仍然可以由他的子节点通过所以

low[v]>=dfn[u]

时断开u,其他节点则无法通过子节点,形成断路,此时u为割点。

找出割点之后,用类似并查集的方式给整个环指定一个父亲,以后这个环就由这个父亲代表,解决了图中存在环的一些问题。虽然一般图论题不会故意出这种题,但是也算是用到次数比较多的算法了(大部分算法学完一次都没用到过...)Tarjan因为之前写过博客了就不分析代码细节了。

写了点树形dp的题,个人感觉树形dp思路比较像记忆化搜索。常规的树形dp还是不太难的。

P2015 二叉苹果树 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

主要思路是讨论每个分支分出的苹果数量,细节有点多。

P2014 [CTSC1997] 选课 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

然后除了一些思维题就是一些杂题,话说上次网络赛就是卡在了表达式求值这块,刚好找到了一题练练手。227. 基本计算器 II - 力扣(LeetCode)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值