本文章同步发表于洛谷博客。
初赛 day -7 ~ day -1
赛前集训,都很简单,什么二叉树,图论呀,轻松搞定。做了 2008 至 2015 年的普及组真题,都在 50 分以上,感觉初赛稳了(坐标 HN)。
初赛 day 1
考前还和一起学习的同学们闲聊了几句。
开始考试。
看到试卷后我直接蒙逼了,这什么题呀,没有一道是原题,然后把会的题目写了,最后随便蒙了剩下的题(因为大部分是选择题,所以希望我的 rp++)。估分 55,HN 应该稳了(HN 去年分数线好像只有四十几分)。
初赛 day 10
初赛分数 69!!!分数线 47.5,稳过。
初赛一等(一等分数线 64.5)。哈哈哈 !!!
复赛 day -14 ~ day -1
赛前集训,复习 dfs。搞得我搜索都不会了。
复赛 day 1
T1
签到题,虽然我试了许多解法,但是最终找到了正解,几个 if,一个 for 就搞定了,唯一坑点就是要开 long long 类型,自测 100pts。
#include <bits/stdc++.h> #define INF 1000000000 using namespace std; int a, b; long long sum = 1; int main() { cin >> a >> b; if (a == 1) { cout << 1; return 0; } if (b >= 1e7 && a > 1) { cout << "-1"; return 0; } for (int i = 1; i <= b; i++) { sum *= a; if (sum > INF) { cout << "-1"; return 0; } } cout << sum; return 0; }
T2
只看一眼,就打了个暴力就丢了,估分 60pts。
#include <bits/stdc++.h> using namespace std; long long k, n, e, d; int main() { cin >> k; for (int i = 1; i <= k; i++) { cin >> n >> e >> d; long long f = n - e * d + 2; bool flag = 0; for (int j = 1; j <= f / 2; j++) { int g = f - j; if (g * j == n) { cout << j << ' ' << g << '\n'; flag = 1; break; } } if (!flag) { cout << "NO" << '\n'; } } return 0; }
T3
话说前两题只用了 1h,剩下的时间就去写第三题了。
程序根据数据点特性写的,写了特殊性质 1 和 2(但是赛后总结时发现没有判断完整,导致分数很低),赛时估分 30pts。
#include <bits/stdc++.h> using namespace std; string s; int main() { cin >> s; int n = s.size(); bool flag = 0; for (int i = 0; i < n; i++) { if (s[i] == '&') { flag = 1; break; } } if (!flag) { bool flagg = 0; int sum = 0; for (int i = 0; i < n; i++) { if (s[i] == '1' && s[i + 1] == '(') { sum++; } if (s[i] == '1') { flagg = 1; } } cout << flagg << '\n' << '0' << ' ' << sum; return 0; } bool flaag = 0; for (int i = 0; i < n; i++) { if (s[i] == '|') { flaag = 1; break; } } if (!flaag) { bool flaagg = 1; int sum = 0; for (int i = 0; i < n; i++) { if (s[i] == '0' && s[i + 1] == '(') { sum++; } if (s[i] == '0') { flaagg = 1; } } cout << flaagg << '\n' << sum << ' ' << '0'; return 0; } return 0; }
T4
看出来是 dp,但是不会写,输了数据,随便瞎写了一个程序后就丢了,预计 0pts。
估分:100 + 60 + 30 + 0 = 190。
HN 一等要看 rp 是多少了。
考后
小图灵上 100 + 60 + 10 + 0 = 170。
计蒜客上 100 + 60 + 5 + 0 = 165。
洛谷自测 100 + 50 + 5 + 0 = 155。
不是,怎么一个比一个低?
官方分数:100 + 50 + 0 + 0 = 150,遗憾二等。还是年龄小了,等明年再努力吧。
最后祝所有考生 rp++!考出一个好成绩!
完结