A.傻子题..
B.就让你把相邻或自身的俩俩配对,不能跨度大于1,
直接考虑先把自己配对了,那么剩下的只能和相邻的配对了
但考虑到可能存在跨度大于1,且俩俩为奇数的情况,考虑在配对自己时给别人留一点...
然后就得到了算法...
C.大水题.只用考虑到奇数位,偶数位交换不用代价.然后拍完序后乱搞就好了....
嘛,细想一下很多要注意的...
D.让你在序列中取一个集合,使得集合内俩俩相乘不为完全立方数
一开始本来是想网络流的,但一想,不对了...只处理过相加的情况
于是应该向数论方向想,
先考虑分解质因数....嘛相称,只要质因数的指数都是3的倍数就是完全立方数
那么,很显然,对于每个质数mod3,是等效的...
就有了贪心的做法...
考虑到对于一个模过的数,与其相乘是立方的模过的数是唯一的...
那么统计一下每一个数与其相乘是立方数的个数
然后贪心,又大到小排除每一个数
ok啦
原文:https://www.cnblogs.com/shatianming/p/12243331.html