本文主要是介绍Codeforces Round 893 (Div. 2)(VP-7,寒假加训),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
VP时间
A.
关键在于按c的按钮
c&1
Alice可以多按一次c按钮
也就是a多一个(a++)
之后比较a,b大小即可
!(c&1)
Alice Bob操作c按钮次数一样
1.ac
B.贪心
一开始会吃饼干
如果有卖饼的就吃
如果隔离一段时间到d没吃就吃(当时间快到的时候卖一次饼)
n是长度
枚举一遍卖饼的位置
不移除
吃饼量=((s[i]-s[i-1]-1)/d)求和
s[i]到s[i-1]之间的距离(s[i-1],s[i])不到s[i]因此要-1
枚举一遍卖饼的位置
还有特判(s[0]=1-d,s[m+1]=n+1),-d+1(到1就吃一口饼),n+1(到n可能会吃一口饼)
res-=(s[i]-s[i-1]-1)/d;
res-=(s[i+1]-s[i]-1)/d;
res+=(s[i+1]-s[i-1])/d;
res+=m-1;
计算出res
ans=min(ans,res)
if(ans==res)cnt++;
C.
gcd最大的数是n/2
gcd(a[i],a[i+1])
i,2*i放一起为最优解
i 枚举奇数
1.ac
题解
A.
// Problem: A. Buttons
// Contest: Codeforces - Codeforces Round 893 (Div. 2)
// URL: https://codeforces.com/contest/1858/problem/A
// Memory Limit: 256 MB
// Time Limit: 1000 ms
//
// Powered by CP Editor (https://cpeditor.org)//へ /|
// /\7 ∠_/
// / │ / /
// │ Z _,< / /`ヽ
// │ ヽ / 〉
// Y ` / /
// イ● 、 ● ⊂⊃〈 /
// () へ | \〈
// >ー 、_ ィ │ //
// / へ / ノ<| \\
// ヽ_ノ (_/ │//
// 7 |/
// >―r ̄ ̄`ー―_
#include <iostream>
#include <cstring>
#include <iomanip>
#include <ctime>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <vector>
#include <stack>
#include <map>
#include <set>
#include <bitset>
#include <queue>
#define eps 1e-5
#define INF 1e9
using namespace std;
typedef long long ll;
const int N = 2e6 + 9;
int a[N];
void solve() {int a,b,c;cin>>a>>b>>c;if(c&1){a++;if(a>b){cout<<"First"<<'\n';}else{cout<<"Second"<<'\n';}}else{if(a>b){cout<<"First"<<'\n';}else{cout<<"Second"<<'\n';}}}int main() {ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);int q;cin >> q;while (q--) {solve();}return 0;
}
B.
// Problem: B. The Walkway
// Contest: Codeforces - Codeforces Round 893 (Div. 2)
// URL: https://codeforces.com/contest/1858/problem/B
// Memory Limit: 256 MB
// Time Limit: 1000 ms
//
// Powered by CP Editor (https://cpeditor.org)//へ /|
// /\7 ∠_/
// / │ / /
// │ Z _,< / /`ヽ
// │ ヽ / 〉
// Y ` / /
// イ● 、 ● ⊂⊃〈 /
// () へ | \〈
// >ー 、_ ィ │ //
// / へ / ノ<| \\
// ヽ_ノ (_/ │//
// 7 |/
// >―r ̄ ̄`ー―_
#include <iostream>
#include <cstring>
#include <iomanip>
#include <ctime>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <vector>
#include <stack>
#include <map>
#include <set>
#include <bitset>
#include <queue>
#define eps 1e-5
#define INF 1e9
using namespace std;
typedef long long ll;
const int N = 2e5 + 9;
int s[N];
void solve() {int n,m,d;cin>>n>>m>>d;for(int i=1;i<=m;i++){cin>>s[i];}s[0]=-d+1;s[m+1]=n+1;int sum=0;for(int i=1;i<=m+1;i++){sum+=(s[i]-s[i-1]-1)/d; }int ans=n+1;int cnt=0;for(int i=1;i<=m;i++){int res=sum;res-=(s[i]-s[i-1]-1)/d;res-=(s[i+1]-s[i]-1)/d;res+=(s[i+1]-s[i-1]-1)/d;res+=m-1;if(res<ans){ans=res;cnt=1;}else if(res==ans){cnt++;}}cout<<ans<<" "<<cnt<<'\n';}int main() {ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);int q;cin >> q;while (q--) {solve();}return 0;
}
C.
// Problem: C. Yet Another Permutation Problem
// Contest: Codeforces - Codeforces Round 893 (Div. 2)
// URL: https://codeforces.com/contest/1858/problem/C
// Memory Limit: 256 MB
// Time Limit: 2000 ms
//
// Powered by CP Editor (https://cpeditor.org)//へ /|
// /\7 ∠_/
// / │ / /
// │ Z _,< / /`ヽ
// │ ヽ / 〉
// Y ` / /
// イ● 、 ● ⊂⊃〈 /
// () へ | \〈
// >ー 、_ ィ │ //
// / へ / ノ<| \\
// ヽ_ノ (_/ │//
// 7 |/
// >―r ̄ ̄`ー―_
#include <iostream>
#include <cstring>
#include <iomanip>
#include <ctime>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <vector>
#include <stack>
#include <map>
#include <set>
#include <bitset>
#include <queue>
#define eps 1e-5
#define INF 1e9
using namespace std;
typedef long long ll;
const int N = 2e6 + 9;
int a[N];
void solve() {int n;cin>>n;vector<int> a;for(int i=1;i<=n;i+=2){for(int j=i;j<=n;j*=2){a.push_back(j);}}for(int i=0;i<n;i++){cout<<a[i]<<" ";}cout<<'\n';
}int main() {ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);int q;cin >> q;while (q--) {solve();}return 0;
}
这篇关于Codeforces Round 893 (Div. 2)(VP-7,寒假加训)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!