20210928下午

20210928下午

下午开两个文件夹写程序然后改了本地程序没改上传,痛失 A K AK AK A K AK AK我的 A K AK AK QAQ。

请添加图片描述

T1T2T3T4
预测100100100100
一测10010010070

T1:
发现只要确定第一个点是否为雷就能确定整个图,所以分别模拟一遍验证就行。
T2:
状压 d p dp dp,可以先找出有效状态以减小时空复杂度,然后枚举相邻状态以转移就行,本质和炮兵阵地没啥区别。
T3:
之前做过,最小生成树板子。
T4:
m ≤ 2 m\le 2 m2十分友好,由于 m = 1 m=1 m=1的情况可以通过把第二行赋成极小值解决,就不多赘述了,再次介绍 m = 2 m=2 m=2的解法。定义 f i , j , k f_{i,j,k} fi,j,k表示第一维到 i i i,第二维到 j j j,选出 k k k个矩阵的最大值。因为不强制选择 i , j i,j i,j,所以有 f i , j , k = max ⁡ ( f i − 1 , j , k , f i , j − 1 , k ) f_{i,j,k}=\max(f_{i-1,j,k},f_{i,j-1,k}) fi,j,k=max(fi1,j,k,fi,j1,k),然后分别枚举上下两行选择单行矩阵,即 f i , j , k = max ⁡ t = 0 t < i ( f t , j , k − 1 + s u m 1 i − s u m 1 t ) f_{i,j,k}=\max_{t=0}^{t<i}(f_{t,j,k-1}+sum1_i-sum1_t) fi,j,k=t=0maxt<i(ft,j,k1+sum1isum1t) f i , j , k = max ⁡ t = 0 t < j ( f i , t , k − 1 + s u m 2 j − s u m 2 t ) f_{i,j,k}=\max_{t=0}^{t<j}(f_{i,t,k-1}+sum2_j-sum2_t) fi,j,k=t=0maxt<j(fi,t,k1+sum2jsum2t)
然后若 i = = j i==j i==j,则可以选择两行的矩阵,即
f i , i , k = max ⁡ t = 0 t < i ( f t , t , k − 1 + s u m 1 i + s u m 2 i − s u m 1 t − s u m 2 t ) f_{i,i,k}=\max_{t=0}^{t<i}(f_{t,t,k-1}+sum1_i+sum2_i-sum1_t-sum2_t) fi,i,k=t=0maxt<i(ft,t,k1+sum1i+sum2isum1tsum2t)
总复杂度 O ( n 3 k ) O(n^3k) O(n3k)
总结:十几年前的省选还是比较简单的。
请添加图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值