2018.7.23日记&总结

今天过了4题,发挥得一般。但是仍然不够好。特别是C题一眼秒了,差10多分钟写完,这样的遗憾还是不应该。签到题,卡了很久,本来很简单的bfs,利用抽屉原理,想着分治FFT。这很不应该。一定要分析题目最简单,直接的性质,不要想复杂了。
还有A题本来是一个很简单的容斥,推了很久没有推清楚,思路不够清晰!
今天下午一直在调自己出的题,效率很低,那道题细节很多。是半道好题,思想很好,但是代码很麻烦。总之无论写什么题都要推清楚细节。感觉思维能力还是不够,稍微复杂一点的细节就要推很久。
今天A组的题还没有调,明天抓紧时间调!
坚持到最后一刻,打好翻盘仗!
每天一定要早点睡,今天又12点了,抓紧时间!

题解:
A:求一个圆排列,放01,1不能相邻的方案数。
枚举最小循环节容斥。经典套路。记录g数组为答案,f[i]为恰好以i为循环节的方案数,g[i] = sigma(f[d] /d) (d | i)
一直不会burnside,有空要学习!

B:扫描线。求覆盖一个点的最大正方形。无其它点。
利用正方形的性质,单调扫。思路很妙!明天写!

C:树上k条路径。选最少点覆盖。
贪心选lca。不用链剖,直接暴力删点即可。因为每个点只会删一次。
明天把两份代码都调出来。

D:简单博弈,一眼出结论。但是要注意k>n的细节

E:找是否存在曼哈顿距离相等的点。值域1e5。
直接暴力判,因为最多有2e5个不同距离。
不用分治FFT,FFT是用来统计方案数的!

F:插头DP。看清数据范围。好久没有写插头DP了,明天写!

G:每次找xx形式的子串删除前半段,问最后剩什么。
结论:删除长度不减,枚举长度,暴力删除。
O(nlogn + nsqrt(n))好题!明天写!

H:结论题!正难则反,统计不合法,因为区间长度很小。然后矩快!

所以发现题目再简单仍然会被卡签到,很不应该。一定要多练各种题,锻炼思维。还有每天一道码农题锻炼码力!
题目要都看完,但没有时间都做,想插头DP这种肯定应该放到后面,就算好写但也不好调。等代码能力恢复了就可以很快写出来了。

早点睡!

扫描二维码关注公众号,回复: 2713012 查看本文章

猜你喜欢

转载自blog.csdn.net/weixin_42484877/article/details/81177095