摘要: 题意: 给你一个序列,如果有一个数满足序列里的一段子序列的和等于这个数,那么就称这个数为特殊数。 请你计算有多少个特殊数。 题解: 观察数据范围,我们可以构造一个桶记录每个数的出现次数,再枚举所有前缀和统计,用完这个桶就把它清空,时间复杂度O(n^2)。一开始写的map做法也是这个复杂度不知道为什么 阅读全文
posted @ 2020-05-23 19:10 zlc0405 阅读(161) 评论(0) 推荐(0) 编辑
摘要: /* * CF1350E * 题意: * 给出一个n*m的01矩阵,q组询问,称一个方格(i,j)是好的,当且仅当至少有一个 * 与(i,j)相邻的方格颜色与(i,j)相同,经过一个回合后,好方格的颜色改变而不好的方格颜色不变。 * 每组询问给出i,j,p,问p回合后方格(i,j)的颜色是什么。 * 阅读全文
posted @ 2020-05-23 15:18 zlc0405 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 题意: 给出一个序列,每次操作可以选择一段子序列,使得里面的最小的比中位数大的值为t,子序列所有的值都变成这个t。(子序列长度len,中位数(len+1)/2)。 现在给出一个数k,询问能否通过操作把整个序列变成k。 题解: 找规律可以发现,我们需要序列里有一个数是k,同时需要存在两个大于等于k的数 阅读全文
posted @ 2020-05-23 15:17 zlc0405 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 题意: 给出一个序列,两两之间的最小公倍数可以组成一个集合,计算这个集合的最大公因数。 题解: 第三题一般不会涉及算法,还是要向二分或前缀和的方向想一下。对于a1与剩下所有的数组成的最小公倍数,可以推导出: gcd(lcm(a1,a2),lcm(a1,a3)....lcm(a1,an)) = lcm 阅读全文
posted @ 2020-05-23 15:12 zlc0405 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 题意: 给出一个序列,请你找最长上升子序列,但要保证子序列里的从小到大的下标满足被整除的关系。 题解: 一开始一直tle,后来我的做法是从1到1e5预处理出每个数的因子,用邻接表存起来,然后就是最基本的上升子序列问题了。 #include<bits/stdc++.h> using namespace 阅读全文
posted @ 2020-05-23 15:07 zlc0405 阅读(168) 评论(0) 推荐(0) 编辑