noip2018练习总结

前言

从上午八点写到下午五点,就写了D1和D2T1,感觉和我去年考试的时候效率差不多
我这次是知道解法去做的啊!!!!!,感觉我必将惨败。。。。


Day1

T1

想了半天,还是只会勉强卡过去的n^2,明明听别人讲过正解的
直接贪心,读入一个a[i],如果a[i]>a[i-1]就把答案加上a[i]-a[i-1],不然不做操作,证明显然

code


T2

现在感觉T2挺容易的了,考虑一种货币怎么样有用
当且仅当它不能被小于它的货币表示,用类似线性基的思想考虑就可以了
然后排个序,跑完全背包就好了。。。。

code


T3

T3写了半个上午,
看到最小值最大先想到二分,
考虑dp或贪心,我呆呆地先想了dp
设dp[x][i][j]表示以x为根的子树,有i条合法,挂在根上最长的链长是j
然后感觉转移很奇怪,好像贪心的选i最大的就好了,然后就贪心吧
对于每个子树维护子树内最多的合法的链数,以及挂在根上的最长的链长
然后类似菊花图的部分分去做就可以了,用个multiset

ps: set要用set自带的lower_bound,不然会T的飞起,因为这个调了好久

code


Day2

T1

去年还会nlogn的,今天不会了,
感觉思维好乱的,好多东西都想复杂了
看到n^2可以过,那么直接枚举断哪条边,然后像一棵树一样贪心就可以了

code


猜你喜欢

转载自www.cnblogs.com/lzqlalala/p/11768515.html