Team Round(Training)系列:每周六12:15-17:15
这一场是在9月7日打的,是我们队(Wqr,dqy, Orz btxdy)第一次gym的训练。正好周五凛冬将至训练了这套题,不想找题我就clone了一下。总的来讲难度不算太大。
解了BDGAJF六题。
传送门
A题:单调栈
1 | // Author : Wqr_ |
B题:因式分解
1 |
|
D题:找子序列
1 |
|
F题:冲冲冲!
没看懂没想明白 交上去试试看突然ac的题目
- 你会吗
- 不会 那你会吗?
- 不会
- 那我感觉是这个答案,交一发把
几十秒钟后………………
dqy🐮🍺1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 /************************************************
# @Author: miniLCT
# @DateTime: 2019-09-07 16:16:52
# @Description: You build it.You run it
***********************************************/
using namespace std;
typedef long long ll;
const int maxn = 1e6;
const int INF = 1e9;
const ll linf = 0x3f3f3f3f3f3f3f3f;
const double PI = acos(-1.0);
ll mod = 1e9+7;
int main()
{
int n;
cin >> n;
double ans = 1.0*(1+n) / 2;
printf("%.10f\n", ans);
}
/******************************************************
stuff you should look for
* int overflow, array bounds
* special cases (n=1?), set tle
* do smth instead of nothing and stay organized
*******************************************************/
G题:巧克力博弈
严格说是sg博弈。
题意:有三堆石子,两个人轮流拿1~k个石子,谁先拿完谁就赢了。(如果这一堆石子左边堆里还有石子,那么你不能清空这个堆。)
找了几个小的数字之后感觉可以写。
往sg方向想,题意说左边堆会影响右边堆所以最左边堆不受影响,而2,3受影响。我们让第二堆,第三堆少一个石子,这样就没有了限制条件。
sg一下就行。wa了几发是因为写成if(p==0)。。。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 /************************************************
# @Author: miniLCT
# @DateTime: 2019-09-07 12:22:26
# @Description: You build it.You run it
***********************************************/
/*
Tomaz
Danftito
*/
using namespace std;
typedef long long ll;
const int maxn = 1e6;
const int INF = 1e9;
const ll linf = 0x3f3f3f3f3f3f3f3f;
const double PI = acos(-1.0);
ll mod = 1e9+7;
int main()
{
ll n , a, b , c;
cin >> n >> a>> b>> c;
ll p = a % (n+1);
ll q = (b-1) % (n+1);
ll r = (c-1) % (n+1);
ll ans = p^q^r;
if(ans == 0)cout <<"Danftito"<<endl;
else cout <<"Tomaz"<<endl;
}
/******************************************************
stuff you should look for
* int overflow, array bounds
* special cases (n=1?), set tle
* do smth instead of nothing and stay organized
*******************************************************/
J题:枚举中间的数的素数
这道题lct觉得他可以写,他枚举了第一个数和最后一个数字和中位数的左边右边的各一个素数 感觉很对不可能wa
lct wa的写法
1 | /************************************************ |
后来dqy提出可以多找几个最近的素数,复杂度也ok,lct表示赞同但是不想写。
然后dqy开始写,写了几发wa了。百思不得其姐 后来发现是中位数不会写。。lj dqy!!
dqy ac写法:枚举中间很多个素数 orz dqy
1 |
|
补题 :E,H
E题:dp
这道题本来想最后半小时冲一下的,然后 后面就莫名放弃(提早下班)了…………
可以确定的是排序贪心搞一搞是不行的,dp写
dqy写法
1 |
|
lct由于对map不是很会用对map操作总有种莫名恐惧,所以对他操作不是很想看下去qwq 他补题写出bug时候也不能为他排忧解难qwq。(ljlct快去训练!)
参考了一下写了一份
1 | /************************************************ |
原谅我的变量名,由于这种丑陋变量名导致我调参调了好一会儿
大神写法
三维 滚动数组 orz tttttttttrx!!
trx天下第一!!
H题:矩阵快速幂优化dp方程
题意
要求这么一个序列:a{i-1}*a{i+1}<=a_{i}^{2},且ai序列只能包括0、1、2.
设dp方程dp[i][j][k]为第i位时,后面两位分别是j、k的方案数。
j,k的取值方案共九种:00 01 02 10 11 12 20 21 22
构造矩阵快速幂的方程:
套路啊,套路就完事了。
ac代码
1 | /************************************************ |
第一次gym还是挺快乐,希望以后可以一直坚持下去,然后有所收获。(补题整整咕咕咕了一礼拜就很尴尬,这周的补题又什么时候呢qwq)
希望正如当初 突然想到的
博观而约取
厚积而薄发