- 博客(22)
- 收藏
- 关注
原创 csp 202206-1 归一化处理 && 202206-2寻宝!大冒险!
两个图,一个是绿化图A,[L+1][L+1] 的,记录了n棵树,但输入只提供了n棵树的坐标。藏宝图B,[S+1][S+1],矩阵,树为1,其余为0,B的左下角必有一棵树。需要平均值,方差,以及归一处理,后两个操作都用到了数据 - 均值,就把这个值存起来了,不存应该也可以。如果不是非常麻烦的话不用想着弄到最简,稍微麻烦一些也是可以的,对于计算机来说,50*50的矩阵遍历不是什么问题。所有的数据S
2024-03-27 21:11:17
379
原创 csp 202209-1 如此编码 && 202209-2 何以包邮?
使用数组,存储金额的组合,把每种都存储起来,每次判断一本新书的时候,就把前面已有的金额都便利一遍,为了减少开支,大于最小值的金额就不再存储,剪枝操作,减少一点开支。改进,已经进行了剪枝,再进一步改进内存的话,就是不存储重复值,其实一开始就想用map,但是map会自动排序,一旦加入新值后,没办法保证,加入之前的所有值,都被遍历到。n个题目,每个题目有a个选项,答案是b,根据题目给的方法,老师对n个题目的答案进行了编码,编码结果为m,给出n,m,a,求出b。根据题目的公式,以及提示,求出c,然后依次求出b。
2024-03-26 22:14:33
548
原创 csp 202212-1 现值计算 && 202212-2 训练计划
n天训练m个科目,有的科目没有依赖项目,有的科目会有一个编号小于自己的依赖科目。对每个科目进行计算,最早开始时间和最晚开始时间,当m个科目没办法在n天完成时,只需计算最早开始时间即可。对于有依赖关系的可以一起运算,依赖关系的最后一个的最晚开始时间 - 1,就是被依赖方的最晚结束时间,通过计算可以得出被依赖项的最晚开始时间。从头扫描,没有依赖的就是1,有依赖的就是依赖项目的开始时间 + 训练时间。当年指出,往后每年有一定收入,将未来的收入换算成当前的价值,计算总收益。根据题目的公式,计算即可。
2024-03-25 21:41:56
254
原创 csp 22-03-1 未初始化警告 &2 出行计划
t1 + k <= t0, t0 - (t1 + k) < c0,即到达该场所时,报告已经生效,且此时生效的时间小于场所的要求有效时间。之前我们是以核算报告的角度考虑,看每个场所能否进入,这次换做从场所的角度考虑,看这个场所允许哪些时间的报告进入。然后使用差分数组将这些报告的时间对应的值都加一,再求前缀和得到每个时间点的得分,最后根据输入的查询,直接得到满足几个场所。使用一个map来记录左值的下标出现次数,每接收一对左、右值,当右值非常量且右值之前不在map中,结果加一,对于所有的都要左值加一。
2024-03-25 14:57:14
442
原创 csp 21-12-1 序列查询 & 2序列查询新解
给出n个商品价格,其实有n+1个商品,钱什么都买不到可以得到免费纪念品–0元商品,N查询的预算范围。根据每个N值给出,能在商品序列中买到的最贵的商品的下标,最后将下标求和,得到最终的输出。第一次提交没有优化点2,即每次都从头开始遍历商品,但其实商品价格有序,所以使用last来记录上一次的下标,从上一次的位置开始判断即可,这个点也能从给出的样例解释中,较易得出。使用双层循环,对于每个N值,在n+1个商品中寻找,能拿到的最大的价格的下标。第一题的基础上,又计算新的g(x),要求最终得到g和f 差的绝对值之和。
2024-03-21 10:23:47
364
原创 csp 21-09-01 数组推导 & 2 非零段划分
我之前迷糊的点好像是在,为什么这个点可以单独判断左右两个就可以确定下降到这个高度的情况,因为我觉得根据题目,这时候是要对整个数组进行改变然后计算的,啊,还是没有把握到这个方法精髓,精髓就是这里,只需要记录下来高度到达这个的时候,会造成怎样的变化,不用去计算整体的岛屿数。记录当前的最大值,与每次接收到新值对比,如果相等,则说明,A数组中目前为止的最大值没变化,sum_max+上最大值,sum_min加0,如果不相等,则说明最大值变化了,两个sum都加上新值,并且更新max。,好,俩都不会,学一下吧。
2024-03-20 20:41:57
320
原创 csp 20-12-1 期末预测之安全指数 & 2 期末预测之最佳阈值
给定若干数据,(阈值,及格与否),扫描所有的数据对,看选择哪个阈值的时候,所有的数据判断及格与否的结果与实际情况最符合,得分最高。得分相同的,选较大的阈值。原本有一个思路是,及格的一个数组,不及格的一个数组,然后都排序,这样确定某个阈值在数组中的位置就可以很快的计算出得分,但是因为有相同数据的存在,给判断位置带来阻碍,这个思路没有实现出来。想到了排序,但思路太复杂,直接计数0 ,1个数累加就好,按照y值升序之后,每个y值的得分就是,当前有无分,加上左侧0 的个数和右侧1得个数,0,1 的值还都可以累加。
2024-03-17 22:22:51
498
原创 csp 20-09-01称检测点查询 & 02风险人群筛查
遍历居民的t对坐标,遇到一个在区域内的,进入内层循环,判断是否有k-1个点也都在区域内,如果存在,则该居民在风险区域停留,stay和pass都计数,然后结束这个居民的循环。很聪明简洁的思路,问题的关键就在于要判断是否有连续的k个,那就遍历所有点,记录每组最大的连续值,最后判断这个值是否大于等于k,是的话就是stay,不是的话,如果大于0,就是pass。给出若干个居民的经过的t对坐标点,已知风险区域,求出经过风险区域的居民个数,进一步的,如果有连续k个坐标都在风险区域内,则该居民在风险区域停留。
2024-03-17 20:11:00
362
原创 csp 20-06-1 线性分类器 & 2稀疏向量
嗷之前好像是有另外的处理,这次的代码出问题,就是在跳出循环后的处理乱了,最后终于理清思路,但是break和continue用错了,长记性,用break的时候,看好是在哪个循环里。第一次提交,60分,检查思路没问题,发现是数据类型问题,题目说,值得绝对值小于10e5,那么乘积得话,就会大于10e9,所以使用long long 类型保存乘积。使用map存储u、v,遍历u,拿着key去v里面找有没有这个键,存在的话,两个值相乘,累计起来,等到最后的值。用两个数组存储两类点,对于每根直线,进行判断。
2024-03-14 20:50:00
432
原创 csp 19-12-01 报数& 2 回收站选址
过的条件:7的倍数,含有7,第二个条件,要依次判断个位、十位百位,是否有7,因为n<666,估计总数是不会超过1000,所以只判断到百位。但是因为不是基本数据类型,所以需要进行运算符重载,要重载 < 和 = =,因为map是有序的,而我自己需要用到find 这个要用到 ==。但是,坐标不是基本数据类型,所以创建Point类,使用map<Point, int>存储,Point是坐标,int是得分,用处不大。每个人的数字都是i+4k,一个for循环,判断是否过,过的话,进一步判断属于哪一个选手的记录。
2024-03-10 21:54:39
363
原创 csp 19-03-1 小中大 &2 二十四点
照自己以上的思路,运行样例结果是正确的,但是提交后只有30分,输出运算结果后,发现一个纯加减法的运算结果是错误,调试后发现是因为加减法在运算的时候,运算符号是右结合的,但如果采用栈的话,如果是7-9+8,运算的话,就是,8+9-7,运算符会往左结合,所以入栈的时候讲减号直接和数字结合入栈,也就是博主所说的,减法改造成加法。以上的太复杂了,如果没有括号,好像也不用比较优先级啥的,直接扫描,遇到数字入栈,遇到乘除就运算,遇到加减入栈,扫描完了之后,依次出栈运算。输入一组有序整数,输出最大值,中位数,最小值。
2024-03-06 21:24:18
382
原创 csp 15-09-01 数据分段 & 2 日期计算
不过一开始还错了一点,后来改出来,就是当天数恰好是一个月的时候,没处理好,此时可以直接输出。真是做新题做的伤心了,做点简单的培养一下成就感,和信心,呜呜呜呜,真是个废物啊。直接看代码,传统艺能了。无需多言,直接看代码。
2024-03-05 21:56:21
367
原创 csp 23-03-1 田地丈量 & 2垦田计划
因为题目给的条件是左下和右上的坐标,我就顺着走了,只考虑了,这两个点,试图把所有情况都分析出来,使用if来判断,点是否在这个区域,然后根据不同的情况,来具体计算面积。一开始的一块地一天的步长试探就不够,其实我已经发现,当时时耗相同时,可以同时考虑,反正最低时耗是取决与最大的,如果不能全都减一,那就是不能减一。博主的思路是,使用一个map,将时耗天数相等的地合并起来,<时耗,-1需要的总资源数>,然后就可以从最大时耗开始多块地一天天的往前试探,减去后,与时耗相同的键值对合并,继续试探,呜呜呜呜效率真的好高。
2024-03-05 16:18:59
1698
原创 csp 23-05-1重复局面 && 2 矩阵运算
想到可以只对比棋子的位置,每个棋子维护一个位置矩阵,然后在读入的时候,记录下所有棋子每次的坐标值,然后,从第二个棋盘开始,每个都和前面每个棋子对比,看是否一样。一开始用数组,可能是初始化的什么的问题,提交就错误,换成vector就对了,那么以后遇到长度不一定的,尽量就用vector吧。然后矩阵的运算是三层循环,i,j,k,前两层一个是左行,一个是右列,k是控制每行每列的的每一个。OMG,好神经啊,深思熟虑之后想的什么狗屎方法啊,麻烦死了,还不如一开始的重复方法。一个向量×三个矩阵连乘,输出最后的结果。
2024-03-03 21:44:54
952
原创 编译原理实验1--词法分析
编译原理实验1–词法分析BY --ELFer实验目的设计编制调试一个具体的词法分析程序,加深对词法分析原理的理解。并掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法。编制一个读单词过程,从输入的源程序中,识别出具有独立意义的单词,即基本保留字、标识符、常数、运算符、分隔符五大类。并依次输出各个单词的内部编码及单词符号自身值。实验内容回顾词法分析的过程,明确要区分出保留字、标识符、常数、运算符、分隔符五大类单词的哪些词,确定每类的种别码。针对每一类单词,设计程序,
2021-07-09 09:45:09
5344
4
原创 SQL Sever2012 创建表时发生“未指定错误”解决方法
@[TOC](SQL Sever2012 创建表时发生“未指定错误”解决方法下载SQL2012,界面一般,而且从第二次使用时就发现,第一次创建的数据库都打不开,说是什么位置移动,好在前几次作业的任务简单,从头开始也没什么。但是每个作业是递进的,所以第二次作业,还是出现之前的数据库有问题,必须要解决了。问题描述前一晚打开之前的数据库,创建表单时,弹出“发生未指定错误”,但是看到它说.mdf文件有偏移量,我以为是自己动了文件夹(自己的小毛病),于是就重新创建了数据库,然后就顺利的创建了表。结果第二天想
2021-03-31 11:37:05
2218
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人