自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 仓库规划csp

【代码】仓库规划csp。

2024-03-30 18:47:04 101

原创 Markdown渲染器csp

输入分为段落和项目列表两类,其中段落和项目列表又可以以空白行分隔,项目还可通过非开头两空格的行分割,通过变量last_blank记录上一行是否为空白行从而区分是否是同一个段落或者同一个项目,同一个段落或同一个项目之间之间的多行需要去除首尾空格之后再以一个空格分隔来连接,可以用一个结构体数组line记录其类型和内容,再通过其类型和终端宽度n来确定行数。

2024-03-30 18:30:18 134

原创 字符画csp

其次判断当前R,G,B是否与前一R,G,B颜色相同,如果相同只需要输出“\\x20”即空格,表示不更改,如果不同,判断是否与终端颜色相同,相同则按终端方式重置,不同则更改为相应的R,G,B值,并更新前一R,G,B值,在每一行结束之后,还需要判断当前终端颜色是否是默认值(即0,0,0)来判断是否需重置终端,最后加上换行"\x0A"即可。首先根据m,n,p,q计算出每一个p*q的色块的R,G,B的平均值,通过四重循环实现,外两层为色块间转移,步长分别为q,p,内两层统计每一色块的R,G,B值的总和。

2024-03-30 11:13:34 115

原创 元素选择器csp

注意标签是不分大小写而id分大小写且每行只含一个元素,所以对于每一行提取出其标签(统一转换为小写)、id(如果有)和通过点的个数计算层级,对于每一组查询输入,找到最后一层的元素,遍历每一行,找到与之相等且类型匹配的行,如果是后代,则不断向前查找,层级依次减一,判断是否符合后代元素的要求。

2024-03-29 18:39:00 221

原创 损坏的RAID5csp

请务必加上ios::sync_with_stdio(false),否则会超时只有30分。这道题太抽象了,一开始都没太搞懂在讲啥。解决该题需要了解条带、磁盘号的定义。

2024-03-28 22:37:58 197

原创 脉冲神经网络csp

这道题只想出了暴力解法,按题意设计三种数据结构,分别是神经元node,脉冲源mai和突触tu,其中node中的edge保存了该神经元作为入节点相连的突触编号和神经元编号,mai的v保存了该脉冲源作为入节点相连的突触编号和神经元编号,时间从1到t开始遍历,对每一个时间步,首先遍历脉冲源,当其r大于myrand()时发送脉冲,从而更新相应神经元的I[t]值,其次遍历各神经元,按公式计算u和v,当v大于等于30时,更新相应神经元的I[t]值并进行发送脉冲数计数cnt,更新v和u值。期待有无大佬能解决这个问题。

2024-03-28 16:54:01 163

原创 化学方程式csp100

【代码】化学方程式csp100。

2024-03-27 21:19:14 210

原创 带配额的文件系统csp

感觉算是csp第三题中比较复杂的情况了,插入需考虑文件路径是否存在,不存在且其双亲文件下无同名的普通文件才能创建新文件,存在但为目录文件执行失败,执行失败都要进行回溯删除之前的插入操作,存在且为普通文件且满足配额要求的可以进行替换同时更新配额值,删除需考虑文件不存在和文件是目录/普通文件的情况并进行相应配额值的更新,配额需考虑路径不存在、非目录文件以及能否进行配额替换等情况。详细思路请见代码注释。

2024-03-27 16:47:51 177

原创 点亮数字人生csp

该题理解不难,首先要判断环,可以采用拓扑排序,输入全为I类型的节点可看作入度为0的节点,器件i若有输入Oj,则入度加一,同时j的邻接表添加i,若有环直接输出LOOP,无环则根据a数组保存的拓扑序,依次计算器件的输出,注意由于NOT类型是单输入,进行单独处理,注意与和或采用逻辑与和逻辑或,即&&和||,最后按要求输出对应器件的输出。

2024-03-27 08:20:35 175

原创 Crontab题解csp

暴力,从开始时间s循环到结束时间e,以每分钟增加,遍历所有配置,看其值是否合法,合法输出相应的命令,求星期可以参考之前csp的节日,从1970年1月1日推导,或者用蔡勒公式直接算,对于配置的各项允许的值,首先判断是否等于‘*’,等于则将len长度的v数组全部置为一,表示0~len-1的值都是合法的,若不等于则以逗号为分隔符将字符串分割,再查找是否有-,没有直接将字符串转为对应数字或者月份或者星期,否则以-为参考将字符串一分为二,算出两端的值l,r将区间[l,r]的值全部置为一。

2024-03-26 20:13:48 277

原创 URL映射csp

要考虑的情况挺多的,对于每一条输入,直接暴力遍历规则,找到一个匹配的则直接跳出,未找到输出404.对于某一条规则,以/为分隔符不断提取子串,判断是无参/带数字参数/带字符串参数/带路径参数这几种情况并分别处理,直至该规则被遍历完。具体思路见代码注释。

2024-03-25 23:57:01 126

原创 CIDR合并csp

