=====A===== * 水 =====B===== * 水 =====C===== * 题意:有两种饼干,第一种有 $a$ 个,第二种有 $b$ 个。有两类人,第一类有 $n$ 个,第二类有 $m$ 个。当此时的饼干数 $a>b$ 时,第一类人吃第一种饼干,第二类人吃第二种饼干,否则相反。问是否有一种人的排列顺序使得每个人都有饼干吃。 $a,b,n,m\le 10^{18}$ * 题解:如果不管第二类人,那么第一类人可以吃掉全部的的 $a+b$ 个饼干。因此只需要 $\min(a,b)\ge m$ 并且 $a + b \ge n + m$ 即可。 =====D===== * 水 =====E1===== * 题意:若开始有 $x$ 个糖果,第 $i$ 个守卫有 $a_i$ 个糖果,如果到第 $i$ 个守卫时糖果数小于 $a_i$ ,则拥有的糖果数不变,否则糖果数 $+1$ ,最后会得到 $y$ 个糖果。现在可以重新排列守卫的顺序,$f(x)$ 表示开始有 $x$ 个糖果,最后的糖果数 $y=x+n$ 的重排个数,问有哪些 $x$ 使得 $f(x)\%p \not = 0$ $(2 \le p \le n \le 2000,a_i \le 2000)$ * 题解:我们考虑枚举 $x$ ,首先可以知道 $\min\{a_i\} \le x \le \max\{a_i\}$。我们将 $a_i$ 排序,从左到右扫。如果此时 $x \ge a_i$ ,则表示这个 $a_i$ 可以有 $i$ 个位置选择,即 $a_i$ 可以与 $a_j(j