2017.3.11 NOIP训练赛赛后总结

来源:互联网 发布:软件开发工作计划 编辑:程序博客网 时间:2024/05/17 01:10

Task 1

这题刚开始思路就有点偏了
我想到的解法是每种物品有上限的完全背包问题
然后将每个物品用二进制分成logn2个物品
n2logn2的复杂度
由于不会这种问题的n2解法,于是没能A掉这题
赛后才发现可以直接插入做
定义dp[i][j]为序列中有1~ii个数,当前已有j对逆序对的方案数
每次插入一个数转移dp值就行了

Task 2

这题考试的时候看到数据就慌了,式子分析了好久
甚至看了十分钟题目才发现那是方差。。。
最后想到方法草草敲了个代码了事
结果不知道为什么所有数据都T
最后想想发现中间sum2这部分没乘1ll,读入挂也没加负数(已经第二次死在读入挂上了)

Task 3

第三题虽然没想到奇深度点和偶深度点的路径有一部分可以相互抵消
所以是树链剖分找LCA在根据这三个点分别到根节点的距离和深度算路径长度的
最后奇深度和偶深度的点放到两个数组里
然后根据n个有序数列求第K值的原理用了一个堆
这么一个n(logn2)2的代码,想着70~80分应该还是有的
结果交上去以后内存超限QAQ,明明只开了2000000的数组

这次考试主要还是心不够静,根本就没有经过对拍
样例过了就完事了,第一道题硬是写了一个多小时

3 0
原创粉丝点击