2020.10.05【NOIP提高A组】模拟 总结

估分:\(40 + 30 + 0 + 30 = 100\)
考场:\(80 + 43.3 + 0 + 30 = 153.3\)
(\(10\))

\(T1\)

考场打的是\(O(n^3)\)暴力\(DP\),结果。。。
其实可以优化到\(O(n^2*logn)\)的,用多项式优化即可。
但是正解其实离暴力\(DP\)很近了。
只要像上述技巧一样,在\(dfs\)下去之前下传,走完子树以后再传回当前节点,如此即可。

\(T2\)

考场没有什么想法,大概推了一下:
设输入的为\(a\),求得的为\(b\)\(sort\)以后,
发现:\(b[1]+b[2]=a[1]\),\(b[1]+b[3]=a[2]\),\(b[n-1]+b[n]=a[n*(n-1)/2]\),剩下的不清楚怎么处理,于是打了个暴力+上述的优化。
正解其实是根据上述的规律来操作的。正解是枚举\(b[2]+b[3]=a[k]\),于是可以得到\(b[1],b[2],b[3]\),下一个最小的就是\(b[1]+b[4]\),然后再把\(b[1]+b[4],b[2]+b[4],b[3]+b[4]\)去掉,下一个最小的就是\(b[1]+b[5]\),以此类推,最后可以\(O(n^2)\)求出一种可能的解(也可能不是)。而\(b[2]+b[3]\)的值最多只有\(n\)个,于是乎,\(O(n^3)\)算法。
结果改题的时候我打了一个二分的删除删除操作,这样似乎显然会\(TLE\),结果跑了个最快。。。
其实可以使用\(hash\)来进行插入删除操作。

\(T3\)

考场看完题面,感觉不可做,弃疗也。

\(T4\)

一开始想到主席树,但是发现修改似乎不可行,于是换了个思考点。
考虑欧拉序,但是推了半天发现没有什么结果,于是上了一个暴力。
正解转\(dfs\)序的二维平面,而后三维偏序问题?差分+\(cdq\)分治?懵逼o((⊙﹏⊙))o我的题解

总结

发现自己对于一些技巧性的知识掌握不佳。
有些规律没有继续往下推,需要思考得更深一点才行,不要动不动就否定自己的想法。
有些知识似乎掌握的不到位,例如\(FFT\)\(NTT\),树上\(DP\)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值