概述
今天的主要任务是补昨天杭电多校的题目。。。
客观的说,昨天杭电的多校简单题偏难(差点爆零),难题偏简单(大佬4小时AK)。
总结了一下,其实有4道题可以做,但是需要补的有6道。除了1005(莫比乌斯反演?)和1010(分块+矩阵快速幂?)队友补的外,剩下的1001、1008、1009、1011我都看了。其中1009的树上分块暂时没看懂(待补)。其余三道都已经理解并且写了题解,然后今天又抄了一份dls的输入挂。
1001是最短路变形,其实是用了最短路的思想。关键在于如何保证全局最优。LY大佬最先想出枚举i步,dfs这次i步能走到的所有点标记,边也标记,这样所有点和边最多只能走一次,第一次走到n就是答案。
1008是lca+思维+树上差分树状数组。之前做过一道没有修改的原题。单点修改只需要差分一下用树状数组维护(区间更新单点查询)。。。用dfs序做下标,然后关键在于边标号化为连的点编号。。。其实并不难理解。。。
1011就是优化暴力+输入挂。但是不知道我用set为何会WA。。。
还有一个就是想了一下之前cf的C和百度之星初赛B轮的1004,它们有一个共同点:
枚举答案,以答案为界,然后考虑大于答案和小于答案的分别怎么处理。
cf的c是直接用队列模拟判断答案是否合法,而百度之星的是用二分确定答案是否合法。这两道题我都是花了超过2个小时没做出来,看完题解理解之后深深地感受到了自己的菜。看来有时候模拟题考虑过程可能很复杂,但是考虑结果就很容易求解,也很容易理解。
然后现在的感觉还是 基础知识不够扎实,见题太少。继续努力吧。
最后
以上就是能干日记本为你收集整理的2018年8月14日训练日记的全部内容,希望文章能够帮你解决2018年8月14日训练日记所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复