CSP-J复赛模拟赛5赛后补题报告

博主参加了2023年10月1日的CSP-J复赛模拟赛,比赛中遇到四道题目,分别涉及字符串匹配、乘法算法、前缀和去重求和及点集操作。第一题和第二题在赛中完成,第三题和第四题赛中未解,赛后补题完成。总结中强调了比赛中思考的重要性,以及避免因失误和分心导致的扣分。
摘要由CSDN通过智能技术生成

日期:2023年10月1日星期日

学号:S07731 
姓名:魏仲毅 

1.比赛概况: 

     比赛总分共4题,满分400。
     赛时拿到130分,其中第一题100分,第二题30分,第三题0分,第四题0分。 

2.比赛过程: 

    先想出第一题的思路,觉得第一题很简单,就把第一题写了。

    第二题也很简单,但思路有一点问题(先加再乘,不是先乘再加)。

    第三题用了前缀和来写,但是没有操作好桶与前缀和数组的关系。
    
    第四题直接输出了一个样例,命运已经注定。

3.题解报告: 

(每题下分重点,情况,题意,赛时想法,题解,AC代码。)

(1) 第一题:重复判断(repeat)

        重点: 模拟。
        情况:赛中AC(第一道AC,好棒)。
        题意:小可需要判断一个字符串a,是否由另一个字符串b重复若干次得到的。
        赛时本题做题想法:特判长度,模拟重复s2,判断是不是s1。
        题解:考察基础的字符串匹配,j表示当前匹配到b字符串的第j位。i表示当前匹配到a字符串的第i位,两两比较,如果t=t.size()等于 ,说明一遍已经复制完了,从零开始重新匹配(题解中用取模表示这一效果)。
我的AC 代码:

#include<bits/stdc++.h>
using namespace std;
string s1,s2;
int main(){
	//freopen("repeat.in","r",stdin);
	//freopen("repeat.out","w",stdout);
	int t;
	cin>>t;
	while(t--){
		cin>>s1>>s2;
		if(s1.size()%s2.size()!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值