2020.10.7提高B组总结

服了,赛时想到两个无限接近正解的玩意,差点切掉T3、4
赛时:
T1:懒得想
T2:懒得想
T3:想着开始把每个si-i的值存进桶里,用T1,T2分别记下桶里非负的个数和负的个数,每次旋转改变只需要修改当前第n个数所在的桶和旋转后变成负数的桶就好了,再维护下T1,T2就可以更新开始没旋转的答案ans,每次旋转ans会减少T1,而且会增加T2,再把修改后的桶一起拿去计算答案
T4:一眼树形dp,设f[i][j][0/1]为第i个点,用了j的空间,父亲选了/没选,转移方程很好想,f[i][j][0]=f[fa][j][1],f[i][j][1]从i的父亲和父亲的其他子树转移就好了
赛后:
T1:把k个超市a1~ak到其他城镇的最短路处理出来,再枚举农场a0,答案就是a0到超市+超市之间相加+最后一个超市到a0,超市之间直接bl就好了,5!也才120。
T2:水题,预处理一个前缀和a[i][c]一个后缀和b[i][c],分别表示s1串前/后i个中字符c的i的和,然后再计算答案,s2串里第i个字符c对答案的贡献是(n-i+1)a[i][c]+ib[i+1][c],最后把得到的答案除以1~n的平方和就是答案了
T3:同上
T4:差一点想到正解,先处理出每个点的dfs序,子树的大小,设f[i][j]为dfs序为i,用了j的空间,转移方程很简单,选的就可以转移出i+1,不选转移出i+size

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值