22NOI赛前集训day8---考后总结

博主分享了在算法竞赛中的时间安排和解题策略。针对T1问题,通过分析得出解决方案涉及排列组合与剪枝,对于小规模数据能快速解决。T3问题采用三进制状态压缩方法。赛后回顾指出T1的错误在于递推和容斥原理的应用,总结了解题中内外求和的处理和优化的重要性。T2和T3分别涉及构造和差分约束的解题思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

时间安排

8:00–8:05 读题。T2求算法期望直接弃掉。

8:05–9:20 T1,分析一下性质。发现若保证任意排列答案相等与对角数有关且任意方阵可以拆成整数个排列,确定了对角线的数以及周遭的k个数,其他数都是已知的。然而对这玩意DP是个 100100100^{100}100100 的sb复杂度没有任何用。不过可以用来剪肢DFS,可以打表。n<=10 的点跑的飞快,不到1s就能跑出来,非常舒服。

9:20–9:50 T3,三进制状压。

9:50–12:00 T1,打表发现本质是在涂色。可以用组合数容斥计算,写了个 n2logn^2 logn2log 的玩意递推。

12:00–13:00 T1, n2logn^2 logn2log 太拉跨了,考虑能不能去掉 ∑\sum 变成 O(1)O(1)O(1) ,推导一下内部变成 n2n^2n2 ,但是对 nnn 的递推上卡住了。

赛后:
T1的式子和正解式子基本一模一样。变 O(1)O(1)O(1) 的时候有个地方出错了,而且多枚举了一个没有任何用的 nnn 。把这个 ∑\sum 去掉,做个前缀和就能A了。自闭了。

回顾&反思

T1: 推导有点太费力了。一个是做了一个没有任何用的递推,本质上是内外 ∑\sum 没有处理好,把内外 ∑\sum 调换一下就好做多了。然后是容斥的地方卡了好久,两个元素贡献的时候会出现本质相同的重复,我直接暴力枚举重复了多少次容斥,直接白白多了一个 ∑\sum ,题解直接钦定其中一个元素不能造成这种贡献,这样容斥是简单的,就可以直接做了。

T2:

T3: 神仙构造。部分分有一个约 70pts 的差分约束做法,比赛的时候没有想到,这种区间和的形式都可以变成前缀和差分形式,就可以差分约束了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值