这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 | |||
2020-2021:teams:wangzai_milk:codeforces_round_652_div._2_zars19 [2020/07/16 17:51] zars19 |
2020-2021:teams:wangzai_milk:codeforces_round_652_div._2_zars19 [2020/07/16 17:58] (当前版本) zars19 |
||
---|---|---|---|
行 43: | 行 43: | ||
scanf("%d%s",&n,s); | scanf("%d%s",&n,s); | ||
int i,j; | int i,j; | ||
- | for(i=0;s[i]=='0';i++); | + | for(i=0;s[i]==''0'';i++); |
- | for(j=0;s[n-j-1]=='1';j++); | + | for(j=0;s[n-j-1]==''1'';j++); |
- | for(int k=0;k<i;k++)putchar('0'); | + | for(int k=0;k<i;k++)putchar(''0''); |
- | if(i+j!=n)putchar('0'); | + | if(i+j!=n)putchar(''0''); |
- | for(int k=0;k<j;k++)putchar('1'); | + | for(int k=0;k<j;k++)putchar(''1''); |
- | putchar('\n'); | + | putchar(''\n''); |
} | } | ||
return 0; | return 0; | ||
行 135: | 行 135: | ||
$n$ 个朋友 $m$ 盘菜,每个朋友会喜欢两盘菜,第 $i$ 盘有 $w_i$ 份,朋友到达后会试图去吃两盘菜各一份,如果两盘菜都没吃到你就死了。问能不能不死以及如何安排朋友到达顺序。 | $n$ 个朋友 $m$ 盘菜,每个朋友会喜欢两盘菜,第 $i$ 盘有 $w_i$ 份,朋友到达后会试图去吃两盘菜各一份,如果两盘菜都没吃到你就死了。问能不能不死以及如何安排朋友到达顺序。 | ||
- | 贪心,不断把供大于求的菜入队。处理到某个菜意味着喜欢这盘菜的朋友就算安排在最后也必然能满足,把朋友加入答案序列(如果还没的话),然后朋友喜欢的另一个菜就可以'需求--'。最后答案序列逆序输出。 | + | 贪心,不断把供大于求的菜入队。处理到某个菜意味着喜欢这盘菜的朋友就算安排在最后也必然能满足,把朋友加入答案序列(如果还没的话),然后朋友喜欢的另一个菜就可以''需求--''。最后答案序列逆序输出。 |
<hidden><code cpp> | <hidden><code cpp> | ||
行 184: | 行 184: | ||
====== F. BareLee ====== | ====== F. BareLee ====== | ||
- | 进行 $t$ 回合游戏。第 $i$ 回合初始数字 $s_i$ ,二人轮流操作给数字'*2'或'+1',操作后严格大于 $e_i$ 者输,本回合游戏结束,输的人做下一局先手。问,作为第一局先手,能否独立于对方操作赢\输。 | + | 进行 $t$ 回合游戏。第 $i$ 回合初始数字 $s_i$ ,二人轮流操作给数字''*2''或''+1'',操作后严格大于 $e_i$ 者输,本回合游戏结束,输的人做下一局先手。问,作为第一局先手,能否独立于对方操作赢\输。 |
$f(i,j)$ :都想赢(想操作后到达 $\text{exactly}~j$ )的情况下,先手能否必赢。 | $f(i,j)$ :都想赢(想操作后到达 $\text{exactly}~j$ )的情况下,先手能否必赢。 | ||
- | - $j$ 为奇数, $i$ 奇败偶胜(能到达必败态的状态才必胜,奇数'+1'达偶数,'*2'达偶数,可归纳证明)。 | + | * $j$ 为奇数, $i$ 奇败偶胜(能到达必败态的状态才必胜,奇数''+1''达偶数,''*2''达偶数,可归纳证明)。 |
- | - $j$ 为偶数。 | + | * $j$ 为偶数。 |
- | - $i>j/2$ ,奇胜偶败(所有'*2'行为都马上死,只能'+1')。 | + | * $i>j/2$ ,奇胜偶败(所有''*2''行为都马上死,只能''+1'')。 |
- | - $j/2\ge i>j/4$ ,'*2'得上一分类中“偶败”态,全必胜。 | + | * $j/2\ge i>j/4$ ,''*2''得上一分类中“偶败”态,全必胜。 |
- | - $j/4\ge i$ ,一旦操作后到达上一分类则对方必胜,故相当于 $f(i,j/4)$ 。 | + | * $j/4\ge i$ ,一旦操作后到达上一分类则对方必胜,故相当于 $f(i,j/4)$ 。 |
$g(i,j)$ :都想输(想操作后大于 $j$ )的情况下,先手能否必输。 | $g(i,j)$ :都想输(想操作后大于 $j$ )的情况下,先手能否必输。 | ||
- | - $i>j/2$ ,'*2'即可,必败。 | + | * $i>j/2$ ,''*2''即可,必败。 |
- | - $j/2\ge i$ ,一旦操作后到达上一分类则对方必败,故相当于 $f(i,j/2)$ | + | * $j/2\ge i$ ,一旦操作后到达上一分类则对方必败,故相当于 $f(i,j/2)$ |
对于每回合记录一下能否作为先手/后手。 | 对于每回合记录一下能否作为先手/后手。 |