[游记] CSP 2023 游记
2023.10.20(Day 0)
S1 拿了 \(68.5\) 分,顺利晋级。但是 J1 只拿了 \(60.5\),遗憾未能晋级。
S2 就在自己的学校 (而且甚至是我上信息技术课的教室) ,所以试机了和没试机没有任何区别 qwq。
在 luogu 上面打了一下 a+b,回顾了一下编译就走了。
2023.10.21(Day 1)
正序开题,发现 T1 好像是 \(5\) 个 for 循环,写了。
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 不会,摆了。
剩下的时间在玩蜘蛛纸牌。
估分 \(100 + 10 + 0 + 0 = 110\) ,彻底 AFO. 。
2023.11.12
出分数,\(0 + 20 + 0 + 0 = 20\)。
原来是因为没写 freopen 导致 T1 爆炸。
2023.11.15
出奖项和分数线,三等无缘。
结语
引用 @__erinww 的一句话:
T1 puts("81") 都可以拿 30 分()
是啊,怎么只有 \(20\) 啊 \(\dots\)
明年还有机会吗。
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号