题解:P14781 [COCI 2025/2026 #3] 尺子 / Ravnalo
题解:P14781 [COCI 2025/2026 #3] 尺子 / Ravnalo
解题思路(题目传送门)
一定需要画的
计算公式
PS:
时间复杂度
枚举每个位置的时间复杂度是
AC 代码:
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=1e5+10;
int n,a[N],b[N],cnt;
signed main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
cin>>n;
cnt+=n+2;//记录画出所有柱子的外边界所需的笔画数。
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=n;i++) cin>>b[i],cnt+=b[i];
for(int i=1;i<n;i++){
int x=a[i]*b[i+1],y=a[i+1]*b[i];
cnt-=__gcd(x,y)/max(a[i],a[i+1]);//__gcd(x,y)是万能头自带的求最大公因数的函数。
}
cout<<cnt;
return 0;
}