2021-09-02上午

20210902上午

数组开挂了,寄!

T1T2T3T4T5T6T7T8T9
预测100100100100100100100100100
一测1001001001001000100100100

T1:
dp经典,每个点可能来自左上或上方, f i , j = m a x ( f i − 1 , j − 1 , f i − 1 , j ) {f}_{i,j}=max({f}_{i-1,j-1},{f}_{i-1,j}) fi,j=max(fi1,j1,fi1,j),转移即可。
T2:
最短路板子。
T3:
注意到先序遍历子树都在节点后连续区间与后续遍历子树都在节点前连续区间,通过节点在后续遍历的位置在先序遍历中找到左右儿子位置,再对其子树区间递归处理。
T4:
数学题,分析可知应该是车载人到一定距离掉头接另外一个走的人,最后一起到终点。如图所示
已知车速为 v 1 v_1 v1,步行速度为 v 2 v_2 v2,总路程为 S S S
设车中间段来回的长度为 s s s,则车总路程为 S + 2 s S+2s S+2s,可得总时间 T = ( S + 2 s ) v 1 T=\frac{(S+2s)}{v_1} T=v1(S+2s),而汽车逆行的时间即为两人都在走的时间,即 t = s v 1 t=\frac{s}{v_1} t=v1s,故人步行的总时间为 T + t T+t T+t,而紫色长度可由人与车速度比得为 s ′ = s ∗ v 2 v 1 s'=s*\frac{v_2}{v_1} s=sv1v2,所以由人的路程列出方程为 ( T + t ) ∗ v 2 = S − s ′ (T+t)*v_2=S-s' (T+t)v2=Ss,解得 s = v 1 − v 2 v 1 + 3 v 2 ∗ S s=\frac{v_1-v_2}{v_1+3v_2}*S s=v1+3v2v1v2S,所以时间 T = 3 v 1 + v 2 ( v 1 + 3 v 2 ) v 1 ∗ S T=\frac{3v_1+v_2}{(v_1+3v_2)v_1}*S T=(v1+3v2)v13v1+v2S
T5:
模拟。设置结构体,重载运算符<,排序输出即可。比较方式即把较短字符串重复到跟较长字符串相同长度后按字典序排序,如727与7277276的比较
727 727 6
727 727 7
所以727>7277276
T6:
贪心。按左端点从小到大排序,左端点相同则按右端点从小到大排序。每次取右端点一定是最优的,当右端点无法覆盖之后取新的端点。
T7:
搜索。优先直走,转弯次数超过答案剪枝。
T8:
dp。 f i f_i fi表示到i最少需要多少单词,每次枚举最后一段暴力匹配,能匹配则更新,复杂度O(n4),本题n很小,不需要AC自动机。
总结:比昨天难一点,基本还是普及组难度。
请添加图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值