[10.11]CSP-S模拟赛

宝贵经验:

写题的时候想出时间正确的方法后千万注意计算空间,能不用数组的地方就不要用,否则可能会像我一样:

\(35\to 15\to 0\)

赛前

小 L 说比上次简单。

赛时

T1 一开始没有思路,但是注意到了两个关键条件:

询问数 \(\le 300\)

\(n,m\le 10^9\)

然后想到正解绝对不是去直接修改。

注意到询问是单点,容易想到只考虑这个点的移动情况。想到这儿其实已经结束了,所以开始写代码。

写完以后发现挂了,然后意识到有很多细节错误。开始调代码,终于在 2h 左右过掉了大样例。

T2 最开始发现条件很奇怪,如果设 \(dp_{i,j}\) 表示从 \((1,1)\)\((i,j)\) 的答案,稍微转化一下发现 \(dp_{i,j}\) 可以从 \(dp_{i-1,j},~dp_{i,j-1},~dp_{i-1,j-1}\) 转移过来,得到一个类似二位前缀和的 DP。

然后写完以后轻松过掉样例。发现 \(n,m\le 10^4\) 的点也可以跑,于是就写了个 long long dp[10000][10000] 上去。

改完以后有了 35pts(

T3 大部分人的分数都一样,枚举全排列以后暴力 \(mn\) 找答案,小 H 神奇做法得到 20pts%%%。

赛时我时间复杂度计算错误,以为全排列是 \(\mathcal{O}(2^n)\) 的,并且猜出了测试点可能需要的算法(bushi。

猜完以后我先写了暴力,然后去想我猜的那个做法的实现(竟然还发现了很多类似无后效性的性质),想了半天想不出来,就弃了去搞 T2。

其实看到这个 \(n,m\le 80\) 的数据范围就应该意识到正解大概是一个 \(\mathcal{O}(n^4\sim n^5)\) 的 DP,讲题的时候发现果然是,但是状态很神奇,于是想起来 取代_ 之前说过小 L AK了 JOI 的 DP 场,所以就联系起来了%%%

T4 赛时感觉题面太长了就没看,赛后的讲解比较有思维难度,需要再去好好看看。

赛后

T2 赛后意识到空间会炸。问了 HDS 发现果然会炸。心存侥幸问了小 L 评测方式,希望是按照使量用计算空间,但是回应是按照定义量,然后没希望了。

改成 vector 以后有了 15pts,然后突然意识到我最后只需要求 \(dp_{n,m}\),所以根本不需要数组,直接用一个变量统计答案就可以了。

posted @ 2024-10-11 20:18  Redamancy_Lydic  阅读(9)  评论(0编辑  收藏  举报