I 三角尼姆
思路
此题教训:多动脑ok?
由于每次操作都是 奇数的操作, 所有的结点总数为 $\frac{n*(n+1)}{2}$, 要把它填满, 我们发现如果总数为奇数时, 则必须操作奇数次
奇数的操作, 否则操作偶数次
奇数的操作
代码
#include<iostream>
using namespace std;
int main(){
int _;
cin >> _;
while(_ --){
int n;
cin >> n;
if(n * (n + 1) / 2 % 2 == 0) puts("Bob");
else puts("Alice");
}
return 0;
}
G切圈圈
思路
真是妙蛙种子吃着妙脆角走进了米奇妙妙屋,妙到家了。
想到了,但没有完全想到。
思维题。
求一遍前缀和, 答案取 所有数中 某个数出现次数最大的个数
#include<iostream>
#include<unordered_map>
using namespace std;
unordered_map<int, int> mp;
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
int _;
cin >> _;
while(_ --){
int sum = 0, ans = 0;
mp.clear();
int n;
cin >> n;
while(n --){
int x;
cin >> x;
ans = max(ans, ++ mp[sum += x]);
}
cout << ans << endl;
}
return 0;
}