作为一个十分向往ACM的OIer,顺手单刷了一套ACM题(事实上之前已经刷过两套现场赛题了)。虽然有很多还不会,但是还是培养一下阅读能力+算法实现能力吧。
答案就是 n−1 ,证明:当i在原来的位置上,情况有 (n−1)! 种,那么一共有n只狗, n! 种排列方式,则答案就是 n×(n−1)!n! ,即1。
同学说可以这样证:i在原来位置上的概率是 1n ,一共n只狗……(感觉不靠谱)
据说是神题,就不看了。
贪心的思想,如果这局会输,显然0:11输掉是最好的,可以赚最多钱。否则我们可以以11:9赢下。
FFT,暂时没学过。
水题,每个数*1.1向上取整的和。具体写法可以不这么写,比如我就判断一下%以后是不是有余数什么的。
单纯型算法,之前学了一下线性规划,然而算法还不会,有一点思路。
先二分答案p,判断是否可行。枚举所有选人的 2N 种情况,对其中可以选择的情况,选中的人 +p ,没有选中的人 +(p−1) 。
那么最后要使得所有的人都 >=0 ,且至少选择一种开奖情况。
直接单纯形判断解是否存在即可。时间复杂度 O(k∗Simplex) 。
显然是个dp,令f[i][j]表示前i套选了j套的最优。先按l从小到大,l一样按r从小到大排序,每次选取最远的一个r进行转移。
线性代数题,不会,以后慢慢学。
这是一颗基环外向树,看这吧——大佬的blog
简单的差分约束系统,化不等式跑spfa即可。
打表找规律,发现没什么规律。放到oeis居然是可以找到规律的。
尝试分析规律,发现是二阶增长的,这样考虑二次差分找规律。然后就找到了。 an=14n2−6n+5
口胡完毕~