ABC339
-
Time:1h 30min
-
Complete_time:2h
B
模拟,但是我考场上交了三次没过。因为我计算转移的时候把n,m写反了。
x = (x+dx[dir]+m)%m;
y = (y+dy[dir]+n)%n;
x,y是坐标,dir是方向。我想错了,将x想成是横向移动了。下次要注意画图,不要犯低级错误。
D
BFS,但是我被罚时一次,因为逻辑错误
if(q1>q2)swap(q1,q2);
if(s[q1.first][q1.second]=='#')q1=p1;//顺序不要反
if(s[q2.first][q2.second]=='#')q2=p2;
错误代码如上,本来要钦定q1比q2小,但是连q1和q2还没求完,又怎么比大小呢。
G
主席树没问题,输入有问题。在线是异或上一次的答案,但是特判掉0,没有将ans置换。
if(x==0){
puts("0");
// ans = 0;
continue;
}
可见写代码需要非常细致的思维
F
赛后A题,类似于Miller-Robbin素性判断
\(A_i \times A_j = A_k\) 的必要条件是 \(A_i \times A_j\equiv A_k(mod \ p)\)
p可以不是素数,但是一个数判断出错的可能性太大,所以需要多个模数(取20个)
题解中随机取 \([10^9,2 \times 10^9]\) 的数,但是在100里取20个素数也是可以过的
标签:总结,ABC339,q2,q1,times,dir,但是 From: https://www.cnblogs.com/life-of-a-libertine/p/18005418