T1:
题意:在第一象限有n个点,问最少需要几个经过(0,0)的抛物线才可以包含所有点(数据范围小);
思路:由于二次函数不是很好,一开始看到这道题是先跳过了的。做完第二题后再来看这题,发现数据范围非常小,于是想暴力拿分,就将每个可以用一条线包含的点存在那个线的数组里,每一次都取最大的那一组;
题解:前半部分和思路一致,但贪心出锅,于是状压dp;
T2:
题意:有一个序列,每个数只能为0和1,有n个0,m个1,你可以猜下一位是什么(做出猜测后就可以知道猜对了没有),问在最优策略下猜对个数的期望值;
思路:看到题想到最优策略显然是n大猜0,m大猜1,于是想到可以期望dp,n^2状态,O(1)转移,于是有了70分部分分;
题解:在dp的基础上优化,设n>=m,画一个n*m的网格图,一条(0,0)到(n,m)的路径可以唯一映射一种序列,根据最优策略,这条路径上(i,j)->(i+1,j)和(j,i)->(j,i+1)【i>j】的边是可以使猜测正确数+1的,显然每一条(0,0)到(n,m)的路径中这样的边有且仅有n条。再考虑(i-1,j)->(i,j)和(j,i-1)->(j,i)【i==j】的边,由70分的转移方程可知这样的边对猜测正确数的贡献为0.5,而这样的边被经过的次数显然等于它所连得对角线上的点被经过的次数,枚举对角线上的点即可;
T3:
题意:经典NIM博弈多一个在取石头后可以将被取的那堆石头中任意个石头分配到其它石头堆里去的操作,判断是否先手必胜;
思路:没思路,打暴力+经典NIM博弈骗分;
题解:结论:每种(石头数相等)的堆的个数是偶数则先手必败,否则必胜。证明:(1) 最后输得情况满足必败易证。(3) 满足必败条件则不管我怎么做,对手都可以在与之匹配(石头数相等)的堆上做相同的操作使之再次满足必败条件。(2) 有奇数堆但不满足要求则按石头数从小到大排序,相邻的两两匹配,再用多出来的那一个即最大的那一个来填补两两之间的差距(画图可知最大的一定可以填补满),填补后剩余的直接丢掉。(3) 有奇数堆但不满足要求则按石头数从小到大排序,然后最大的和最小的匹配,其它的相邻的两两匹配,用最大的与最小的之差来填补空缺;
原文地址:https://www.cnblogs.com/Cduiz/p/11625933.html