20220630NOI模拟赛--考后总结

博主分享了参加算法竞赛的时间分配和解题策略。从7:30开始,分别针对T1和T2的问题尝试不同的解法,如动态规划、暴力模拟等。在T3中,探讨了处理前缀异或和的问题,尝试使用set优化。尽管遇到复杂度和内存限制的挑战,但博主持续反思并尝试改进解题思路。
摘要由CSDN通过智能技术生成
时间安排

7:30–7:35 读题。
7:35–7:50 T1,写了写第一档,DP传递合法性即可。
7:50–8:15 T1,写n<=2000,可以枚举?的状态DP转移。写完发现求出会有重复。
8:15–8:40 T2,n<=100,可以暴力模拟。复杂度稍微有点高,卡一卡应该能过30左右。
8:40–9:30 T3,k=1的话有有关前缀异或和的性质,只要判一下是否存在对应的前缀,就可以了,但是存在修改不会搞,想到分块重构什么的,但是这样是 n n log ⁡ n\sqrt n \log nn log,光 n n n\sqrt n nn 复杂度就已经8e7左右了,复杂度不对,就没去写。对于n<=5000有 n 2 n^2 n2的DP,但是多次询问不好搞。没有opt=1的话也是同样的问题,只会单次 n 2 n^2 n2 的DP,过不了。k<=3对我而言一点用都没有。
9:30–10:10 T2,发现对于n<=5000,可以暴力处理出所有子串出现的位置,然后O(n)求解答案,复杂度除离散化的 n 2 log ⁡ n^2\log n2log外,是均摊 n 2 n^2 n2 的。写完发现内存炸了。容易发现没有必要开 n 2 n^2 n2 个桶,搞一个全局桶,维护 n 2 n^2 n2 个指针就可以了
10:10–10:50 对着T1,T3自闭。
10:50–11:10 T3,发现对于n<=5000,可以维护set,对于每个点实际上是要找之前已合法点的前缀异或和,set维护查找即可。然后只有15分
11:10–11:30 T3,思考怎么做k=1. n n log ⁡ n\sqrt n\log nn log的做法复杂度明显不对。考虑什么东西能维护修改,莫名想到在线段树上什么的乱搞,但是没什么用。
11:30–11:50 对着T3自闭/犯瞌睡。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值