【FAKE-ACM】2017-CCPC-FINAL泛刷总结

感觉这个CCPC-FINAL的题目非常常规啊,感觉不少题目都能很快口胡,作为一个向往WF的OIer,自然要刷刷国内的毒瘤题目来提高下姿势水平辣~
另外就是我写/看最后几题的时候HDU挂掉了……导致看不了题目

【A:Dogs and Cages】
题意:给定一个排列,问随机打乱之后期望有多少个数不在原来位置上
分析:利用归纳法的思路,考虑 n=1,2,3 ,然后会发现期望就是 1 ,因为每次在期望方案数上乘 n 的同时分母也乘了 n
另外也可以解释成每个数期望 1/n 在原来位置上,然后乘一下 n 个数就好了

【B:Same Digit】
题意:规定你只能用 D 来组成数字,然后要求你用加减乘除、开方、乘方、阶乘来构造出一个式子使其值为给定的 N ,问最少要用多少个 D
分析:感觉是道神题……不过似乎还挺可做的
因为最后得到的是个整数,所以开方出无理数之后必须要消掉,然后阶乘的数肯定都不能太大,可以稍微预处理出一点数字来
然后不知道怎么做了……感觉应该是IDA*之类的做法,因为这个东西很容易深度扩展到无限啥的

【C:Rich Game】
题意:按照羽毛球赛的规则打比赛,如果你得一分少 X 元,输一分你得 Y 元,一开始没有钱,怎样在不透支的情况下安排比分赢得最多比赛
分析:很明显如果一定要输那么就是 0:11 输(拿最多钱),反之肯定 11:9 赢最好

【D:Mr. Panda and Circles】
题意:给出若干个长度为 2Ri 的区间,问如果让这些区间中心都处在 [0,M1] 范围内,不允许重叠(允许有空),所有空位的平方和是多少
分析:考虑第一个和最后一个区间,相当于我们现在限制的是区间的覆盖范围,接着先从这个角度写个母函数出来: i=1n(x2Ri+1)
然后如果我们考虑开头结尾的那两个怎么选,然后毕竟可以开头一个结尾一个大概是 j=0Rij 这样的一个式子,对每个 i 可能都有这样的选择,进行枚举然后强行放进去,最后对母函数分治FFT就好

【E:Evil Forest】
题意:给出若干个数,问所有数 ×1.1 向上取整的和
分析:直接做

【F:Fair Lottery】
//留坑待填……

【G:Alice’s Stamps】
题意:给你 n 种邮票, m 个邮票集合,每个邮票集合包含邮票种类区间 [l,r] ,问取最多 k 个集合的时候的最多邮票种类
分析:很明显是个DP,考虑 f(i,j) 表示前 i 个选 j 个集合,那么这里因为集合的先后没有区别,因此可以引入一个序,这时候就比较类似于选取区间最多的问题了,对 l 排序,每次取距离 i 最远的 r 来更新(延伸最长),直接转移的时候顺便记一下就好了

【H:Equidistance】
//留坑待填……

【I:Inkopolis】
题意:给出一棵基环树,兹瓷改边上颜色和同颜色连通块个数的操作
分析:既然是一棵基环树,说明影响其实比较有限
考虑树上的情况,注意因为颜色个数可能比较多,我们可以考虑利用map存下每个点旁边各种颜色的存在情况,然后如果改一条边,考虑这条边所涉及到的两个点那里的贡献即可
然后考虑环,其实也是一样的,只不过比较麻烦一点
找环直接DFS或者Tarjan应该都可以

【J:Subway Chasing】
题意:一条直线上有 n 个点,两个人在直线上走,保持x的距离
告诉你 m 条信息,告诉你一个人在 a b 之间时,另一个人在 c d 之间,其中 b a 或者 a+1 d c 或者 c+1
问这些信息是否矛盾,如果不矛盾,求相邻两点之间的最小距离
分析:不妨设某个点相对起始点为 di 的距离,然后我们很容易列出相应的方程,构造出若干个形如 didjX 的不等式,然后差分约束解即可

【K:Knightmare】
题意:给你一个无限大的平面,从一个点开始,按照中国象棋马跳日字的方式,每一次可以跳八个方向,问第 n 次跳完后,一共跳过多少个地方
分析:很明显有规律性的东西存在,考虑对称性,点必定是延八个方向对称的,然后暴力BFS找规律之后就可以出答案了,不过 n7 小的时候特判下
答案是 (n6)×176+(n6)(n7)2×28+473

你可能感兴趣的:(算法,ACM,总结)