【FAKE-ACM】【单刷口胡】2017-CCPC-FINAL

作为一个十分向往ACM的OIer,顺手单刷了一套ACM题(事实上之前已经刷过两套现场赛题了)。虽然有很多还不会,但是还是培养一下阅读能力+算法实现能力吧。

A: Dogs and Cages

答案就是 n1 ,证明:当i在原来的位置上,情况有 (n1)! 种,那么一共有n只狗, n! 种排列方式,则答案就是 n×(n1)!n! ,即1。

同学说可以这样证:i在原来位置上的概率是 1n ,一共n只狗……(感觉不靠谱)

B:Same Digit

据说是神题,就不看了。

C: Rich Game

贪心的思想,如果这局会输,显然0:11输掉是最好的,可以赚最多钱。否则我们可以以11:9赢下。

D: Mr. Panda and Circles

FFT,暂时没学过。

E:Evil Forest

水题,每个数*1.1向上取整的和。具体写法可以不这么写,比如我就判断一下%以后是不是有余数什么的。

F:Fair Lottery

单纯型算法,之前学了一下线性规划,然而算法还不会,有一点思路。
先二分答案p,判断是否可行。枚举所有选人的 2N 种情况,对其中可以选择的情况,选中的人 +p ,没有选中的人 +(p1)
那么最后要使得所有的人都 >=0 ,且至少选择一种开奖情况。
直接单纯形判断解是否存在即可。时间复杂度 O(kSimplex)

G:Alice’s Stamps

显然是个dp,令f[i][j]表示前i套选了j套的最优。先按l从小到大,l一样按r从小到大排序,每次选取最远的一个r进行转移。

H:Equidistance

线性代数题,不会,以后慢慢学。

I:Inkopolis

这是一颗基环外向树,看这吧——大佬的blog

J:Subway Chasing

简单的差分约束系统,化不等式跑spfa即可。

K:Knightmare

打表找规律,发现没什么规律。放到oeis居然是可以找到规律的。
尝试分析规律,发现是二阶增长的,这样考虑二次差分找规律。然后就找到了。 an=14n26n+5

口胡完毕~

你可能感兴趣的:(FAKE-ACM)