BUCT - 2021-2022-1 ACM集训队每周程序设计竞赛(10)题解
Posted yueshehanjiang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BUCT - 2021-2022-1 ACM集训队每周程序设计竞赛(10)题解相关的知识,希望对你有一定的参考价值。
Bob和Alice(1)
思路:
模
拟
即
可
模拟即可
模拟即可
时间复杂度:
O
1
O1
O1
#include <bits/stdc++.h>
#define fer(i,a,b) for(int i = a ; i <= b ; ++ i)
#define der(i,a,b) for(int i = a ; i >= b ; -- i)
#define all(x) (x).begin(),(x).end()
#define sz(x) ((int)(x).size())
#define sf(x) scanf("%lld",&x)
#define pll pair<int,int>
#define int long long
#define pb push_back
#define y second
#define x first
using namespace std;
signed main()
string s , t ;
cin >> s >> t ;
int res = 0 ;
fer(i,0,sz(s)-1)
if(s[i] == t[i])
res ++ ;
cout << res ;
return 0;
Bob和Alice(2)
思路:
模
拟
即
可
模拟即可
模拟即可
时间复杂度:
O
n
On
On
#include <bits/stdc++.h>
#define fer(i,a,b) for(int i = a ; i <= b ; ++ i)
#define der(i,a,b) for(int i = a ; i >= b ; -- i)
#define all(x) (x).begin(),(x).end()
#define sz(x) ((int)(x).size())
#define sf(x) scanf("%lld",&x)
#define pll pair<int,int>
#define int long long
#define pb push_back
#define y second
#define x first
using namespace std;
const int N = 1e6 + 10 , M = 2010 , mod = 1e9 + 7 ;
const double eps = 1e-7 , pi = acos(-1.0) ;
int n ;
int a[N] , b[N] , c[N] ;
signed main()
cin >> n ;
fer(i,1,n) sf(a[i]) ;
fer(i,1,n) sf(b[i]) ;
fer(i,1,n-1) sf(c[i]) ;
int res = 0 ;
a[0] = -2 ;
fer(i,1,n)
res += b[a[i]] ;
if(a[i] == a[i-1] + 1)
res += c[a[i-1]] ;
cout << res ;
Bob和Alice(3)
思路:
对
每
一
个
i
[
1
<
=
i
<
=
n
−
1
]
对每一个i [1 <= i <= n - 1]
对每一个i[1<=i<=n−1]
B
i
>
=
m
a
x
(
A
i
,
A
i
+
1
)
B_i>=max(A_i,A_i+1)
Bi>=max(Ai,Ai+1)
因
此
因此
因此
B
1
>
=
m
a
x
(
A
1
,
A
2
)
B_1>=max(A_1,A_2)
B1>=max(A1,A2)
B
2
>
=
m
a
x
(
A
2
,
A
3
)
B_2>=max(A_2,A_3)
B2>=max(A2,A3)
…
B
n
−
1
>
=
m
a
x
(
A
n
−
1
,
A
n
)
B_n-1>=max(A_n-1,A_n)
Bn−1>=max(An−1,An)
所
以
可
以
得
到
所以可以得到
所以可以得到
A
1
<
=
B
1
A_1<=B_1
A1<=B1
A
2
<
=
m
i
n
(
B
1
,
B
2
)
A_2<=min(B_1,B_2)
A2<=min(B1,B2)
A
3
<
=
m
i
n
(
B
2
,
B
3
)
A_3<=min(B_2,B_3)
A3<=min(B2,B3)
…
A
n
−
1
<
=
m
i
n
(
B
n
−
2
,
B
n
−
1
)
A_n-1<=min(B_n-2,B_n-1)
An−1<=min(Bn−2,Bn−1)
A
n
<
=
B
n
−
1
A_n<=B_n-1
An<=Bn−1
因
此
因此
因此
A
1
<
=
B
1
A_1<=B_1
A1<=B1
A
i
<
=
m
i
n
(
B
i
,
B
i
−
1
)
[
2
<
=
i
<
=
n
−
1
]
A_i<=min(B_i,B_i-1)[2 <= i <= n - 1]
Ai<=min(Bi,Bi−1)[2<=i<=n−1]
A
n
<
=
B
n
−
1
A_n<=B_n-1
An<=Bn−1
所
以
答
案
为
所以答案为
所以答案为
B
1
+
B
n
−
1
+
∑
i
=
2
n
−
1
m
i
n
(
B
i
,
B
i
−
1
)
B_1+B_n-1+\\sum_i=2^n-1min(B_i,B_i-1)
B1+BBUCT - 2021-2022-1 ACM集训队每周程序设计竞赛(10)题解
BUCT - 2021-2022-1 ACM集训队每周程序设计竞赛题解
BUCT - 2021-2022-1 ACM集训队每周程序设计竞赛题解