20220729模拟赛总结

时间安排

8:00~8:20

看题,T1 觉得是区间DP,写了下状态转移方程感觉还蛮复杂的,看了眼数据规模觉得可以用 f [ i ] [ j ] [ k ] f[i][j][k] f[i][j][k]来表示 i i i j j j区间内 k k k能否是冠军。T2 名字就叫背包问题,看了眼题感觉像分组背包,每一组选取不同的连续段,时间复杂度 O ( v t n 2 ) O(vtn^2) O(vtn2)。T3 的话一眼没有思路,看了眼数据规模发现没部分分的数据有点慌

8:20~8:40

实现T1的区间DP。“咦?!编译器没报错过了??输下样例,过了!?”感觉还挺顺的

8:40~9:00

写T2的分组背包,用前缀和来计算连续子段的大小,算了下复杂度大概在5e8了

9:00~9:15

再去看T3,有种想用 f [ i ] [ a 1 ] [ a 2 ] . . . [ a 12 ] f[i][a_1][a_2]...[a_{12}] f[i][a1][a2]...[a12]统计使用前i个武器并且野怪的状态为后面那一块时的最小花费的冲动,再想了下既然要统计这么多状态干嘛不用状压呢?!于是考虑用 f [ m a s k ] f[mask] f[mask]表示状态为 m a s k mask mask时的最小花费。那么怎么样状态转移呢?可以用已知来推位置,用每一个武器来更新之后的状态,因为当前状态已经使用过的武器再更新只会徒增花费,肯定不会被多次统计,从而可以保证每个武器只用一次!

9:15~9:30

实现T3的上述想法,算了下复杂度还可以!

9:30~10:20

再造点样例看看前面有没有哪里错了(可是还是没查出来 T1 /(ㄒoㄒ)/)

10:20~10:25

检查freopen + + + 交题

预期得分

T1 100 p t s 100pts 100pts + + + T2 100 p t s 100pts 100pts + + + T3 100 p t s 100pts 100pts = = = 300 p t s 300pts 300pts

RESULT

原本还以为终于能AK了呢,T1果然还是有问题/(ㄒoㄒ)/~
T1 20 p t s 20pts 20pts,只拿了样例分,状态转移想的太复杂了,思路还是没绕过来,只要枚举前面一段可能是冠军的人和后面一段可能是冠军的人就可以啦
T2,T3 的话思路和正解差不多吧

总结

状态转移很复杂的时候有些细节还是把握的不是很到位,以后要注意这方面的代码实现

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值