当前位置: 代码迷 >> 综合 >> 大一上第十二周学习笔记
  详细解决方案

大一上第十二周学习笔记

热度:43   发布时间:2023-09-20 17:53:25.0

现在开始社团事情渐渐变少了,训练量要开始上来了

我发现我终究还是喜欢解题的快乐

12月20日校赛

一周三套abcd

搞起吧

 

12.1 周二

注意优先队列默认是大根堆

unsigned long long最大是1e19

long long 是 9 1e18

 

Educational Codeforces Round 99 (Rated for Div. 2) 

 

A. Strange Functions

#include<bits/stdc++.h>
#define REP(i, a, b) for(int i = (a); i < (b); i++)
#define _for(i, a, b) for(int i = (a); i <= (b); i++)
using namespace std;const int MAXN = 100 + 10;
char s[MAXN];int main()
{int T; scanf("%d", &T);while(T--){scanf("%s", s);printf("%d\n", strlen(s));}return 0;
}

B. Jumps

先右跳,再考虑向左跳k+1

#include<bits/stdc++.h>
#define REP(i, a, b) for(int i = (a); i < (b); i++)
#define _for(i, a, b) for(int i = (a); i <= (b); i++)
using namespace std;const int MAXN = 2e6 + 10;
int ans[MAXN];int main()
{int sum = 0, pre = 0;_for(t, 1, 1500){sum += t;ans[sum] = t;ans[sum-1] = t + 1;_for(j, pre + 1, sum - 2)ans[j] = t;pre = sum;}int T; scanf("%d", &T);while(T--){int x; scanf("%d", &x);printf("%d\n", ans[x]);}return 0;
}

 

12.2 周三

C. Ping-pong

其实蛮简单的,但我想了好久

要让右边的人最大化胜利,那么就是每一次发球都胜利

可以推出答案就是x-1 y

其实自己看样例的时候可以猜一猜的

#include<bits/stdc++.h>
#define REP(i, a, b) for(int i = (a); i < (b); i++) 
#define _for(i, a, b) for(int i = (a); i < (b); i++)
using namespace std;int main()
{int T; scanf("%d", &T);while(T--){int x, y;scanf("%d%d", &x, &y);printf("%d %d\n", x-1, y);}return 0;
} 

D题一直WA

明天再想

一定一定要保持自己独立思考的习惯,一定一定不要轻易看题解

觉得自己真的尽力绞尽脑汁了才去看题解

 

  相关解决方案