2022.1.23考试总结

时间安排

7.30-8.00

审题+犯浑,迷迷糊糊地审了题

8.00

开始打代码

8.00-8.50

审题的时候感觉T3不就是个裸的状压,然后就开始猛上,把车写完以后发现我根本就不会把国王加进去

8.50-9.50

回头看T1,很显然的思路去算每个数的贡献,怎么算呢,我想到了一个方法,把这个数抛出去,然后剩下的随便选,乘上这个系数不就行了吗,但明显感觉是错的,如果一种方案同时出现两个1,那我其实只算了1个1的方案,时间复杂度还够枚举一个数量,又因为前面已经算过其中1个1的答案了,简单的容斥思想一下吧,加上刨去2个1的方案即可,不需要加二倍。然后就是想怎么求这个方案数,多重集组合数?可我推不出来…
想到这是dp专场,朝dp想,开始想如何dp,根据求什么设什么的原则,设一个dp数组表示 i i i随便分成 j j j份的方案数,以前貌似做过这个题吧(虽然我还是想了好久),要么补1,要么全加1,那方程式就推出来了
上机去写的时候,把本上的 j − i j-i ji打成 j − 1 j-1 j1了(我说为什么我写了个跟递推求组合数一样的式子),样例过不去,调了一会儿改过来了,然后。。循环忘改了。。就越界了。。

9.50-10.30

T2是个树,那不显然树形dp?可我不会维护状态呀,所以直接暴力吧,那个30分不就二进制枚举一下就行了,至于具体怎么实现呢,我以1为根把树提起来,选几个点表示将这个点与它父亲的边断开(有点像七连做的辣椒的思想),然后它父亲就成了它这个子树的根,就可以划分成若干连通块了,然后要同时传递最大值最小值,果断pair类型函数,自己造小数据发现一点bug,循环又写错了…

10.30-11.20

T4瞎搞个最大流大暴力跑去吧…

11.20

我以为快交题了,结果到12.20

11.20-12.00

有始有终!回去磕T3,我还是不会dp呀,但我会写dfs然后打表!但我的表有点拉,过不去6,最多打到5吧,最后拿了20分跑路了

12.00-12.20

摆烂了

赛后反思

分清1和 i i i,Debug的时候不仅改表面的那个错,还要记得看限制条件有没有挂了…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值