这场我不好说,我感觉我是逆天,div3的C题都卡了很久,想太复杂了,一直wa2,结果没发现这么简单,越打越低能了属于是:
然后赛后一下子把D和E给1A了,乐
群友说,比赛的时候卡题的话,如果40分钟连代码都写不了,那就果断跳题
平时训练的话,一道题先想20分钟,如果20分钟过去写不来代码就去看题解
不能光速看题解,否则训练效果=0
Dashboard - Codeforces Round #731 (Div. 3) - Codeforces
A. Shortest Path with Obstacle
小分类讨论
题意:
给出三个点 A,B,F问你从A到B且不经过F的最短路是多少
讨论A,B,F的相对位置即可,特判同一行和同一列的情况
Code:
#include <bits/stdc++.h>
#define int long long
#define y1 Y1
const int mxn=2e3+10;
const int mxe=1e5+10;
const int mod=1e9+7;
const int Mnf=1e18;
const int Inf=-1e18;
using namespace std;
int x1,y1,x2,y2,x3,y3;
void solve(){
cin>>x1>>y1>>x2>>y2>>x3>>y3;
if(x1!=x2&&y1!=y2){
cout<<abs(x2-x1)+abs(y2-y1)<<'\n';
}else if(x1!=x2&&y1==y2){
if(y1==y3&&x3>=min(x1,x2)&&x3<=max(x1,x2)) cout<<abs(x2-x1)+2<<'\n';
else cout<<abs(x2-x1)+abs(y2-y1)<<'\n';
}else if(x1==x2&&y1!=y2){
if(x3==x1&&y3>=min(y1,y2)&&y3<=max(y1,y2)) cout<<abs(y2-y1)+2<<'\n';
else cout<<abs(x2-x1)+abs(y2-y1)<<'\n';
}else{
cout<<0<<'\n';
}
}
signed main(){
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
int __=1;cin>>__;
while(__--)solve();return 0;
}
B. Alphabetical Strings and C. Pair Programming
(61条消息) 【双指针合并序列】CF731div3 B C_lamentropetion的博客-CSDN博客
D. Co-growing Sequence
(61条消息) 【bitmask】CF731div3 D_lamentropetion的博客-CSDN博客
E. Air Conditioners
(61条消息) 【前后缀DP】CF731div3 E_lamentropetion的博客-CSDN博客
F. Array Stabilization (GCD version)