还有一个星期就CSP-J了,加油~

做个CSP-J 2021~

在线

洛谷有题

选择

第5题

A选项:a入;a出;b入;b出...
B选项:a入;b入;...e出,d出...
C选项:a入;b入;b出;a出;c入;c出;d入;d出;e入;e出
D选项:a入;b入;c入;c出;d入;d出;a不可能出来,故此项错误

第6题

二叉树没有回路

第8题

画出来就可以了,好像没有现成的公式可以套用~(滑稽)

第9题

后缀表达式的特点是运算符在运算量的后面;运算符已经体现了正确的运算顺序。
中缀表达式(我们日常生活中的)a + b c的后缀表达式是a b c +

第11题

1 1 2 2 3 排列
1 1 2
1 1 3
1 2 1
1 2 2
1 2 3
1 3 2
1 3 1
2 1 3
2 1 1
2 2 1
2 2 3
3 1 1
3 1 2
...
我晕死了...
其实可以这么算:
1 1 2(3种)
1 1 3(3种)
1 2 2(3)
1 2 3(3)
2 2 3(3)

第13题

在纸上做做不就好了?

第14题

同上一题,只需画图,深搜、宽搜看看就是:

 title=

第15题

​策略1:让快的人送慢的人过河 然后快的人划船回来 可以节省回来的时间

​策略2:让两个慢的人一起过河 这样整体来说可能会节省一些时间

