CSP-J 2026 复赛真题解析及福建省分数线预测
- 2026-11-03 01:12:26
CSP-J 2026 复赛真题解析及福建省分数线预测
整体难度:红、橙、黄、黄
T1 旅游 travel
难度:★
考察知识点: 字符串处理、模拟、多条件顺序判断
解题思路:依次判断同车厢、同排、过道同侧、座位相邻四层条件,利用字符编码快速判断座位是否相邻。
#include<bits/stdc++.h>using namespace std;string c1,s1,c2,s2;intcheck(char c){return c<='C';}intmain(){cin>>c1>>s1>>c2>>s2;bool f1=c1==c2;bool f2=f1&&s1.substr(0,2)==s2.substr(0,2);bool f3=f2&&check(s1[2])==check(s2[2]);bool f4=f3&&abs(s1[2]-s2[2])+check(s1[2])==2;cout<<f1<<f2<<f3<<f4;return 0;}
T2 回文串 string
难度:★★
考察知识点:
双指针、贪心、模拟
解题思路:双指针从左右两端向内扫描,每次消耗掉两端较小数量的字符,字符颜色不同时累加答案,直到两指针相遇。
#include<bits/stdc++.h>using namespace std;const int N = 500010;int n;long long ans;int a[N];char c[N];intmain(){cin>>n;for (int i=1;i<=n;++i) cin>>a[i]>>c[i];ans=0;int i=1,j=n;while (i<j){int mn=min(a[i],a[j]);a[i]-=mn,a[j]-=mn;if (c[i]!=c[j]) ans+=mn;if (!a[i]) i++;if (!a[j]) j--;}cout<<ans;return 0;}
T3 按位与 and
难度:★★☆
考察知识点:
位运算、贪心、二进制拆位
解题思路:从高位到低位枚举二进制位,尝试把当前位设为 1,统计满足条件的数字数量,数量≥m 则保留该位构造最大答案。
#include<bits/stdc++.h>using namespace std;const int N=200010;int n,m;long long ans,tmp;int a[N];intmain(){scanf("%d%d",&n,&m);for (int i=1;i<=n;++i) scanf("%d",&a[i]);ans=0;for (int x=29;x>=0;--x){tmp=ans|(1<<x);int cnt=0;for (int i=1;i<=n;++i){if((a[i]&tmp)==tmp) cnt++;}if (cnt>=m) ans=tmp;}printf("%lld",ans);return 0;}
T4 纸牌 card
难度:★★★★
考察知识点:
递推、预处理、计数
解题思路:预处理每个数字最后出现位置与计数,遍历数组,若当前位置是该数字最后出现位置,则把当前数字计数累加到下一个数字上,最终输出各点数答案。
#include<bits/stdc++.h>using namespace std;const int N=500010;int n,m;int a[N],lst[N],cnt[N];intmain(){scanf("%d%d",&n,&m);for(int i=1;i<=n;++i) scanf("%d",&a[i]);for(int i=1;i<=n;++i){lst[a[i]]=i;cnt[a[i]]++;}for(int i=1;i<n;++i){if(lst[a[i]]==i) cnt[a[i+1]]+=cnt[a[i]];}for(int i=1;i<=m;++i) printf("%d ",cnt[i]);return 0;}
福建省复赛分数线预测
结合今年试题难度、分段数据,暂作以下预测:
| 265 分 | ||
| 200 分 | ||
| 135 分 |
今年试题中,T1、T2、T4 难度较上一年有所提升;T3 是经典二进制贪心题型,整套试卷难度梯度清晰分明。
从分数线影响来看,T2、T3 的实际得分率会对省一分数线起到关键作用,T4 则承担高分段选手的区分功能。
说明:以上仅为赛后的初步预判,不等同于 CCF 官方划定分数线。配套题解代码已在民间测试数据下验证通过,最终成绩请以 CCF 官方数据评测结果为准。
本文来自网友投稿或网络内容,如有侵犯您的权益请联系我们删除,联系邮箱:wyl860211@qq.com 。