洛谷
文章平均质量分 75
洛谷题单
c++机械师
计科菜鸡一名
展开
-
洛谷:集合与差分
如果城市的名称和洲的名称不一样,再执行之后的操作,如果m[a+b]是0,说明之前没有出现,ans+=0;,我们先构造差分数组,因为d[i]=a[i]-a[i-1],所以我们对差分数组加上一个数,也会对原数组每个元素加上一个数,但由于区间外的不能改变,所以我们对区间外再减去一个数,最后恢复原数组1即可。这道题要对一个矩形区域内的加上一个数,就是差分二维化,要注意的是最后恢复原数组时,因为原数组是差分数组的前缀和,所以差分数组相加等于原数组,我们直接对差分数组进行操作就可以。原创 2023-12-31 19:27:16 · 665 阅读 · 1 评论 -
洛谷:集合与前缀和
这道题其实和上一道是基本上一样的,唯一不同的是这道题当两个人是敌人的时候我们怎么进行记录,是朋友就把把两个集合合并,如果是敌人,我们定义一个二维数组,如果p和q是敌人,则rsp[p][q]=rsp[q][p]=1,表示两个人是敌人, 当我们遍历时,如果q和j或者p和j是敌人,那p和j或者q和j就是朋友,合并两个集合即可,最后统计出有多少个集合,返回cnt。给一个单词,我们就知道它在哪篇文章出现过,而且还不只一篇文章,对应的值是一个集合,那我们的思路就很清晰了。原创 2023-12-29 21:36:15 · 554 阅读 · 3 评论 -
洛谷:线性表
啊,如果定义在主函数里面而且你不初始化,数组里面就全是随机值,因为这个卡了一些时间,原创 2023-12-28 19:58:14 · 1038 阅读 · 4 评论