这次训练总结是11月17日到11月19日。
期间做了好几道树形背包,还做了树形DP里的两道道贪心模拟题(感觉和树形DP没啥关系)。。。都不是太难。
字典树又做了三道题,学会了判断一个单词是否能由字典树里的单词组成。思路、原理和模板已经完全理解。低估了写作业的时间,字典树专题又要拖了。
在CF上打了一场比赛,稳定两题,第三题读了半天没读懂题(读题还是一个很严重的问题),B题不注意细节没有1A。
主要是研究了树形01背包问题。
比较喜欢的一道题就是Bribng FIPA,题解已经发布。它是经典的树形01背包,又加了运用map给城市标号,gets读入带空格字符串判断是否为‘’#‘’,sscanf取出字符串中的整数,getchar判断是否回车。同时还需要注意初始化,访问完一个城市的所有节点城市以后,花费为只访问该城市的费用。感觉一下子学到了不少。。。(其实只学了sscanf,其他的以前就知道,只不过这次第一次综合用)
Information disturbing 是简单的树形DP+二分。题意是去掉一些边使所有叶节点与根节点不连通,但去除的边的总价值不超过上限,且总价值不超过m。这里要注意的就是初始化叶节点的价值是一个大数,但是不能太大,否则会WR(表示一脸懵逼)。
Apple tree 也是经典的树形dp,关键就是状态转移方程,因为需要分回到父节点和回到子节点以及待在子节点的情况。因为是资料里的第一道题,所以看到这道题的时候很快就1A了。
Find Metal Mineral 也是树形背包,关键还是状态转移方程。资料里的题,1A。
Treasure Hunt II 是一道模拟。。。不知为何出现在树形DP专题里,思路不够清晰,搞了一上午,花了150行终于A了。最后一道搞换数也是模拟。正着推不出来,反着往前推就行。从1到r直接都换换试试看是否有满足条件的序列即可。记录犯错误最小的次数和序列。
接下来就是树形DP比较难的题了。。。估计够呛能做完。。。
字典树继续多找些题练练,巩固一下模板,加强理解记忆。
虽然明天,后天,大后天都是慢慢的课,但依然还要抽出时间来看资料A代码。
选择了ACM,就努力去把它做好。