Codeforces Round #609 (Div. 2)
Posted emcikem
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces Round #609 (Div. 2)相关的知识,希望对你有一定的参考价值。
A
简单题,输出 8n 和9n即可
因为8n是8的倍数,9n是9的倍数
而9n-8n=n成立
#include <iostream>
#include <cstdio>
using namespace std;
int main(){
int n;
cin >> n;
printf("%d %d
",9 * n, 8 * n);
return 0;
}
B
给出两个n长的序列和一个m
((a_{i}+x) %m = b_{p})
这题我失误了,竟然在for i里面加了个for i,太傻了
还有就是我的操作是用b的每个值比较a[0]进行求解,然后我特么又傻了,竟然写成了a[i]
#include <iostream>
#include <cstdio>
#include <cstring>
#include <queue>
#include <algorithm>
#include <vector>
#define ll long long
using namespace std;
const int maxn = 2e3+5;
const int inf = 1e9 + 66555;
int a[maxn];
int b[maxn];
int c[maxn];
int n,m;
bool check(int *a,int *b){//O(nlogn)
sort(a,a+n);
for(int i = 0; i < n; i++){
if(a[i] != b[i]){
return 0;
}
}
return 1;
}
int main(){
cin >> n >> m;
for(int i = 0; i < n; i++)scanf("%d",&a[i]);
for(int i = 0; i < n; i++)scanf("%d",&b[i]);
int ans = inf;
sort(b,b+n);
for(int i = 0; i < n; i++){
int t;
if(b[i] > a[0])t = b[i] - a[0];
else t = m + b[i] - a[0];
for(int j = 0; j < n; j++){
c[j] = (a[j] + t) % m;
}
if(check(c,b)){
ans = min(ans,t);
}
}
cout << ans % m << endl;
return 0;
}
C
这题就是只需要变前k个就行了
如果有前k个组成的n/k个k数的数组小于之前的,那么把最后一个数也就是a[k]加一
然后考虑进位的问题(我被hack在这里)
#include <iostream>
#include <cstdio>
#include <cstring>
#include <queue>
#include <vector>
#define ll long long
using namespace std;
const int maxn = 2e5 + 5;
const int inf = 0x3f3f3f3f;
char a[maxn];
char z[maxn];
int n,k;
void change(){
if(z[k] == '9'){
z[k - 1]++;
z[k] = '0';
int i = k - 1;
while(z[i]==':'){
z[i - 1]++;
z[i] = '0';
i--;
}
}else{
z[k]++;
}
int cnt = 1;
for(int i = 1; i <= n; i++){
if(cnt == k + 1)cnt = 1;
z[i] = z[cnt++];
}
}
int main(){
cin >> n >> k;
scanf("%s",a + 1);
int cnt = 1;
for(int i = 1; i <= n; i++){
if(cnt == k + 1)cnt = 1;
z[i] = a[cnt++];
}
int zz = strcmp(z + 1, a + 1);
if(zz < 0){
change();
}
printf("%d
",n);
printf("%s
",z + 1);
return 0;
}
以上是关于Codeforces Round #609 (Div. 2)的主要内容,如果未能解决你的问题,请参考以下文章
Codeforces Round #609 (Div. 2)
Codeforces Round #609 (Div. 2)--B.Modulo Equality