为了能到远方,脚下的每一步都不能少.|
📂游记
🔖游记
2024-05-17 22:46阅读: 13评论: 0推荐: 0

[游记] CSP 2023 游记

2023.10.20(Day 0)

S1 拿了 68.5 分,顺利晋级。但是 J1 只拿了 60.5,遗憾未能晋级。

S2 就在自己的学校 (而且甚至是我上信息技术课的教室) ,所以试机了和没试机没有任何区别 qwq。

在 luogu 上面打了一下 a+b,回顾了一下编译就走了。

2023.10.21(Day 1)

正序开题,发现 T1 好像是 5for 循环,然后觉得时间复杂度超了就没写,哪知这居然是正解之一。

T2 放一下赛场代码吧 (码风奇怪请勿介意)

// game
// code by:cq_irritater
// time:2023/10/21
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 8010, maxn = 2e6 + 10;
int n, ans;
int f[MAXN][MAXN], v[MAXN][MAXN];
char a[maxn];
int main()
{
freopen("game.in", "r", stdin);
freopen("game.out", "w", stdout);
scanf("%d", &n);
scanf("%s", a + 1);
for (int k = 2; k <= n; k += 2)
{
for (int i = 1; i <= n - k + 1; i++)
{
if (k == 2)
{
if (a[i] == a[i + 1])
{
f[i][i + 1] = 1;
v[i][++v[i][0]] = i + 1;
ans++;
}
continue;
}
int l = i, r = i + k - 1;
if (a[1] == a[r] && f[l + 1][r - 1])
{
f[l][r] = 1;
v[i][++v[i][0]] = r;
ans++;
}
else if (a[r - 1] == a[r] && f[l][r - 2])
{
f[l][r] = 1;
v[i][++v[i][0]] = r;
ans++;
}
else if (a[l] == a[l + 1] && f[l + 2][r])
{
f[l][r] = 1;
v[i][++v[i][0]] = r;
ans++;
}
else
{
int nn = v[1][0];
for (int i = 1; i <= nn; i++)
{
if (f[v[l][i] + 1][r])
{
f[l][r] = 1;
v[l][++v[l][0]] = r;
ans++;
break;
}
}
}
}
}
printf("%d", ans);
return 0;
}

T3、T4 不会,摆了。

剩下的时间在玩蜘蛛纸牌。

估分 0+10+0+0=10 ,彻底 AFO. 。

2023.11.12

出分数,0+20+0+0=20

2023.11.15

出奖项和分数线,三等无缘。

结语

引用 @__erinww 的一句话:

T1 puts("81") 都可以拿 30 分()

是啊,怎么只有 20

明年还有机会吗。

本文作者:cq_irritater

本文链接:https://www.cnblogs.com/cq-irritater/p/18198841/travel-csp2023

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   cq_irritater  阅读(13)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起