按照题意,先将输入的三种可能的类型统一化成标准型,即a3.a2.a1.a0/len的形式,并计算出对应的IP值,进行排序,遍历得到的数组,相邻元素判断b是否是a的子集,即b的长度大于等于a且它们的高a.len位相同,则满足子集条件,再次扫描数组进行同级合并,最后输出就好了。srds,似乎用数组会比用vector的erase函数删元素更快,之前用vector只得了90分。改用数组则可以全过。

2024-03-25 17:08:51 179

原创 JSON查询csp

首先对字符串进行连接和去空格处理,由于存在两种类型:字符串和对象,逐个扫描字符串,找到双引号,通过判断后续字符是双引号还是左括号来判断是字符串还是对象,对于字符串,直接取相应的键和值即可,对于对象,进行括号匹配,将整个对象作为参数进行递归。

2024-03-25 16:23:46 154

原创 DHCP服务器csp

按照流程模拟,主要考虑ip地址的状态与分配情况,为了简单我直接暴力枚举了,即对每一次输入,首先对ip地址进行更新,(主要针对待分配情况和占用情况)再判断输入是否合法,合法再分为DIS和REQ两种情况进行讨论,对于DIS报文,直接遍历N个ip地址,找出符合条件的ip,没有则不分配,否则修改该ip地址的状态(0--未分配 1--待分配 2--占用 3--过期)、占用者和过期时间,输出相应OFR报文;离大谱,居然要考虑ip地址不合法的情况,否则只能得70分。

2024-03-24 19:05:39 201

原创 登机条牌码csp

前面模拟部分不难,用flag标记上一字符为大写/小写/数字,逐个遍历字符将对应值/切换值压入临时数组tmp,填充成偶数再两两一组运算,到这可以拿40分,难点是多项式除法,x^k相当于将d(x)提升k位,x^k * d(x)作为被除数,g(x)作为除数,q(x)相当于商 r(x)相当于余数,每次除法消掉了被除数的最高位,即每一次运算都取当前结果最高项的系数除以除数最高项的系数。但是被自己蠢到了,居然搞错了输出格式。下次一定要注意看输出格式!

2024-03-23 21:03:47 195 1

原创 计算资源调度器csp

直接暴力枚举,对一组任务数为f的输入可看作f次一组任务的输入,遍历所有计算节点,判断其是否满足节点亲和性、任务亲和性、任务反亲和性,满足则加入待选集合res,遍历完一轮后看res是否为空,若为空且paar=1直接输出0继续,paar=0则去掉反亲和性要求再遍历一遍,最后按节点上任务数,节点编号从小到大排序,算出最终放置的节点,并更新相应节点的任务数,节点上的应用集合以及该节点所属可用区的应用集合。

2024-03-23 09:17:11 180 1

原创 Markdown题解csp

,f1=true时添加

2024-03-23 00:18:34 104 1

原创 防疫大数据csp

建立日期和风险地区集合的映射,建立日期和风险用户集合的映射,每当在第i天收到风险地区列表时,其后七天该地区也为风险地区,直接加入,再清空第i天的前七天及更早时候的漫游数据,遍历漫游数据,判断涉及的地区是否从漫游时间d到当天i一直为风险地区,若是,则将其用户加入风险用户列表。

2024-03-22 17:37:25 219

原创 梯度求解csp

对于输入一个逆波兰表达式,首先将除自变量之外的其他变量用对应的数值替换,自变量统一用’x‘进行替换,然后用栈处理逆波兰表达式,遇到运算符就取出栈顶两个数做相应运算并将结果压栈,非运算符直接压栈,用变长数组vector保存结果,数组下标表示指数,值表示系数,例如对于x^3+x,可以表示为v[0]=0,v[1]=1,v[2]=0,v[3]=1,最后进行求导将自变量的值带入,每个部分指数乘系数再加起来得到最终结果。不过真的不太清楚为什么只有80,数据范围、取模都考虑到了但是还是只有80QAQ,累了就这样吧。

2024-03-22 16:47:40 220 1

原创 角色授权csp

本质大模拟,采用unordered_map映射会比map映射快一点,分别建立角色名和角色一系列属性的映射,用户名和关联角色的映射,用户组名和关联角色的映射,按照题意,若判断一个角色是否能执行相应操作,只需判断操作名是否在映射中、资源种类是否在映射中、资源名是否在映射中即可。对于一组询问输入,首先对用户关联的角色进行判断,看其能否执行相应操作,若不能再遍历用户组,对用户组关联的角色再次进行判断,注意循环时加break能稍微快一点。仅因为临时变量x的位置放错了导致一直20分(一直debug)。

2024-03-21 22:33:12 167 1

原创 JPEG解码csp

主要是矩阵填充部分,感觉跟蓝桥的蛇形填数和之前的Z字形扫描有点像。

2024-03-21 16:28:31 97 1

原创 LDAP题解csp

