【CSP-J】系列 3级备考
2026-07-06 15:25:52
发布于:浙江
此帖已完结 最后
眼前你看到的是题关于进制转换的题目,我将要在前尽可能完成它们,并在那天举办的中拿到分的成绩。
其实并没有,大概 左右这样子(这是在给级备考埋坑吗?),然而并没有级备考。
6.14
说实话感觉用那个S就拿分的豆包写了板子后理解了许多,这四题也比较轻松了,把板子挂在主页了。
不是只会题,而是清一色的转换()()(),下周再来更。
6.15
切题。对于板子也是越来越熟悉了,明天信息课高低要给同学装一波。
6.16
中午信息课
就切了题,我好拉,不过学校的键盘真的很难用。
晚上
写了个P1604,但为什么是高精加,算了,以后把这个也学下。
现在我们的进度已到 ,离做完指日可待,但是好像剩下的都不太友好的样子。
6.17
负整数的进制好玩,被卡了好几次。

6.18
6.20
要加油了,最近没复习,明天补一下。
好难,不过我 竟然吃了发罚时,我好菜。
6.21
放假的最后一天,我决定开始做级编程原题和选择判断。
B4500
B4016 这个我要写一下
B3843 这个从早卡到晚
B4016
爆搜一下直径,再输出长度,详细的解释看代码。
#include <iostream>
#include <vector>
#include <cstring>
#include <queue>
using namespace std;
const long long maxn=100005;
vector<int> g[100005];//邻接表
int dis[maxn];//起点到x的边数
int n;//总结点
int bfs(int x)//返回离x最远的点
{
memset(dis,-1,sizeof dis);//设置为未访问
queue<int> qu;
qu.push(x);//开始广搜
int s=x;//记录最远点
dis[x]=0;//起点与自己距离为0
while(!qu.empty())
{
int u=qu.front();//取每个点
qu.pop();
for(int v:g[u])//遍历邻居
{
if(dis[v]==-1)//没走过
{
dis[v]=dis[u]+1;//到u的距离加1(到dis[v]的距离)
qu.push(v);//遍历v的邻居
if(dis[v]>dis[s]) s=v;//打擂
}
}
}
return s;//返回最远点
}
int main()
{
cin>>n;
for(int i = 1;i<n;i++)//n-1条边
{
int u, v;
cin>>u>>v;
g[u].push_back(v);
g[v].push_back(u);//双向储存
}
int p=bfs(1);//直径一端
int q=bfs(p);//p-q为直径
cout<<dis[q];//起点到直径的边数
}
B3843
这个条件要判断的也太多了吧!!!

功夫不负有心人。
6.21
6.22
B4004 这个考场遇到容易急
B4358 综合题,可以用来复习进制转换
B4413 模拟,但是挺有趣
!!!级还有神秘的字符串?!!!
6.23

争取上橙,也算小学OI的一个句号吧。
17:04
今天不知道做啥,先写作业。
P3912
20:29
没用编译器测,一次,一次,位运算要加油,明天补完。
又测了的,完蛋了。
6.24
模拟考语文炸了,分卡线呜呜呜,数学我们班竟然有个一百(你敢信7个里起码有3个平时水平在85-90分)
总分大概就是吧,不知道多少,但前十大概能卡线/我好拉/我好拉
模拟又测了完蛋了啊啊啊
6.25
明天小升初考试了,先复习了。
6.26
语文英语还行,数学炸了,解决问题错了加选择错了。
测了,明天加油吧。
6.27
写了游记。
这次的编程简单,但是选择判断难死了,复习的进制转换基本没用上。
6.28
现在错了题,希望能卡线。
6.29
我橙名了。

写了单源最短路。
#include <iostream>
#include <vector>//使用vector
#include <climits>//使用INT_MAX
#include <queue>//使用优先队列
using namespace syh;
vector<pair<int,int>> g[10005];//用于存图
int dis[10005];//存最短路
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n, m, s;
cin>>n>>m>>s;
for(int i = 1;i<=n;i++) dis[i]=INT_MAX;
dis[s]=0;
for(int i = 1;i<=m;i++)//建图
{
int u, v, w;
cin>>u>>v>>w;
g[u].emplace_back(v,w);
}
priority_queue<pair<int,int>,vector<pair<int,int>>,greater<pair<int,int>>> h;//用于储存权重
h.emplace(0,s);
while(!h.empty())//只要优先队列里还有元素就一直循环
{
int d=h.top().first;
int u=h.top().second;
h.pop();
if(d>dis[u]) continue;
for(auto &e:g[u])
{
int v=e.first;
int w=e.second;
if(dis[v]>dis[u]+w&&dis[u]!=INT_MAX)//更优的路线权重
{
dis[v]=dis[u]+w;//更新
h.emplace(dis[v],v);//将更新的最短路加入优先队列
}
}
}
for(int i = 1;i<=n;i++) cout<<dis[i]<<" ";
}
6.30
P3366 MST板子
总结
这个月过的还是比较充实的,虽然说结果不是很尽人意,但是在途中我们也收获了欢笑、快乐,那就让以上的这些记录,与我的小学生涯一起封存在童年里吧,加油,一起朝着月迈进。
全部评论 11
- 置顶
题单里都是进制转换。
2026-06-13 来自 浙江
1 选择加判断 40pts你加啥油 /fn
2026-06-22 来自 上海
2我准备跳级
2026-06-23 来自 浙江
0如果这样不太保险
2026-06-23 来自 浙江
0五级很难的
2026-06-23 来自 上海
0
老师和监控看不到的地方随便用,反正我是这样的(((
2026-06-25 来自 上海
1+1
2026-06-30 来自 四川
0
进制转换实际上挺简单的
2026-06-13 来自 上海
1现在被六级的背包大炮搞怕了(
2026-06-13 来自 上海
1为什么我觉得对我而言dp比进制转换更难?
2026-06-13 来自 浙江
0对啊
2026-06-13 来自 上海
0
其实吧,我当时我考的时候旁边有一个人他在用本地的那个编程软件做选择和判断,然后呢,我当时特别想告诉他的还是存心不忍,然后自己拿那个DEV
做了判断2026-06-30 来自 四川
0你怎么也橙了
2026-06-29 来自 上海
0我还差 15 呜呜呜
2026-06-29 来自 上海
0加油加油,我纯入门赛苟分上的
2026-06-30 来自 浙江
0我也入门赛啊
2026-06-30 来自 上海
0
1111
2026-06-26 来自 浙江
0助播关注我锣鼓呗
2026-06-26 来自 上海
01
2026-06-24 来自 浙江
0进制的题好像还是我在去北京的火车上刷完的
2026-06-13 来自 浙江
0%
2026-06-13 来自 浙江
0之前课不听现在追悔莫及了啊
2026-06-13 来自 浙江
0
我好弱弱。
2026-06-13 来自 浙江
0



































有帮助,赞一个