社区讨论

CSP-J 2023模拟参加总结

学术版参与者 4已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@m1ud31c0
此快照首次捕获于
2024/10/04 14:45
去年
此快照最后确认于
2024/10/04 14:58
去年
查看原帖

CSP-J 2023模拟参加总结

大佬勿入,可能笑死 (此处指Liyunze123)
今天总结一下自己上午打的一组真题。

CSP-J 2023各题链接:

比赛结果

205分 100 100 0 5
代码:
T1
CPP
#include<bits/stdc++.h>
using namespace std;
int n,ans;
int main()
{
	cin >> n;
	int j;
	for(j = 0; n; j++)
	{
		if(n%3==1&&ans==0)ans = j+1;
		n -= (n+2)/3;
	}
	cout << j << " " << ans << endl;
	return 0;
}
T2
CPP
#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll d[100009], c[100009], w[100009], ans;
int n,k;
int main()
{
	cin >> n >> k;
	for(int i = 1; i < n; i++)
	{
		cin >> d[i];
		d[i]+=d[i-1];
	}
	for(int i = 0; i < n; i++)
	{
		cin >> c[i];
	}
	w[0]=0;
	int i,j;
	for(i = 0, j = 1; i < n-1; i++)
	{
		if(c[i] < c[w[j-1]])w[j++]=i;
	}
	w[j]=n-1;
	for(ll i = 0, rem = 0; i < j; i++)
	{
		ll pt1 = (d[w[i]]+k-1)/k*k, pt2 = (d[w[i+1]]+k-1)/k*k;
		ans += c[w[i]]*(pt2-pt1)/k;
	}
	cout << ans;
	return 0;
}

做题过程

做第一题。做着做着发现这题不可以模拟,思路卡崩了(不应该),就去做第二题了。第二题思路蛮简单,调试了一个小时,终于想清楚公式(不应该x2)。拿起被遗弃的草稿纸,画一画就来了一个大灯泡(doge)。思路想复杂了费时间啊啊啊啊!!!
卡崩的第一题也来了个大灯泡砸我脑袋上。模拟结束前几秒钟提交AC。。。
还有第三题我花费了大量的精力,代码bug里说爆零,听取WA声一片
打脸,不应该

经验

大佬或萌新勿完全照抄,可借鉴,要不然万一考场上被坑了,概不负责。。。
不管哪道题先用草稿纸啊啊啊啊!!!不用草稿纸思路永远错啊啊啊啊!!!

T1永远是简单但是坑多的题目。

做题先找坑,找不到就是已经在里面了。CCF永远不出完全送分题……

T2难说

有的时候简单(跟T1差不多),有的时候纸老虎(一套模拟题,T3 AC了(扫描线),T2没AC),不太会真的♂。万一碰上了可以当T3做。。。

T3T4,挑软柿子捏

如果没有也不用气馁,因为可能有纸老虎(吓唬小孩儿用的)。可能的纸老虎是简单DP,不过对我来说还真是老虎(快则10分钟,那是2008年真题,没法儿比;慢则在家里3小时熬夜调不出来)。做题之前想好时间,要留下至少20分钟检查。

等我的T1T2题解吧。666

[我的个人主页]
祝读者们AK想要AK的比赛,拿到想要拿到的分数。

回复

3 条回复,欢迎继续交流。

正在加载回复...