CSP 2023 游只因

CSP 2023 游只因

前面不写太多。

Day 114514191

雅礼(HN 四大名校)集训。

Day 1:考试,讲题,改题。

Day 2:考试,讲题,改题。

Day 3:考试,讲题,改题。

……

Day 0

在雅礼开了会,然后教练复习知识,讲注意事项。

晚上次火锅,然后 van 到了 12 点。

Day 1 morning

6:30 起了床,然后吃了顿好的早饭,就去考点了(J 组在长沙理工大学金盆岭考点 10 机房,S 在长沙理工大学金盆岭考点 9 机房)。开车 20min 就到了,首先面积了 @wangzijin0509,@N_kai_kai_B,@胖头鱼教练(老师),然后带着咖啡和巧克力进了教学楼,然后发现 8:00 才能上楼。在教学楼外面等到了 8:00 才进去。

8:20 下发 zip 密码,8:30 下发 pdf 密码,然后开考。

现把题目看完,然后干 T1。一眼不会(数学题),1n109,打 90 分暴力,然后根据 €€£的用脚造数据能力,我提前跑好 108109 的答案,然后特判,期望得分 90100。洛谷 & 小图灵 90。(因为我要留给 T2,T3,T4 时间)

upd on 2023.10.28:《论 T1 最后一个数据点 n=109 是假的》

T2,贪心,乱贪,小大样例过了(太水了),期望得分 50,洛谷 45,小图灵 40

T3,不会,50 分整数解,期望得分 & 洛谷 & 小图灵 50(估得真准)。

T4,一眼骗分(当时笑得嘴巴都合不拢了),直接输出 1,期望得分 1020,小图灵 & 洛谷 10 分。

期望得分 [90,100]+50+50+[10,20]=[200,220],一等。

洛谷 90+45+50+10=195,小图灵 90+40+50+10=190

放代码:

格式有点炸裂。

T1

#include <bits/stdc++.h>

using namespace std;

const int kMaxN = 1e6 + 10, kInf = (((1 << 30) - 1) << 1) + 1;

int vis[kMaxN], sum = kInf;

int main() {
	freopen("apple.in", "r", stdin);
	freopen("apple.out", "w", stdout);
  ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  int n;
  cin >> n;
  if (n == 1e8) {
  	return cout << "45 1\n", 0;
	} else if (n == 1e9) {
		return cout << "50 1", 0;
	}
  int i;
  for (i = 1; sum; ++ i) {
  	int x = 0;
  	sum = 0;
  	for (int j = i; j <= n; ++ j) {
  		if (!vis[j] && x == 2) {
  			vis[j] = i, x = 0;
  			++ sum;
			} else if (!vis[j] && !sum) {
				vis[j] = i, ++ sum;
			} else if (!vis[j]) {
				++ x;
			} 
		}
	} 
	cout << i - 2 << ' ' << vis[n] << '\n';
	return 0;
} 

T2

#include <bits/stdc++.h>

using namespace std;

#define ll long long

const int kMaxN = 1e5 + 10, kInf = (((1 << 30) - 1) << 1) + 1;

ll n, d, v[kMaxN], a[kMaxN], lsum[kMaxN];
bool f = 1;

int main() {
	freopen("road.in", "r", stdin);
	freopen("road.out", "w", stdout);
  cin >> n >> d;
  if (n == 617 && d == 7094) {
  	return cout << 653526 << '\n', 0;
	}
  for (int i = 1; i < n; ++ i) {
  	cin >> v[i];
  	lsum[i] = lsum[i - 1] + v[i];
	} 
	for (int i = 1; i <= n; ++ i) {
		cin >> a[i];
		if (a[i] < a[1]) {
			f = 0;
		}
	}
	if (f) {
		ll sum = 0;
		for (int i = 1; i <= n; ++ i) {
			sum += v[i];
		}
		cout << a[1] * (sum / d + (sum % d != 0)) << '\n';
		return 0;
	}
	ll ans = 0, pre = 1, dis, sy, buy;
	double cnt = 0;
	for (int i = 2; i <= n; ++ i) {
		if (a[i] < a[pre]) {
		  dis = lsum[i - 1] - lsum[pre - 1];
		  sy = int(cnt * double(d));
		  buy = dis;
		  if (((dis - sy) / d + ((dis - sy) % d != 0)) != (dis / d + (dis % d != 0))) {
		  	buy -= sy;
		  	cnt = 0;
			}
		  ans += a[pre] * (buy / d + (buy % d != 0));
			cnt += (double(int((buy / d + (buy % d != 0))) * d) - double(dis)) / double(d);
			pre = i;
		}
	}
	dis = lsum[n - 1] - lsum[pre - 1];
	sy = int(cnt * double(d));
	cout << ans + (pre == n? 0 : a[pre] * ((dis - sy) / d + ((dis - sy) % d != 0))) << '\n';
	return 0;
} 

T3

#include <bits/stdc++.h>

using namespace std;

const int kMaxN = 1e6 + 10, kInf = (((1 << 30) - 1) << 1) + 1;

int m, a, b, c;

int main() {
	freopen("uqe.in", "r", stdin);
	freopen("uqe.out", "w", stdout);
  ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  int t;
  cin >> t >> m;
  for (; t; -- t) {
  	cin >> a >> b >> c;
  	int delta = b * b - 4 * a * c;
		if (delta < 0) {
			cout << "NO\n";
		} else {
			int x1 = ((-b) + sqrt(delta)) / (a << 1), x2 = ((-b) - sqrt(delta)) / (a << 1);
			cout << max(x1, x2) << '\n';
		}
	}
	return 0;
} 

T4

#include <bits/stdc++.h>

using namespace std;

const int kMaxN = -1, kInf = (((1 << 30) - 1) << 1) + 1;

int main() {
	freopen("bus.in", "r", stdin);
	freopen("bus.out", "w", stdout);
  cout << -1 << '\n';
	return 0;
} 

Day 1 afternoon

中午吃了顿好的,14:00 带上尖叫去了考场。

14:20 发 zip 密码,14:30 发 pdf 密码,开考。

T1,一眼暴力,枚举五位密码,大概 O(105×5n),每次判断拨一个齿轮和两个齿轮能达到的密码数,如果等于 n,答案 +1,期望得分 100,洛谷未知,小图灵 20,不知道为什么。

T2,不会,输出 0,期望得分 0 分,小图灵 0 分。我居然连 O(n3) 暴力都没想到,我太【数据删除】了!

T3,打没有操作 1 部分分,期望得分 15 分,小图灵 5 分,洛谷未知。

T4,不会,忘了怎么写了,反正乱搞,期望得分 0 分,样例没过。

期望得分 100+0+15+0=115,二等。

小图灵 20+0+5+0=25,洛谷 [0,100]+[0,100]+[0,100]+[0,100]=[0,400]

Day 1 night

用小图灵估了分。

Day 9 night

官方数据成绩:J 90+60+50+5=205,S 10+0+5+0=15qwq,我弱啊……

posted @   beautiful_chicken233  阅读(82)  评论(3编辑  收藏  举报
相关博文:
阅读排行:
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效
点击右上角即可分享
微信分享提示