省选模拟赛2022/1/19

比赛时间安排

7.30-8.00 看题
知道这次是dp专练,心里非常慌张,做好罚坐的准备了(果然没让我失望)
t1 期望,那个n=0就是白送,然后想了想n=1,有点想法,但是样例目前是没法检验,等之后写点代码出来吧
t2 给的部分分很多,让我一度以为我可以,毕竟一共是三个限制条件,其中一个没了之后就剩两个,好写很多,没细想,想了想暴力,发现枚举完要满足哪些要求之后,不会判断合不合法,有点崩
t3 看完题之后完全没思路,暴力复杂度特别高,50过不去,自闭了
t4 题面很长,是个树上问题,暴力20分感觉可做,把所有情况都枚举一遍就行了,但是。。。当时脑子已经乱了,不知道咋写了

【剩下的忘记看时间了,只知道时间过得很漫长】

t1:
写了一个n=1的简短的代码,结果测试了一下样例,不过挂掉了,然后应该又调了会,但是对于期望计算没把握,说不定是公式忘了,没调出来就不管了

t2:
首先先思考暴力方式,2^n枚举每一个选择的子集,然后判断是否合法,算了一下复杂度,判断n方都能过,然而想不出一个判断方式。。。自闭了
然后看下面几条部分分,首先是c=1,就变成每个物品只有一个,要找满足要求的,且利益最大,感觉似乎是个贪心,但是思索了一下,看了一下这里的数据范围专门给了<=100,所以就开始想n^3dp,未果,依然自闭,后两种情况也想不出来,当时就一直磕,好不容易写出式子,但是调不对,心态还没有太崩(因为这样的结果早预料到了)

t4;
因为看了大概10分钟t3,连暴力都没思路,所以直接放弃,时间剩大概1小时,觉得只能写一道题了,就开始搞t4暴力。
想到dfs,用一个sum[x]表示这个改变之后的值,然后就是放磁铁和不放磁铁分别dfs,刚开始我按照原来的写法,但是发现每一次都要重新给数组赋值,太麻烦了,所以就先全放,再全不放,这样回溯操作也方便。我用另一个数组yuan记录。但是好不容易写完,剩30分钟了,就开始调bug了。我发现yuan数组的值也变了!!!所以我就又加了一维,表示递归层数,发现这点解决了。然后继续调试,发现结果还是很大,是因为本来有2个磁铁,但是按照我的算法,放了三个点,所以又进行了一次大改。发现竟然过了!时间只有4分钟了,就赶紧交题了,顺便胡写了一个t2

赛后总结反思

  1. 最后太赶了,没仔细检查,t4挂掉了,开ll,就20了
  2. dp基础太差,基础专练要搞起来。
  3. 赛前心态还是有问题,要相信自己。
  4. 状态不好,太困了,思考不进东西

与正解的差距

T1

有一个特性是: E = 1 / P E=1/P E=1/P,即期望次数=概率的倒数
利用这个去推式子,主要还是期望学的不扎实

T2

没想到把价值变为有正有负的,模拟买和卖,这个应该想到,但是感觉太久没思考这些了
也没想到用背包写

T3

正难则反,把这个游戏想象成两个人在放硬币,这个思想感觉永远到不了啊【o(╥﹏╥)o】
f [ i ] [ j ] f[i][j] f[i][j]表示已经放了i个硬币,下一个人要放j个硬币的情况,也就是这次放的硬币数是 [ 1 , 2 j ] [1,2j] [1,2j]
写出n^3转移式,发现可以化简!(这个赛场上应该想不到,能写出基本式就够了,慢慢来)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值