C
水题
Code
#include<bits/stdc++.h>
using namespace std;
const int maxn=500003;
char s[maxn];
int n;
int main(){
scanf("%s",s+1);
n=strlen(s+1);
for(int i=1,mi=maxn;i<=n;i++){
mi=min(mi,int(s[i]));
puts(mi<s[i]?"Ann":"Mike");
}
return 0;
}
D
把节点想成一个数轴。
一张图是二分图 \(⇔\) 这张图没有奇环。
考虑两个数 \(a,b\) ,以这两个数为间隔连边,假设从 \(x\) 处开始,那么一定在 \(x+\lcm (a,b)\) 处相遇。
没有奇环的条件是 \(\frac{\lcm (a,b)}{a}+\frac{\lcm (a,b)}{b}\equiv 1 \pmod 2\)