03 2018 档案
摘要:题意略。 思路:这题要求第k大之和,我们可以算每个数字对答案的贡献。这次,我们采取一个特殊的手法:我们按数字的大小,从小到大来计算贡献。 先从1开始计算,我们知道,1周围的数字都比1大,假设1在位置p,那么它能做出贡献的区间是:[p - k + 1,p],[p - k + 2,p + 1],...,
阅读全文
摘要:题意略。 思路: I.对于整个区间a1,....,an,必然有一个区间[1,n]与之对应,因为a1,...,an是1,...,n的一个排列,所以在[1,n]中定然有一个最小的数字1, 如果最大的区间[l,r]长度比[1,n]小,那么我们可以知道在[l,r]之外的数字是依然大于1的,这使得1这个数字没
阅读全文
摘要:题意略。 思路:题目就是在询问你m次,第k小是哪个数。首先我们可以想到直接排序后,即可O(1)来查找询问。但是题目中n的范围给的是1e7, 无法承受nlogn的复杂度。从而想到另外一种求静态第k小的方法:利用快速排序来做到。时间复杂度是O(n),但是询问次数m是100, 同样无法承受O(n * m)
阅读全文
摘要:题意略。 思路:要你找出所有正多边形,其实是唬人的,整点的正多边形只有正方形,具体证明可以参考 2017国家队论文集-《正多边形》-杨景钦 详见代码:
阅读全文
摘要:题意略。 思路:首先想到暴力去扫,这样的复杂度是n * min(ai),对于gcd = p,对答案的贡献应该是 (a1 / p) * (a2 / p) * .... * (an / p),得出这个贡献未必要暴力地去扫, 我们可以分桶后,再求后缀和,再作差来得到个数后,进行快速幂。比如说:我们想知道g
阅读全文
摘要:题意略。 思路:我们单独考虑每种颜色的贡献,颜色c对答案的贡献 == 含有c的矩形个数,这就是在考查我们计数的能力,暴力可过。
阅读全文
摘要:题意略。 思路:1.对于这种静态的查问第M大是谁的问题,我们是可以采用二分后试探的方法,在试探时,我们要选取原数组中的值来验证。 2.对于一个给定的值x,我们只要知道在b数组中有多少数排在它前面就行。为了知道这个数,我们需要计算整个a数组能贡献多少, 我们枚举区间的左端来一个个计算贡献,由于后面的区
阅读全文
摘要:题意略。 思路:这个题的思路非常诡异。由于题目保证存在这样一个圆,那么每个点在这个圆上的概率是1/2,我任选3个点,这3个点都在这个圆上的概率是1 / 8。 不都在这个圆上的概率是7 / 8,在这样选取30次后,还没有找到这个圆的概率是0.018,根据这个条件我们可以暴力验证。 详见代码:
阅读全文
摘要:题意略。 思路:开始傻傻地还单个去分解[1,5000000]中每一个数字的因子,那必然超时的啊。 正确的做法是用类似于埃式筛法那样预处理一遍。复杂度:O((n / 2 + n / 3 + .....+ )) = O(nlogn)。 详见代码:
阅读全文
摘要:题意略。 这个题目我开始题意理解得有点问题。本题的实质是在这个数列中选择一些数字,使得选出的这些数字之和最大,用dp来解。 我们先要明确:当我选择数列长度为2 * c时,不如把这个长度为2 * c的劈成两个c,这样对答案的贡献更大一些。 定义dp[i]为我在[i,n]中可谋取的最大贡献。 dp[i]
阅读全文
摘要:题意略。 思路:这个题目最重要的是那个不等式 a[i] <= a[i+1] <= 2 * a[i] ,你会发现0 <= a[i+1] - a[i] <= a[i],令x = a[i+1] - a[i],那么对于a[i-1]来说, 当x = 0时,abs(x - a[i-1])== a[i - 1];
阅读全文
摘要:中文题,题意略。 这个题点少坐标范围大,直接离散化后建图搞。 这个题目卡vector,真是一脸懵逼。。。。。。。。。。。。
阅读全文
摘要:题目为中文,题意略。 这个题目我开始用贪心做bfs两次,这样做是错的,因为两次局部的最优解并不能得出全局的最优解,以下面样例说明: 3 0 10 -1 10 10 10 1 0 10 第一次贪心后: 0 10 -1 0 0 0 1 0 0 第二次贪心后: 0 0 -1 0 0 0 1 0 0 这样贪
阅读全文
摘要:题意略。 本题考查动态规划,顺便考查一下优化。 这个题目可以归约到最长递增子序列那一类,定义状态:dp[i][j] 当前以第i个数结尾,前一个数是第j个数的最长序列。 if(a[i] == a[k]) dp[i][j] = dp[j][k] + 1; 这里不用再去枚举k了,因为从小到大枚举j时可以顺
阅读全文
摘要:题意略。 做这个题有2个收获: 1.认识了atan2(y,x)这个函数,该函数可以求出原点到点(x,y)组成的向量,与x轴正方向形成的夹角。 2.这个题目的思路是极角排序后,取360 - 后一个点的角度与前一个点的角度的差值中最小值为答案,但是当这些点没有布满360度的方向怎么办呢? 这里我们新添一
阅读全文
摘要:题意略。 这个题目最关键的是在于计算球冠的体积。令球冠体积为V。 我们可以用祖暅原理来计算V, 这里,可以看出,球冠的体积等于左图的上半个圆柱减去那个倒扣的圆台。 祖暅原理:界于两个平行平面之间的两个立体,被任一平行于这两个平面的平面所截,如果两个截面的面积相等,则这两个立体的体积相等。 V = P
阅读全文
摘要:题意略。 开始想开一个三维的树状数组,但是一算空间不够,正解是离线操作,按位来计算,一共是10位,所以总共是扫10遍,第i遍只处理第i位的询问, 注意在修改后,要把当前这个位的值存下来(这就是cur数组的作用)!
阅读全文
摘要:题意略。 巧妙的尺取法。我们来枚举每个字符str[i],计算以str[i]为结尾的符合题意的串有多少个。那么我们需要处理出str[i]的左边界j,在[j,i]之间的串均为符合题意的 串,那么str[i + 1]能否利用str[i]的处理结果呢?是可以的。str[i + 1]的左边界 >= str[i
阅读全文

浙公网安备 33010602011771号