2022.08.10 NOI模拟赛总结

1.时间安排

7:30~8:00

T1:给出两棵有根树,给出若干限制为子树内恰好有k个点被选,每个点有点权,求最大的点权和。n=500感觉不是DP,一眼丁真,鉴定为:纯纯的费用流。

T2:给出两个01串l,r求l到r之间满足二进制串00,01,10,11子串数量为给定值的数字的数量,肯定是数位DP,感觉不可做,有暴力13分。

T3:给出一个n边行,求所有情况下的m等分点中相邻两点距离最大值的最小值,感觉不可做,有n<m的部分分应该有性质。

8:00~10:00

先打了个T1的暴力(埋下伏笔),没大样例差评。

然后推了推建图,对每个点找到它往树根走最近的限制点,把每个限制点对应直接限制的点看做一个整块,源汇分别连一棵树即可,流量限制的话可以直接在整块上限制。

打了个自认为正确的费用流(事实上确实是正解),没大样例也不知道正确性,自己手构了一些数据是对的。

突然发现自己没判无解,分析一波认为只有满流才有解(事实上确实如此),手构了一些无解数据能判出来。

后话:

我以为我把T1A了,然而……

题面说的一棵树上的限制条件不会自相矛盾,数据里面根本没有保证,肉眼可见的冲突(根有两个儿子,每个儿子必须选,根的子树却只能选一个,好一个《不会自相矛盾》)。

然后,数据造的y=0,我判了,std没判,结构我跑的答案是对的,std跑的是错的。

然后分段的状压暴力打错,不知道自己脑抽什么非要把返回int的函数开成bool。

100->0

上次这么无语还是SD集训100分因为分段暴力写错挂成60分。

建议把不认真造数据的出题人全部叉出去(恼)。

10:00~10:30

打了暴力枚举后一点都不会做了,试图推不需要考虑卡上界的数据的规律也没推出结果,试着写暴力数位DP但是感觉空间复杂度很寄就先没写。

10:30~11:30

发现T3的n<m时每条边至少有两只鸽子,两点到某一定点距离和确定,夹角为180度时两点距离最大,所以答案就是总边长/m。

试着写n=4且是矩形的情况,忘记了第一档是n<m,以为只需要讨论m<=3的情况……

m=1、2是显然的,但是m=3就很复杂了。

猜一手可以三分,打表发现似乎可以,打了个三分出来,没大样例也不知道对不对(后话:应该是假的)。

然后就忘了讨论m=4的情况了……

11:30~12:30

硬着头皮写T2的暴力数位DP,结构到后面越算需要的空间越大,失去写下去的信心。

开摆。

result:

T1:0(100) T2:13 T3:7

2.总结

T1:

原题链接

考场上想的和正解完全一致,没有一点差别。

建议出题人自己写一遍代码看看自己造的数据离不离谱。

T2:

原题链接

题解还是看lg的吧,不口胡了。

同机房的大佬们说这题特别简单,果然只有我对计数DP一窍不通。

T3:

原题链接

计算几何爬(恼)

无力订正解,等订出来部分分了放一些做法。

upd1:

因为数据过水,输出总路线/m有24分的好成绩……

upd2:

m=4显然是个二次函数,直接三分即可。

m=3的三分确实假了,但是这档数据没m=3,喜提11分,

再次体现了出题人的数据……不好评价。

(待upd)

posted @ 2022-08-10 20:52  Displace  阅读(42)  评论(0)    收藏  举报