[AGC012E] Camel and Oases
总结:
- \(\frac{V}{2}\) 的操作只会进行 \(O(\log V)\) 次。状压左右两边用了哪些 \(V\) 就行了。
- 正难则反,发现对于每个点都往两边 \(dp\) 复杂度有 \(O(nV\log V)\) 所以考虑从两边 \(dp\) , 然后通过合并 \(dp\) 数组来得到哪些点可行, 复杂度变为 \(O(V \log V)\)
[AGC013D] Piling Up
做题思路:
- 看到只有黑白两种颜色的球,而且操作是取球和放球,可以想到格路计数。
- 如果 \(n \geq m\) 那显然可以随便走,所以只用考虑 \(n < m\) 。
- 考虑两种思路:(1) 先用开始给的球,(2) 球不够时再用开始给的球。发现 (2) 更简单一点。
- 转化操作,先取一个球,然后放两个,然后取两个,然后放两个,然后取两个...,最后放两个取一个。
- 3 好像错了,我应该先枚举一开始有多少个白球,多少个黑球。
- 容斥,按第一次越界来容斥。
- 好像全想错了,可以看出黑球数+1,黑球数-1,黑球数不变,走 \(m\) 步。
- 看题解。
总结:
- 看到只有黑白两种颜色的球,而且操作是取球和放球,可以想到格路计数。
- 计数题,如果一种方案被多次计算,可以只在最小值处统计它,这样就可以避免算重
[AGC015D] A or...or B Problem
总结:
自己想不出来,看了下题解发现真简单。
坑:
1ll<<n
-> 1<<n