这道题要注意表达式中还可能嵌套表达式,主要有两种情况,一种是原子表达式,只需通过find函数查找:或者~符号,然后截取相应的子串,遍历每个用户的属性数组看对应key下的val是否相等;另一种是表达式形式,需运用递归思想,只要str[0]是数字(即这是一个原子表达式)就直接返回原子表达式处理结果,否则查找最中间的)(或者( ),将字符串一分为二,分别求其结果。另外就是这道题很容易超时。最好用unordered_map而不是map,以及加上ios::sync_with_stdio(false)。

2024-03-20 22:52:55 184 1

原创 权限查询csp

这题要考虑的方面挺多。特别是考虑当一个角色拥有相同权限名但不同等级的权限时,一定要取最大的等级(否则只有90分),首先建立角色和权限的映射,再建立用户和角色的映射,通过这两个映射得出用户和权限的映射,注意对于有等级的权限始终保留最大等级的权限。

2024-03-19 21:10:17 90 1

原创 炉石传说csp

主要分三个操作:召唤随从,发起攻击,结束,其中,召唤随从分为该位置没有随从和有随从这两种情况,没有随从则直接赋值,有随从需要将该位置右边的随从全部向右移一位;发起攻击首先计算出攻击后双方的生命值,判断是否小于等于0,若攻击方或被攻击方编号是0(即相当于英雄死亡),判断获胜方后直接退出,否则将该位置右边的随从全部向左移一位(相当于随从死亡);结束只需要用1-order进行切换。

2024-03-19 17:08:48 105 1

原创 路径解析csp

再处理包含相对路径的情况,判断输入是否是相对路径形式,若是则需要加上当前目录的字符串,不断查找/../的子串并删除前一个目录(因为/../表示上一级目录)分情况进行讨论,通过find函数和erase函数去掉/./和多个/,以及最后一个字符是/且非根目录情况下去掉最后一个/,这样就能拿40分。情况比较多,细节也比较多,特别注意输入用getline,不然无法读取空行的情况,只能拿90分。

2024-03-18 22:37:57 301

原创 画图csp

这道题理解起来不难,但细节真的特多,总体来说将操作分为画线和覆盖,画线的时候注意y1不一定小于y2,x1不一定小于x2,且要注意判断是否当前坐标已经是'+'的情况(否则只能90 QAQ),覆盖就是dfs模板,不断标记,直到遇上边界或者 '-' , '|' , '+' 停止。

2024-03-18 16:34:08 335

原创 模板生成系统csp

本题理解不难,但要注意细节,比如输入时用cin.ignore过滤掉换行符,掌握几个函数的用法能大大减少码量,比如find函数查找指定字符串中子串的位置,用于定位模板中变量出现的位置,replace函数能将变量替换成对应的值。

2024-03-18 15:11:03 319

原创 节日csp2015-03-03

由题意可知只需求出日期day即可,对于每一个year,以1850年1月1号为参考点,计算出year年a月1号是星期几,进而推算出year年a月的第一个星期c是哪个日期day,通过day+=(b-1)*7求出year年a月的第b个星期c的日期。最后判断一下算出的日期是否合法,根据要求输出即可。一定要特别考虑闰年二月的情况。

2024-03-18 11:26:57 311

原创 集合竞价csp

首先根据题意可知最优的价格一定是sell或buy中的价格,先按价格从小到大进行排序,筛掉cancel的那些行,再分别利用两个数组sell和buy分别记录价格小于等于pricei的数量和价格大于等于pricei的数量,直接遍历找出最多的数量,注意数量相同的情况下价格尽可能高,所以倒序遍历。But犯了一个低级错误(最后输出的价格是double类型但顺手打成int。QAQ)导致一直debug。

2024-03-17 14:28:27 355 1

原创 csp2014-09-03字符串匹配

真的做早期的csp很能增加自信&&本题主要分两种情况,一种大小写不敏感,一种大小写敏感,对于不敏感的情况,统一把子串和匹配串转换成小写,再用str自带的find函数查找子串。

2024-03-17 11:19:34 310 1

原创 csp2014-3-3 命令行选项

模拟字符串,首先通过stringstream将输入以空格分割成若干字符串,判断是否合法(为命令行选项),若为带参选项则将其后一个字符串存入ans,若为不带参选项则存入一个不属于参数的字符,注意输入时用cin.ignore过滤掉换行符。

2024-03-16 19:58:34 341

原创 csp201312-3最大的矩形

好喜欢早年csp的出题风格QAQ,直接二重循环暴力模拟,dp[i]记录以i为左端点起始的最大矩形面积,tmp记录连续矩形的最小高度(由最低高度决定整体矩形的高度),最后进行遍历得出答案。

2024-03-16 15:16:55 353

原创 解压缩2023-05-3满分代码

本质大模拟,可以用string类型将输入连接成一个长字符串,每两个字符为步长进行遍历,直到找到高位为0的字符,说明引导区已经读完,接着将每两个字符看作一个字节,判断低两位为00,01,10的情况,分别对应字面量、回溯引用1,回溯引用2的情况,再根据各种情况进行相应的位运算并用substr函数截取长字符串的子串。理解不难,但细节特多,比如一个字节是两个字符,取子串算偏移量的时候一定要仔细!

2024-03-14 19:38:21 313

原创 树上搜索题解----csp202312-3

2023-12-3csp第三题题解

2024-01-15 22:49:26 984 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除