(参考)[https://blog.csdn.net/qq_23109971/article/details/120417383/]

程序阅读

第一题

损题!!!

解释

F函数

&=是位运算的且,会把第一个和第二个各转换为二进制,再对每一位进行且运算...

多试几次就会发现一个十分神奇的规律:它会返回这个数转为二进制中有几个1!!

G函数

这个“x & -x”叫“LOWBIT”,它会返回这个数转为二进制后右起的第一个一和后面的零。

00000110

&11111010

00000010

这是它的原理

题目

自己算一算~(题目:算死你!)

第二题

和第一题一样损!!!

解释

table里是A-Z+a-z+0-9在base中的下标。

题目

没看懂...


如何在C++中进行进制转换?本文将在不使用现成函数的情况下完成这个(并不艰巨)的任务。

先抛洛谷链接:P1143

进入正题

做到N进制转X进制,肯定是把N进制数转到10进制再转到X进制,相当于是吧10进制当了一个桥梁的~

N进制转换10进制

按权展开:

只需要将N进制的每一个数字(字母)乘N的位权次方就可以了,位权是这个数后面有几个数~

10进制转X进制

我们只需用简单的短除法就可以完成这个(简单?)的任务:
 title=

这个图展示了用短除法求10的2进制的方法。

只需用C++做个简单的虚拟即可。需要注意的是短除法是倒着取,所以要把余数一个个pushstack里面,再一个个toppop出来!这个问题我查了半天!!!

代码

需要注意的是,C++cmath头里的pow(求的是次方)(似乎)不支持0次方,所以我们要自己判断一下。

#include
#include
#include
using namespace std;
int toto(char i) {
if (i >= 'A') return i - 'A' + 10;
if (i >= '0') return i - '0';
}
char outout(int i) {
if (i > 9) return i - 10 + 'A';
return i + '0';
}
int main() {
ios::sync\_with\_stdio(false);
cin.tie(nullptr);
stack sk;
int to, as;
string st;
long long a = 0;
double from;
cin >> from >> st;
as = st.size();
for (int i = 0; i < as; i++) a += (as - i - 1 ? pow(from, as - i - 1) : 1) \* toto(st[i]);
cin >> to;
while (a) {
sk.push(outout(a % to));
a /= to;
}
while (!sk.empty()) {
cout << sk.top();
sk.pop();
}
return 0;
}

写了两个简单的辅助函数totooutout来格式化输入/输出。


昨天晚上睡得香香的,贵的酒店就是不一样~早上去餐厅吃早饭,验票之后拿盘子、筷子,早饭非常丰盛,有茶叶蛋、酸奶、水果...

吃的饱饱的出来,上路了!

我们到“无锡融创雪世界”换了衣服,开始滑雪咯!炎炎夏日也能享受到冬天的乐趣。

刚开始有一点害怕,多滑几遍就好了。

芜湖(感叹词)!!

视频

玩累了可以到下面的冰世界玩玩雪橇、冰滑梯;欣赏一下北国冰雕:

时间到了,去吃饭了(雪世界就在商场里面),买了个鸡蛋仔仔,又点了松鼠桂鱼鲈鱼(点不到桂鱼)、沙雕花雕鸡以及杭三鲜,太美味了,新用户还送了一杯饮料!

 title=

启程回家了!

 title=

城阙辅三秦 烽烟望五津

与君离别意 同是宦游人

海内存知己 天涯若比邻

无为在歧路 儿女共沾巾

—— 《送杜少府之任蜀川》 王勃


今天上午八点不到我就醒了,主要是爸爸的呼噜声太大了…然后我们下楼采了个核酸,逛了一圈回来发现没什么吃的早饭,就到超市去买了两小面包和一个蘑菇青菜包、一个南瓜包,还真别说,青菜蘑菇包的味道真是不错!

然后启程去灵山大佛,一个小时的车程中,我们还经过了一条10km的太湖隧道,这个隧道上面可能是怕我们无聊,还配备了几块LED灯带,上面显示出海浪,云朵等。无锡真有钱啊! !!千万不要走这条隧道,详见文末 到了后,查验健康码,行程码,就被拉过去受“特别待遇”——我们是南京来的…一番签字,拍照片之后,我们才进去。

赶上了一个表演,讲的是印度的释迦牟尼出生的故事,但是外面太晒了,我们只好躲在便利店的小棚子下面观看。

 title=

过了一会儿,我们到了梵宫,这里面还要穿鞋套,不过建筑还挺精美的:

 title=

这里有我的生肖:虎。

 title=

我们去看了一下《吉祥颂》,360度的,还会降下来,有真人表演。

 title= title=

这个素斋也很不错,有凉面,凉皮,无锡豆腐干以及十块钱六个的(还是)青菜包子。豆腐干和包子十分好吃,包子我还买了15块钱,也就是九个,全吃完了~

 title=

这两个名字忘了的宫殿也挺好看,适合拍照!

 title= title=

Oh Oh 终于到大佛了,因为天太热我们没爬上去,远观…

 title=

五分钟到拈花湾,取卡,坐车,入园,妙妙妙!

在管家的帮助下安顿完行李,买了块正新鸡排,出来逛逛~

 title=

晚上演出也还不错,还有无人机表演呢!

 title=

最后我们去吃了烧烤,还有龙虾呢!

回了酒店,一查上午过路费50多元,一个小时不到这么多钱?打电话问了才知道,太湖隧道要45元,某度地图还不显示!大家千万不要走太湖隧道!!(家里有矿的请忽略)


今天我又出来玩了~这次响应号召在省内旅游。早上九点半启程,十二点到,今天天上的云还挺好看的!

 title=

开车路过太湖:

 title=

一分钟入住酒店,下楼又来了杯蜜雪冰城的草莓奶昔和华莱士的辣辣套餐(辣死了!再也不吃了!)

 title=

然后我们打车去了三国/水浒城,这里还是中央电视台无锡基地呢!

他有一个十分大气的门头:

 title=

一进门,你会看到一个桃园,里面有各国的军队石象和刘关张三结义的小屋(茅草):

 title=

过了一会儿,我们去了诸葛亮的茅草屋,看看能不能拜见一下他……

 title=

还真看到了,他在弹琴呢:

 title=

诸葛亮的居住环境真不错,屋外一片竹林呢

 title=

我们又破解了诸葛亮设下的八卦阵:

 title=

这里还有操吴两营的水寨,原来这么廉价就可以拍出那么高大上的样子!

 title=

三国城玩的差不多了,我们去水浒城康康!

到租衣服的商店蹭空调+白嫖水之后,赶上了擂台表演,看起来挺真的,其实双方离好远呢!!!配音也是提前录好的。

 title=

我们又到太湖边拍了几张照片:

 title=

四点钟了,去看《三英战吕布》了~

是非常精彩的一个演出,骑得是真的马🐴,还可以付钱(20人民币)去骑马一圈。

 title=

晚上去吃了个张亮麻辣烫,菌菇汤底超yummy,我吃了个底朝天。「此处使用了夸张的修辞手法,还有汤呢!」

PS:南京爆出一例新冠核酸阳性,我们不会被拉回去/被隔离吧…