0908模拟

首先,这次注意了越界的问题,思路基本都成代码了,nice~

自恋结束

好,下面就是槽点密集的正文

0908模拟

T1 char数组

T2 树的dfs

T3 状态转移

算法上,T2很顺

循环同深度的点,针对每一点,遍历下一深度

也意味着走过的路满足条件后,无需顾及,不需要getclear()什么

故时间复杂度O(n)

双向边在dfs时,需要使y!=fa

dfs顺序上看,放入队列的边一定是按深度从小到大排的,不需要再次排序

在判断是否满足限制时,直接利用队列长度和深度比较,一石二鸟


选60次二选一,得出最小代价,代价相加关系,有单向影响

显而易见,状态转移方程可以达到殊途同最优归的效果

模拟时选择的dfs有了殊途,没有同归,存在大量可以提前排掉的冗余二叉树

最后与TLE相看两厌

风水轮流转,前几天说“总有一种写dfs状态转移会错的后怕”,顺利应验

缺少同状态的min判断,导致TLE

弃敲了几十分钟的f[][][][][]写dfs有几个原因:

转移时存在违规状态,但在dfs中可以return

优解里达不到的状态赋值inf,达到但违规的状态用if判断,很好想

优解最后的状态需要枚举比较

拜托,全部枚举也比dfs少哎

 沉没成本带来的摇摆不定

用总长%10的时间敲出自己得分%90的人,凌乱个寂寞

清清白白说明白,很多小点都可以迎刃而解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值