第一题:交换后的 or
对于两个 01 字符串,同一个位置上的组合可能性只有 2 * 2,所以发生的交换总数实际上仅有 4 * 4 = 16 种不同的类型,因此我们对位置上的组合进行统计,最后暴力即可得到结果。如果想要分析,可以自己枚举各种情况,看是否发生值的改变。
第二题:争风吃醋的豚鼠
不存在三元环,我们可以想到构建二分图,二分图中显然没有三元环,而要二分图边数最多,应该使得两侧的点数最接近。
但这件事情目前看到的各个证明并不清晰,更多是直觉上的说明。期待有朋友能给出解答。
第三题:最长递增的区间长度
用 dp[i] 记录以 i 截止的最长递增区间。
则nums[i] > nums[i-1] 时候 dp[i]=dp[i-1]+1;否则 dp[i]=1。
最后对所有数值取最大值即可
第四题:因数-数字游戏
简单博弈。如果这个数本身是质数或者是 1,则直接胜利。
如果有两个质因子,即形如 p^2 或 pq,则一次操作后会使得对方胜利(而不得不进行对应操作)。
如果有更多的质因子,总可以除以一个数到有两个质因子的情况,因此先手必胜。
数据范围允许在根号复杂度,因此因子枚举到根号范围即可。