T1
想写个 \(n^2\) dp,\(dp_{i,j}\) 表示 Alice 有 \(i\) 个数,Bob有 \(j\) 个数,想了快一个小时,还是不会,然后推样例,把情况全部列出来,发现样例有前3个是3个连续的0,所以<=6的数不会出现在第4位及以后,然后就发现每一段连续的1或0都可以单独考虑,想,发现从小到大给两人分数的话,要想某一段 Alice 的大于 Bob 的,在这一段,就必须等Bob分到的数多于 Alice 的时,才能给 Alice 分,是卡特兰数,交完是1h20min。
T2
想了很久,但连暴力都不会,也不知道SG函数是什么。
T3
想 \(f_i\) 全为1时,\(p_i=q_i\) ,然后只要找到它在全排列中排第几个就行了,长度为i的序列的全排列是 \(i!\) ,我开始写的 \((q_i-1)\times(n-i)!\) ,样例不过,又想了想,发现前面已经确定的数不能再用,然后 \(n^2\) 找到 \(<=q_i\) 的数中还有几个可以用,再去乘 \((n-i)!\) ,就有15pts,加上 \(n<=10\) 的暴力,是25pts。时间剩下不到1h 。
T4
不会。
标签:总结,10.31,样例,代码,个数,然后,dp From: https://www.cnblogs.com/shangruolin/p/-/daimayuan1031