开个题单补点题
边独立集 && 牛客OI周赛1-提高组 A 分组 类似。这两道题的思路有点像我都没有做出来 自闭了!自闭了!
CF1185D, CF1183H, CF1183F, CF1182E, CF1182D, CF1182C, CF1188C, CF1187D, CF1187F, CF1187E, CF1197D
排序后处理显然无错,把相邻两两数的差存起来,看是否有差值出现的次数>=n-3(n-1,n-2,n-3),可否用来作为公差。考虑一共有n-1个差值,删去一个数后有n-2个差值。
若公差g出现了n-1一次,则任意删一个元素
若公差g出现了n-2次,则特判是否在开头或结尾(不影响删去数后n-2个公差相等)
若公差出现n-2次或n-3次,也不在开头结尾,则在中间判断删掉某一位置后,前后拼接是否组成公差。
留个坑 以后补(等我完全通彻理解再写)
设序列中的最大值为 g
设序列中 不与g成倍数关系 最大值是 t
设序列中 不与g,t成倍数关系 的最大值是 x
首先证明拿1个数 一定是拿 g 最大
证明拿2个数一定是拿 g 和 t。 证明:如果不拿g,随便拿一个数,不与g成倍数,那还不如换成g; 如果如果不拿g,拿两个g的因数,最大值是\(g/2\) + \(g/3\) < \(g\)。故选g最优
证明拿3个数有两种最优,一个是拿\(g+t+x\) ,一个是拿 \(g/2 + g/3 + g/5\) 后者有限定条件,故做比较
转载于:https://www.cnblogs.com/BaseAI/p/11301719.html