数据结构与算法设计
文章平均质量分 64
yangmc04
这个作者很懒,什么都没留下…
展开
-
lq 集训第三天(位运算的两道习题)
1.对于第一题思路较为简单,对于每一位我们可以通过右移 并与1 进行与(&)运算 获取每一位的数字,如果是1 对于ans 就++ ,如果是零就不用改动。2.对于第二题来说,需要我们知道异或运算具有结合律和交换律,我们可以列出(a1 ^ x) ^ (a2 ^ x) ^ (a3 ^ x) = (a1 ^ a2 ^ a3 ^ x ^ x ^ x) 而我们知道对于 x ^ x 进行运算一定为 0 ,并且 0 ^ x = x ,最后我们就可以推导出这样一个等式: a1 ^ a2 ^ a3 = x;原创 2023-12-22 22:20:06 · 455 阅读 · 0 评论 -
lq 集训第三天 (位运算 排序)
第三天原创 2023-12-22 21:47:32 · 375 阅读 · 0 评论 -
lq 集训第二天 (第一天习题部分)
题目问的是最多的鸭鸭数量,也就是1的数量。首先我们不考虑魔法的使用,那么总重量应该就是所有编号为1的a[i]的重量相加,我们将这个命名为 ess(essential的缩写)作为基本量。然后对整个数组进行修改。我们知道 在一段区间内进行修改,0 变为 1 的话会让 ess 增加,但是区间内会有1 变为 0 的情况 ,也就是可能有的鸭鸭会变成鼠鼠,那么就会让 ess 减少,对于一段区间内的变化,我们很容易想到刚学习过的前缀和知识,而且这是一维的,所以很简单。但是对于1变成 0 的情况,我们需要将其变为负数。对于原创 2023-12-21 23:13:31 · 350 阅读 · 0 评论 -
lq 集训第一天
一维的前缀和,差分二维的前缀和,差分放在下一个篇章。原创 2023-12-20 23:33:55 · 322 阅读 · 1 评论 -
数据结构与算法设计 : 约瑟夫问题
约瑟夫问题是一个经典的问题。已知 n 个人(不妨分别以编号 1,2 ,3,…,n 代表 )围坐在一张圆桌周围,从编号为 k 的人开始,从1开始顺时针报数 1, 2, 3, …,顺时针数到m 的那个人,出列并输出。然后从出列的下一个人开始,从1开始继续顺时针报数,数到 m的那个人,出列并输出,…依此重复下去,直到圆桌周围的人全部出列。输入:n, k, m输出:按照出列的顺序依次输出出列人的编号,编号中间相隔一个空格,每10个编号为一行。非法输入的对应输出如下:a)输入:n、k、m任一个小于1。原创 2023-12-14 17:55:51 · 396 阅读 · 0 评论 -
餐厅(数据结构与算法设计 选做题)
阿邱最近开了家餐厅。阿邱想了解某一时段至少有多少不同人出入餐厅。阿邱就雇佣了一个人,呆在餐厅门口,有人进入餐厅,他就在纸上记下+,有人出餐厅,他就在纸上记下-。假设同一时间没有两个人同时进入或出餐厅;也假设最初的时候餐厅中有足够多的人。问,这段时间里,至少有多少人出入餐厅。(不同人出入的顺序是随意的,一个人可以反复出入。Input第一行是一个正整数m,表示有m组测试数据。(m原创 2023-12-14 17:39:47 · 150 阅读 · 0 评论