08 2016 档案
摘要:题意: a,b两个包含n个整数(代表球的颜色)的数组,对a数组经过m次区间随意交换位置的操作后,看是否和b数组完全匹配! 官方题解: 假设有4个红球,初始时从左到右标为1,2,3,4。那么肯定存在一种方案,使得最后结束时红球的顺序没有改变,也是1,2,3,4。 那么就可以把同色球都写成若干个不同色球
阅读全文
摘要:官方题解: Joint Stacks 比较简单巧妙的一个做法是引入一个新的栈C,每次合并的时候就把A和B合并到C上,然后把A和B都清空. push还是按正常做, pop注意当遇到要pop的栈为空时,因为题目保证不会对空栈进行pop操作,所以这时应直接改为对C栈进行pop操作. 这样做因为保证每个元素
阅读全文
摘要:官方题解: Windows 10 _您可能是正版Windows 10的受害者_ 直接贪心就好 比较直观的看法是使劲往下降,然后升回来 或者使劲往下降然后停顿然后再使劲往下降。。。 于是就能将问题变成一个子问题,然后dfs就好 需要注意的是由于按up键也可以打断连续向下的功效 所以应该记录停顿了几次,
阅读全文
摘要:官方题解: A Simple Nim sg[0]=0 当x=8k+7时sg[x]=8k+8, 当x=8k+8时sg[x]=8k+7, 其余时候sg[x]=x;(k>=0) 打表找规律可得,数学归纳法可证。 具体的打表放在了代码里面 ,详见init函数
阅读全文
摘要:官方推导公式: ∑0≤k1,k2,⋯km≤n∏1≤j<m(kjkj+1) =\sum_{0\leq k_{1}\leq k_{2}\leq\cdots \leq k_{m}\leq n}\prod_{1\leq j< m}\binom{k_{j+1}
阅读全文
摘要:题意:Alice忘记在银行里存了多少钱,只记得在[0,k]之间。每次取钱如果余额大于取钱数就出钱,否则警告一次,警告超过w次就会被警察带走,Alice采用最优策略,在不被带走的情况下,求期望--取多少次钱就可以知道自己的余额! ATM Mechine E(i,j):存款的范围是[0,i],还可以被警
阅读全文
摘要:题意:给定a,b两个数组,求有多少个公共子序列。 dp[i][j]表示A序列前i个数和B序列前j个数的相同子序列对有多少个。复杂度O(n^2)O(n2)
阅读全文
摘要:把长度为n的序列分成尽量多的连续段,使得每一段的每个前缀和都不小于0。保证有解。 从后往前贪心分段即可。大于等于0的为一段,遇到负数就一直相加到非负为止!(注意精度问题 用long long)
阅读全文