- 博客(24)
- 收藏
- 关注
原创 CSP第32次认证 202312-2 因子化简
这次第二题主要考察的东西不难,就是把分解得到的因子离散化到一个数组上,用空间换时间。该题对时间复杂度要求不高,所以得了100分。
2023-12-14 14:05:16
1431
原创 CSP第32次认证202312 认证 第一题 仓库规划
把认证写出来的题目发出来,大家共同讨论。第一题思路不难,就是应该先看清题再下手,一开始一直以为如果出现两个上级应该选整体更小的,后来憋了好久才发现是编号更小的。关键就在于遍历每一个仓库位置,然后再搜索它的上级,穷举法即可,第一题也没有时间复杂度要求。
2023-12-14 13:59:35
1822
2
原创 CSP认证 202303-2 垦田计划 优化之后的方法 100分题解
看了博客里大佬的做法,可以考虑到不用每次都去遍历那个时间所需资源数的数组或者列表,因为每次想要让整体时间缩短,就考虑所需天数最大的,当天数最大的不唯一时,比如样例中,开始需要6天的就有两个,所以想要让整体工期从6天到5天,就需要把所有6天的资源都给足才可以,代码里用到了cost数组,cost[i]表示所有需要i天才能完成的任务,想要缩短,所需要的资源总数(所有的都加起来)
2023-12-06 09:50:07
430
原创 CSP202206-2 寻宝大冒险 70分题解
第一次做的时候就是全部的左下角都要进去比较一趟B矩阵,但是发现题目中说了藏宝图的左下角一定是1,所以如果是0就没有必要再一一比对了。加那个continue之前只有40分,加上之后就有70分了。
2023-11-15 15:37:09
188
原创 CSP认证 202212-01 现值计算 满分题解
这个题目思路比较清晰,就是把后几年的盈利或者亏损转换到今年,看看总体具体是盈利还是亏损,确实读题目要花点时间,但是理解了题目敲代码就很快,O(n)时间就可以解决。
2023-10-23 14:40:10
75
1
原创 CSP认证 202303-2 垦田计划 70分 非最优
写了半天用的是最麻烦最笨的办法,只能超时拿到70分,后续再参考优快云里面各位大佬的代码,优化一下时间。时间复杂度确实巨高。
2023-10-23 11:53:28
74
1
原创 在两个有序序列中,找到两序列里第k大的元素log n时间
在算法书上学到的内容,大概看懂了重新试一下,留着以后看,如果能帮到大家最好,如果大家觉得我的注释很麻烦请勿喷,我是菜鸡。
2023-10-20 15:01:54
62
1
原创 CSP 202303-1 田地丈量
这道题考虑的太复杂了,应该反思。实际上这个题目,只要通过坐标与边界比较就可以得到重叠长度,反思反思,考虑的太多了,同时还应该考虑算出来的边长必须大于0,很容易忽略,注意!
2023-10-11 18:11:55
103
1
原创 CSP认证 202305-2 矩阵运算
读题过后,可以提取出来目的是做一系列矩阵乘法,只要涉及到矩阵乘法就要考虑维度的问题,本题中n≤10000,d≤20,如果按顺序直接计算,会有一次运算达到n × n × d的次数,所以根据矩阵运算的结合律可以让K的转置和V先进行乘法,可以大量减少运算次数以得到更短的运行时间。
2023-10-10 20:15:30
265
1
原创 CSP认证 202305-1 重复局面
因为研一开设了算法设计与分析课程,9月份的CSP成绩会加权算到期末成绩里,最近开始刷CSP的历史真题。各位大佬如果有更好的做法欢迎指点。
2023-09-25 11:50:43
498
1
原创 C语言实现求输入两整数的最大公约数,最小公倍数
#include <stdio.h>int main(int argc, char *argv[]) { int m,n; scanf("%d %d",&m,&n); int max_devide = 0,min_mul; int circle = (m>n)?n:m; int i; for(i = 1;i <= circl
2022-10-22 09:35:17
456
原创 数据结构考研树与对应二叉树关系的题目,个人解法
王道王道考研数据结构教材2023版p174 12已知有一棵有2011结点的树,其叶结点个数为116,该树对应的二叉树中无右孩子的结点个数是()A.115 B.116 C.1895 D.1896解,王道书是举了一个特殊情况来说明,我觉得对于我来说学不到这个方法,所以还是用理论证明一下更深刻,写的不好麻烦各位大佬轻喷。......
2022-07-01 20:54:04
455
原创 python实现寻找主串中所有指定子串下标
该函数可实现显示字符串中指定子串所有下标(首字下标)def subStrIndex(substr,str): result = [] index = 0 while str.find(substr,index,len(str)) != -1: temIndex = str.find(substr,index,len(str)) result.append(temIndex) index = temIndex + 1 r
2022-03-18 17:05:07
1143
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人