近期题单

前言


开个题单补点题

题单

边独立集 && 牛客OI周赛1-提高组 A 分组 类似。这两道题的思路有点像我都没有做出来 自闭了!自闭了!

烂大街? 我看是我烂大街了,极度自闭

CF1185D,
CF1183H,
CF1183F,
CF1182E,
CF1182D,
CF1182C,
CF1188C,
CF1187D,
CF1187F,
CF1187E,
CF1197D

CF1185D

等差数列知识 + 思维。

排序后处理显然无错,把相邻两两数的差存起来,看是否有差值出现的次数>=n-3(n-1,n-2,n-3),可否用来作为公差。考虑一共有n-1个差值,删去一个数后有n-2个差值。

  • 若公差g出现了n-1一次,则任意删一个元素

  • 若公差g出现了n-2次,则特判是否在开头或结尾(不影响删去数后n-2个公差相等)

  • 若公差出现n-2次或n-3次,也不在开头结尾,则在中间判断删掉某一位置后,前后拼接是否组成公差。

CF1183H

经典问题 求序列有多少种不同的子序列

留个坑 以后补等我完全通彻理解再写

CF1183F

贪心 + 数学

设序列中的最大值为 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\) 后者有限定条件,故做比较

CF1182E

挺有意思的一道 思维 + 矩阵快速幂 + 数论知识

  • 通过分析乘法递推式分析出 指数的加法递推式,然后开始矩阵快速幂,最后用得到的答案指数(指数取模要用数论知识) 快速幂求出答案
posted @ 2019-08-05 10:57  基地AI  阅读(193)  评论(1编辑  收藏  举报