- 博客(5)
- 收藏
- 关注
原创 7-12 最长对称子串(分数 25) 新解法——字符串哈希精讲!!!
输入字符串str1后,将str1赋给str2,str2前后翻转,使str1和str2翻转。这样做的目的是,为了求对称字串,判断一个字符串str1的[l, r]是对称串,我们只需判断str1的[l, r]与str2[n - r + 1, n - l + 1]的哈希值是否一致。这个字串的哈希值,即求下标[2, 3]字串,value = h[3] - h[2] * p[3 - 2 + 1]。假设求一个字符串[l, r]之间字串的哈希值,value= h[r] - h[l] * p[r - l + 1]。
2024-03-03 16:21:25
700
原创 7-11 家庭房产 (分数 25) 并查集-结构体-排序
结构体Family:id表示这家人中最小的编号,sum表示这家共有几人,a1表示平均房产套数,a2表示平均房产面积。家庭信息首先按人均面积降序输出,若有并列,则按成员编号的升序输出。给定每个人的家庭成员和其自己名下的房产,请你统计出每个家庭的人口数、人均房产面积及房产套数。函数find():维护并查集,开始初始化p[]数组,p[i] = i,具体不做赘述。分别是该编号对应的这个人的父母的编号(如果已经过世,则显示。area[i]:i 所在家庭目前房产总面积套房。alnCnt[i]:i 所在家庭目前多少人。
2024-03-03 14:04:38
547
原创 7-9 集合相似度 (分数 25) set求交集并集!
c++ set容器不仅可以自动去重,而且有内置函数可以直接求交集、并集、差集等:set_intersection(取集合交集)、set_union(取集合并集)、set_difference(取集合差集)、set_symmetric_difference(取集合对称差集)等函数。其中Nc是两个集合都有的不相等整数的个数,Nt是两个集合一共有的不相等整数的个数。随后N行,每行对应一个集合。之后一行给出一个正整数K(≤2000),随后K行,每行对应一对需要计算相似度的集合的编号(集合从1到N编号)。
2024-03-02 11:18:54
403
原创 7-3 A-B (分数20) 19行轻松搞定!
输入在2行中先后给出字符串A和B。两字符串的长度都不超过104,并且保证每个字符串都是由可见的ASCII码和空白字符组成,最后以换行符结束。本题要求你计算A−B。不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A−B。在一行中打印出A−B的结果字符串。
2024-03-01 10:51:04
319
1
操作系统 进程管理的调度算法 动态最高优先数优先、先来先服务调度算法、短进程优先调度算法、时间片轮转调度算法
2023-12-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人