Codeforces Round #638 (Div. 2)总结
程序员文章站
2022-05-12 12:22:24
...
Codeforces Round #638 (Div. 2)总结
当时做这一场比赛的时候还是很烦人的,做完第一个,开始做第二个,看题看了还没十分钟就停电了,很难受,刚刚补了第二个题感觉血亏,哎。
一. Phoenix and Balance
题意:有n枚硬币(n是偶数),质量分别为从2到2的n次方的整数。现在想要将硬币分成两堆,使得两堆质量总和的差的绝对值尽量小,问这个差值最小是多少。
我的方法:当时做的时候像暴力硬算最后发现实现过程有点麻烦,然后就打了个表找了找规律,所求结果的值是以2为公比的等比数列前n项和,然后只需要找到所输入的n是按照2,4,6,8……第几个输进去的就直接算出来了。
代码
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <cmath>
#include <queue>
#include <vector>
#include <algorithm>
#define inf 0x3f3f3f3f
using namespace std;
const int N = 33;
int t,n;
int num[N];
int vis[N];
int main()
{
num[1] = 2;
vis[1] = 2;
for(int i = 2; i <= 31; i++)
num[i] = num[i-1] * 2;
for(int i = 2; i <= 20; i++)
vis[i] = vis[i-1] + 2;
cin >> t;
while(t--)
{
cin >> n;
for(int i = 1; i <= 31 ;i++)
{
if(vis[i]==n)
{
cout << 2*(num[i]-1) << endl;
break;
}
}
}
return 0;
}
二. Phoenix and Beauty
题意:给定一个长度为n的数组和一个整数k,漂亮数组就是该数组的任意长度为k的连续子序列值的和都相等,你可以插入从1到n之间的数,使数组变得漂亮,现在给一个数组(可能是漂亮的)让你构造一个新的漂亮数组,如果无法构造就输出-1。
我的想法:如果一个数组满足漂亮数组的条件,那么数组里面数的种类肯定小于k,不然就弄不出来,而且满足a1到ak的和等于a2到ak+1的和,那么等式两边相等化简一下就是a1=ak+1;那这样我们就可以一直循环a1到ak,她说不用最小化m,那长度看自己心情了。
代码
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <cmath>
#include <queue>
#include <vector>
#include <algorithm>
#define inf 0x3f3f3f3f
using namespace std;
const int N = 1e4+10;
int n,k,t;
int a[N],num[N],vis[110];
int main()
{
cin >> t;
while(t--)
{
memset(vis,0,sizeof(vis));
cin >> n >> k;
int cnt = 0;
for(int i = 1; i <= n; i++)
{
cin >> a[i];
if(vis[a[i]]==0)
{
vis[a[i]] = 1;
num[++cnt] = a[i];
}
}
if(cnt>k)
cout << -1;
else
{
for(int i = cnt+1; i<=k; i++)
num[i] = num[i-1];
for(int i = k+1; i <= 9999; i++)//我补题的时候循环的次数太小了,然后一直错,最后直接9999
num[i] = num[i-k];
cout << 9999 << endl;
for(int i = 1; i <= 9999; i++)
cout << num[i] << " ";
}
cout << endl;
}
}
推荐阅读
-
Codeforces Round #435 (Div. 2)-B. Mahmoud and Ehab and the bipartiteness
-
Codeforces Round #157 (Div. 1) C. Little Elephant and LCM (数学、dp)
-
Codeforces Round #279 (Div. 2) 解题报告_html/css_WEB-ITnose
-
Codeforces Round #340 (Div. 2)-E-XOR and Favorite Number(莫队)
-
Codeforces Round #482 (Div. 2) D. Kuro and GCD and XOR and SUM(数学+01字典树)(好题)
-
Codeforces Round #553 (Div. 2) B. Dima and a Bad XOR(异或+思维)
-
Codeforces Round #246 (Div. 2) ?B. Football Kit_html/css_WEB-ITnose
-
Codeforces Round #261 (Div. 2)B. Pashmak and Flowers(容易)
-
Educational Codeforces Round 41 (Rated for Div. 2) E. Tufurama(树状数组+偏序)
-
Educational Codeforces Round 37 (Rated for Div. 2) E. Connected Components?(图论+连通块+bfs)