- 博客(45)
- 收藏
- 关注
原创 从0开始毕设:基于springboot和vue的系统搭建
网上的教程很多,遇到不会的步骤可以多搜搜,安装软件耗时一天,继续加油记录。数据库:navicat,mysql。前端:webstrom。
2024-03-27 14:54:17
108
原创 CSP记录,202006-1线性分类器
或者下方是A,上方是B,因此计算sumA,sumB的数量,只有二者之和等于n,或者等于0时才是被完美的分隔了。if(p[i].c+p[i].a*p[j].x+p[i].b*p[j].y<0&&p[j].type=='B'){//B点在直线下面。if(p[i].c+p[i].a*p[j].x+p[i].b*p[j].y>0&&p[j].type=='A'){//A点在直线上面。我之前一直输出的是YES,NO,改错改了一个小时,发现是输出问题!
2023-12-10 11:11:55
465
原创 CSP记录,202305-1重复局面
(2)接上条,在c++中比较两字符串s1,s2,可直接使用==,例如if(s1==s2)题目中所用也是这一种,也可以使用compare函数,例如s1.compare(s2),如果两字符串相等的话返回0.1、首先在这题比较两个局面是否相同时,我使用的方法是比较字符串,一个局面有8条字符串(就是8行的意思),设置arr[j][i],j代表是第几个局面,i代表是第j个局面中的第i行字符串。i++){//输入8行8列一个局面。j++){//n个8行8列。//s已经是字符串了。
2023-12-09 19:12:49
723
原创 CSP记录,202303-1田地丈量
因为是在第一象限,首先需要确定,length,width都大于0,在输入的时候就直接计算它的面积,利用max函数和min函数。
2023-12-09 15:52:09
350
原创 CSP记录,202212-1现值计算
将第一年现值的钱数存储至nowmoney,然后遍历循环将以后每一年的钱数都换算为第一年。//未来某一年的钱数推算为当前年的多少。//当前年的收入或支出钱数。int money;//收入或支出的钱数。ps:求a的b次方函数:pow(a,b).
2023-12-09 14:28:30
364
原创 CSP记录,202209-1如此编码
根据题目所示逻辑,先确立c数组的各个值,再根据求余操作求b,在这道题为了节省时间,减少数组的使用,所以使用了结构体。//表示每道题的正确选项。//每道题的选项数目。//表示a的前缀编码。
2023-12-09 13:42:51
361
原创 CSP记录,202206-1归一化处理
思路:按照题目所给逻辑,进行数学运算就可以,需要注意的是当在进行double类型运算的时候,它涉及的所有类型都要是double型。
2023-12-08 22:33:15
368
原创 CSP思路,202203-1初始化警告
思路:解题思路不难,就是刚开始设置了两个数组,运行会超时,只有六十分,因此考虑砍掉一个数组,减少运行时间,初始arr的所有值为0,arr[x]=x,如果y在之前出现过,那么arr[y]就不会等于0,此时sum++//先输入第一组数据,arr[x]此时的值为第一个x。//会超时,少开数组。
2023-12-08 21:34:56
454
原创 CSP记录,202112-1序列查询
创建结构体,将物品的价格和编号封装起来,便于查找。按题目所叙述的两种情况给f数组赋值,提交代码运行显示超时只有50分,尝试再次利用题目中所给提示进行修改,还是50。
2023-12-08 17:05:08
355
原创 CSP记录,202109-1数组推导
题目设置为数组b单调不减,因此每次最新的i值就是最大的数,考虑做法比较简单,只需要考虑大于和等于两种情况。//存放最小可能的取值。//存放最大可能的取值。
2023-12-08 15:40:58
349
原创 CSP记录,202009-1称检测点查询
思路:利用结构体,封装距每个监测点的距离,监测点编号以及坐标,利用冒泡排序从小到大排列,取前三个编号。//冒泡从小到大排序。
2023-12-08 14:45:56
396
原创 CSP记录,2010909-1小明种苹果
思路:设置两个数组分别用来存放打落果子的数量和未操作之前每颗苹果树的总数,进行遍历加减操作取最大值,当两数相同时取最小的编号利用min函数实现。//记录每棵树疏果前的个数。//记录每颗树的疏果个数。//输出最后一轮操作后的苹果总数。//计算每一棵树的疏果个数。
2023-12-07 17:22:24
317
原创 CSP思路,2010903-1小中大
思路:题目是不难的,就是寻找一组数据的最大值,最小值和中位数,需要注意的是在找中位数时要注意是否需要保留小数,这里用到fixed<<setprecision(n)函数表示保留到小数点后n位。还有就是再求最大值最小值时最好初始化第一个数为数组的第一个数,不然边界开的太小会边界错误,(一直95分就是因为最大值的边界不达标,后续改了就好了),还有就是当一个数据类型是float型时,他运算的式子所有都要是float型,防止出错。//当是奇数时输出整数。
2023-12-07 16:05:17
490
原创 CSP记录,201812-1小明上学
if(arr[i][1]==0||arr[i][1]==1){//通过此段路的时间或者需要等红灯的时间。//如果是黄灯,还需要额外等个红灯的时间。思路:遍历循环,按照题目所要求条件,分情况讨论,只是题目给的看着复杂了一点,其实考的东西不复杂。//如果是绿灯,不需要等。//存储经过的路段消息。int sum=0;//所要耗费的总时间。
2023-12-07 14:36:01
419
原创 CSP记录,201809-1卖菜
设置两个数组分别存放第一天和第二天菜价,根据if条件语句判断首尾情况。//表示第二天的买菜价格。//表示第一天的卖菜价格。//输出第二天的卖菜价格。
2023-12-07 12:17:27
340
原创 CSP记录,201803-1跳一跳
3、设置一个数组arr存放给出的测试用例每步的结果,是0,1或者2,遍历数组,当初始为2时即跳到了中心,设置num=1;代表这是第一次跳到中心,后续连续跳到中心,num++,如果是跳上去但没跳到中心的情况score[i]=1就可以,一直遍历,当遍历到0时跳出循环。2、设置一个score数组来存放每一步跳一跳的分数,然后最后遍历求score的和就可以。//表示每一步所得的分数。//出现跳到中心的次数。//表示输入的跳一跳数据。//判断每一步所得分数。
2023-12-07 12:05:59
291
原创 CSP思路,201703-2学生排队
2、紧接着遍历寻找指令中的学号与初始队列中学号相同的同学,找到让他出队,然后当p>0时往后移动,在这里我考虑的是每次都和相邻同学换位,一共需要换p次,就可以达到插入的效果,换完一次后j++,(意思是:例如第一次循环是第二名和第三名换,j++之后就是第三名和第四名换)。k++){//需要相邻交换arr[i][2]次。if(arr[i][1]==stunum[j]){//首先根据学号找到需要出队的学生。1、首先定义一个stunum数组,存放初始及每一次变化后的学生学号,利用for循环二元数组输入指令数据。
2023-12-06 14:37:15
1454
原创 CSP记录,201712-1最小差值
思路:循环遍历利用abs函数求绝对值,利用min函数求最小值,初始化ans为1<<30代表将他设为无限大(2的30次方)。
2023-12-06 13:13:53
341
原创 CSP思路,201609-2火车购票
1、首先考虑遍历过程中可以找到相邻座位的情况,建立bool数组,初始化为false证明100个位子还都没有人选,依次遍历顾客发布的购票指令p,当bool为false时sum++,代表这一个座位可以暂时锁住(还不能变为true呢,因为如果你要遍历这一排五个座位后发现sum的值达不到,就需要去下一排重新找相邻的空位,之前锁的座位就是空位),所以当sum==购票指令要求的张数时,再利用一个小循环锁定之前遍历过sum相加的位子。输入:输入按照for循环输入一个数组。
2023-12-05 20:58:37
1359
原创 CSP思路,201612-2工资计算
思路:判断条件,进行反向数学运算,t需要加上前一阶段需要交付的税钱,然后除去(1-税率),再加上此阶段之前的金额。
2023-12-05 18:37:38
469
原创 CSP记录,201612-1中间数
这道题我是建立了两个数组,smaller和bigger分别存放比数字大或者小的个数,然后再遍历比较smaller和bigger的个数,相等输出arr[i],否则输出-1。
2023-12-05 18:03:59
327
原创 CSP思路,201604-2俄罗斯方块
解题:我思考的是,模拟俄罗斯方块的下落过程,将下落方块从下到上遍历,每次遍历到值为1(既有方块的时候)根据此时的i,j修改方格图中的坐标,首先需要判断方格图中的条件,如果是0,则改为1,如果是1(已经有方块了)则方格图再往上一行继续遍历,完成后输出就可以。缺陷:提交代码测评只有10分,我感觉应该是程序中下落的俄罗斯方块没有连成一个整体,反而像是填沙子那种有空隙就可以往下落,在考虑可不可以加结构体,目前先记录到这。//保存初始下落列数。
2023-12-05 13:26:16
351
原创 CSP记录,201609-1最大波动
思路:利用for循环依次计算相邻两个数的差值,并进行取abs()绝对值运算,利用max循环取最大值,输出。int num=0;
2023-12-05 12:08:57
377
原创 CSP思路分析,201512-2消除类游戏
1、因为要对横向,纵向分别将出现大于三次的数值消除(颜色编号置为0),所以当我们达到次数大于3时,不能直接将原数组中的数字置为0,因为后面还可能出现第四次也要消去,如果前三次就已经置为0的话,第四至n次无法比较,因此需要设立一个数组arr2,将初始值置利用memset函数置为true,把需要置0的坐标存入arr2,且设为false。4、输出,遍历循环,当arr2为false时将arr1置为0,其余数字正常输出。3、纵向比较,和横向代码相似。输入:采用for循环遍历二元数组输入。
2023-12-04 19:02:52
1016
原创 CSP记录,201509-2日期计算
思路:首先判断是否为闰年,确定二月份的天数,然后设立一个sum数组存放每个月份天数的相加和,设立flag为结束循环标志。但是测评只有30分,可能是边界出了问题?
2023-12-03 20:23:51
345
1
原创 CSP记录,201509-1数列分段
ps:特别注意一点,当arr[i],与arr[i+1]比较时,要注意输入最后一位数字的运算,因为对于数组arr来说,没有分配的空间默认数值为0,这样当我们输入的数字最后一位为0的时候就会少计入一个数段,解决办法在bool中置false的时候令b[i+1]=false;就不会因为机器初始化的问题计算失败。思路拆解:设置bool数组,遍历循环,当和相邻的数字相同时,将除了第一个数字以外相同的数字都置为false,以此类推,只有符合条件bool为true的时候ans++,得到的就是序列段的数量。
2023-12-03 16:27:25
404
1
原创 CSP思路分析,201503-2数字排序
4、对已经排序好的数组进行去重处理,在这里设置了一个bool型数组,初始化所有值为true,for循环遍历,当两个数相等时,设置=号右边的数值为false,这样就可以将所有与第一次出现的数据相同的数置为false,达到去重的目的。1、对输入的每个数字判断它出现的次数ans,为了方便后续的排序,所以定义一个结构体数组number【1001】,将数字本身num,以及数字出现的次数times封装起来。//依次找出每个数字出现的次数。//依据出现的次数进行排序。//当出现次数相同时优先排数值小的。
2023-12-03 13:15:27
514
1
原创 CSP思路分析,201403-2窗口
3、因为鼠标点击窗口后就要把这个点击的矩形设为最高优先级,所以我们需要遍历点击的这个矩形,重新将他的每个值设为他的序号(即他本来是第几个矩形),但是因为现在已经在鼠标点击的步骤,不好获取之前窗口矩形的坐标,所以我们考虑设置结构体,将窗口序号和窗口的矩形坐标联系封装起来,这样就可以在设置最高优先级的时候,根据窗口序号即i,找到对应的窗口坐标。4、最后因为我们之前把涉及到的窗口矩形都设置了值,所以当arr[x][y]不为空的时候,就输出序号,当为空的时候,就代表鼠标点击未落在窗口矩形内,输出IGNORED。
2023-12-02 16:25:38
982
原创 CSP记录,201412-1门禁系统
思路拆解:其实还是要依次遍历循环,遍历到某个数时和之前的数进行比较,如果出现过就ans++,最后依次输出ans就可以了。
2023-12-02 14:29:22
343
原创 CSP记录,201409-02画图
解答:设置一个bool二元数组,初始将所有的值置为false,即代表这个false的单元面积还没有被遍历到,还没有加上它。然后依据两层嵌套循环依次遍历,遍历一个单元面积,执行语句sum++,并且将arr[i][j]的值改为true,表示已经加过此单位面积,防止后续遍历时重复相加。//将arr数组中的所有值置为false。输入:采用for循环依次输入x1,y1,x2,y2。
2023-12-01 16:17:31
315
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人