摘要: 今天的D题题解,预处理每个余数i的数量b[i],因为对ai的操作只能+1,所以第一遍从0到m-1枚举余数,若b[i]>n/m,只能把b[i]-n/m个数转移到下一个位置上,(最后b[m-1]转移到b[0])这样枚举两边就是最终结果。但是如果每次只转移到相邻的下一个位置,2e5个数最多能转移2e5*2 阅读全文
posted @ 2020-03-06 21:06 浪在ACM 阅读(98) 评论(0) 推荐(0) 编辑
摘要: C.根据题意可以知道从1开始的连续套娃不用拆开,剩下的必须拆开才能组装,所以计算从1开始的连续个数,然后拆开次数加上除连续个数剩下的套娃个数,就是最终答案。 https://paste.ubuntu.com/p/nBXKvb3yW6/ B.记录每个数字变成对应序数需要++/--的次数(序数为奇数变化 阅读全文
posted @ 2020-03-06 21:05 浪在ACM 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 今天的D题题解:并查集+floyd最短路径输入时预处理每个点属于哪一组,用边权为0的边跑一边并查集,然后遍历一遍点,看同组的是否都在相同集合内,若不同输出no,否则就是yes然后把边的两个端点换成对应的组,遍历边,对已有的多个i组到j组的边distance[i][j]取min,跑一遍floyd出结果 阅读全文
posted @ 2020-03-06 21:01 浪在ACM 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 李旭晨的ABC题 阅读全文
posted @ 2020-03-06 21:00 浪在ACM 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 对于A:可以看到6次一个循环所以多余6次的直接舍去mod一下再for一波6次的就可以了复杂度近似O(1)对于B:直接暴力,最少被揍那么我们就尽量对于第一个人的每一位相等的数字,不够用我们自己最小的数字填上更新答案,最多揍人就是尽量拿我们比对面大一的数字,没有就拿最少的填上,复杂度O(10N)对于C: 阅读全文
posted @ 2020-03-01 22:30 浪在ACM 阅读(133) 评论(0) 推荐(0) 编辑
摘要: c题:贪心法,因为要满足每个人的需求所以定义一个结构体存储每个人一共的需求,顺便给每个人编号,然后通过需求对结构体进行排序,统计需求和小于等于目标的和的人数,并输出他们的编号就得到结果了 阅读全文
posted @ 2020-03-01 22:28 浪在ACM 阅读(88) 评论(0) 推荐(0) 编辑
摘要: A题是给你定义一个新的语言让你模拟他的IP跳转。如果同学们学过汇编的话应该对CSIP有所了解吧,这样理解这个题就好理解了,在汇编中我们的CSIP是线性跳转的,但是这里是给你一个矩阵进行跳转 级然矩阵跳转得有两个变量来告诉你怎么跳啊,于是我们IP有两个部分DP和CP DP是纵向跳转的IP分量CP是横向 阅读全文
posted @ 2020-02-25 21:19 浪在ACM 阅读(121) 评论(0) 推荐(0) 编辑
摘要: A:排序后找O(n)遍历一下找跟第k位完全相同的ans++即可C:500的数据可以直接暴力,插入的数的个数肯定最多500的,那么我们while(1)一下里面就看看我们要找的数存不存在当前数列中,如果不存在ans++插入,存在的话更新它们距离中位数的最小距离,因为可能有多个相同的数,如果左边距离中位数 阅读全文
posted @ 2020-02-24 21:41 浪在ACM 阅读(91) 评论(0) 推荐(0) 编辑
摘要: A:给定一个图,图中有且仅有一个环,输出每个节点到环的距离。第一遍DFS,标记所有访问点并记录深度,若访问到已标记的点,则该点和它的父节点为环上的点,分别记为u,v第二遍DFS,从v触发,逆深度一直访问到u,这条路径上所有点即为环第三遍BFS,将环上所有点距离标为0,并挨个作为起始点进行BFS,求出 阅读全文
posted @ 2020-02-24 21:39 浪在ACM 阅读(90) 评论(0) 推荐(0) 编辑
摘要: A:模拟if else一下B:先n^2把不过时的电脑选出来,再按照价格一维排序输出最小价格的原始id就行了,题目说了价格都是不同的C:看着要爆搜但是很卡会T,确定是DP但是我这DP水平现在还没调出来我的程序(1h写C还调不出来。。。),一直输出0,不过肯定是DP是确定的 阅读全文
posted @ 2020-02-24 21:38 浪在ACM 阅读(83) 评论(0) 推荐(0) 编辑