标签:总结 超过 nbsp 根据 因此 推出 info 最小值 复杂度
本次考试:
第一题通过与李泽铎相同的办法想了出来:能拿钱的原因在于最左右两边的钱只算了一次,而中间的都算了两次.只要拿中间的补上就可以了,让那部分钱承担更多"责任".如果第一个拿走了x,那么以后偶数个都要加x,没有任何关系.但奇数位置都要减少x,如果减少到0就不满足题意了.而且如果n为偶数时最后一个位置的钱还要增加x,不得不把钱放回去.
因此n为偶数时一定为0,否则取奇数的最小值-1.如果有1的话答案还是0.但是也没办法.
第二题想了很久,刚开始以为n每一组都是50000,乘上个T=5000复杂度就很大,应该考虑贪心了,于是想了很久贪心策略还是想不出来.再看一遍数据发现n一共不超过500000,那么可以考虑n*logn带二分性质的算法了美滋滋.本题与lis类似,并根据之前想贪心的时候的推出来的各种性质写出了正解:a[i]=read()-i后对a[i]做最长的不小于零的不下降子序列,答案就是n-len.求lis的时候可以上一个二分,正好又复习了一遍二分的模板(复习的意思就是调了很久).
第三题想到了是dp了,想到了一个自以为很对,复杂度也很优秀的算法,然后开始推转移,发现代码很难写,但是以为是正解,就继续敲了下去.于是最后发现是错的.再写另一个四重dp来不及了,只好水了一共dfs尝试30分,然后数组谜之开的很大,拿了零分.
以后做题要仔细看好每一个条件,考虑出题人要考什么,我会写什么算法,在纸上推好后再开始敲代码.
标签:总结 超过 nbsp 根据 因此 推出 info 最小值 复杂度
原文地址:https://www.cnblogs.com/qywyt/p/9757104.html