牛客多校
文章平均质量分 51
吃一口AC摇摇乐
这个作者很懒,什么都没留下…
展开
-
2021牛客暑期多校训练营4Average(前缀和+浮点二分)
思路:对于矩阵WWW,给他硬二维构造肯定是不行,空间太大,那么我们肯定就要寻找其中的规律。我们假定存在一个hhh行,kkk列的子矩阵使得答案最大,我们可以发现每个aia_iai只与第i行有关,而每个bib_ibi只与第i列有关,在模拟一下平均值:(a1+a2+a3……+ah)∗k+(b1+b2+……+bk)∗hh∗k\frac{(a_1+a_2+a_3……+a_h)*k+(b_1+b_2+……+b_k)*h}{h*k}h∗k(a1+a2+a3……+ah)∗k+(b1+b2+……+bk原创 2021-07-28 21:46:39 · 103 阅读 · 0 评论 -
2021牛客暑期多校训练营4 LCS(构造)
思路:首先我们将a,b,ca,b,ca,b,c进行排序找到最小值,下面我们假设ccc为最小值,我们首先给三个字符串分别加上ccc个‘a’‘a’‘a’。其次,我们就对s1,s2s1,s2s1,s2分别加上a−ca-ca−c个‘b’‘b’‘b’,对s2,s3s2,s3s2,s3分别加上b−cb-cb−c个‘c’‘c’‘c’至此我们三个字符串所有相同的部分就构造完了,而各个字符串也有了长度分别为:s1=c+a−cs1=c+a-cs1=c+a−cs2=c+a−c+b−cs2=c+a-c+b-cs2=c+a−原创 2021-07-28 21:31:27 · 102 阅读 · 0 评论 -
2021牛客暑期多校训练营3 black and white(最小生成树)
题目大意古德特有一个有n行m列的白色棋盘。每个格子(i,j)有一个权重c(i,j)。在任何时候,网格(i,j)都可以被染成黑色,代价是c(i,j)。古德特有一个特殊的才能。对于任意两行两列的四个相交方格,如果其中三个是黑色方格,古德特可以不计成本地将第四个方格染成黑色。请找出染黑棋盘的最低成本。由于格子的数量很多,我们用以下方法来产生权重。思路:首先我们来证明需要遍历的点数我们可以发现,当染色点所在位置经过平移可以在图中心形成一个十字时,就可以将整个图全部染色,那么也就是说,我们至少需..原创 2021-07-25 20:06:19 · 236 阅读 · 1 评论 -
2021牛客暑期多校训练营2 I.Penguins
I.Penguins题目大意:在一个20∗4120*4120∗41的网格里有两只企鹅,一只位于(20,20)点最终要到达(1,20)点,另一只在(20,22)点最终要到达(1,22),两只企鹅在左右方向上做镜面运动,在上下方向上同上同下,如果企鹅的下一步遇到障碍或是边界,企鹅可以忽略这一步。思路:赛时调了好久没有调出来啊。。????补题又调了好久。。总而言之,思路很简单,利用bfs将整个图走一遍,将每一个点的上一个点进行保存,最后按照字典序入队即可。#include<iostream>原创 2021-07-20 14:12:35 · 153 阅读 · 0 评论 -
2021牛客暑期多校训练营2 K stack(思维 + 构造)
K stack题目大意:给定数组 bbb 中的 kkk 个元素,其记录了栈的大小,而数组aaa存储入栈的元素,当栈顶元素大于入栈元素时则弹出栈顶元素。思路:首先对于bbb中元素,在一个b[i]b[i]b[i]不为0的元素之前的bbb一定是1,2,...,b[i]1 ,2, ... , b[i]1,2,...,b[i]的子序列,所以我们干脆构造出一个合法的bbb数组,对于这个数组,如果某处无值,那么我们就让他等于前一个数+1。在构造完之后,我们还要判断该数组是否合法,显然,一个数大于他前一个数原创 2021-07-20 15:36:55 · 223 阅读 · 0 评论 -
2021牛客暑期多校训练营2 F Girlfriend (阿波罗尼斯圆+简单几何)
F Girlfriend (阿波罗尼斯球+简单几何)题目大意:给定四个点,每两个点构成一个阿波罗尼斯球,求两圆相交部分的体积。思路:一看就是几何题啊,话不多说直接开淦。。。首先对于阿波罗尼斯球的性质得到∣PA∣==K∗∣PB∣|PA| == K*|PB|∣PA∣==K∗∣PB∣假设A(x0,y0,z0)A(x_0,y_0,z_0)A(x0,y0,z0),B(x1,y1,z1)B(x_1,y_1,z_1)B(x1,y1,z1)那么我们有:(x−x0)2+(y−y0)2+(z−z0)2原创 2021-07-20 22:05:54 · 318 阅读 · 1 评论 -
牛客2021暑期训练3-J-Counting Triangles(思维)
题目大意:给定一个无向完全图,求其中边颜色相同的三角形有多少个。思路:赛时写了一个自以为 O(O(O(n^2))) 的搜索(实则O(O(O(n^3))))????。其实可以根据高中知识得出三角形的个数为n∗(n−1)∗(n−2)/6n*(n-1)*(n-2)/6n∗(n−1)∗(n−2)/6,如果三角形不满足三条边颜色相同的话,那肯定有两条边颜色相同,所以我们只需要遍历每一个点,记录其黑边与白边的乘积也就是不合格的三角形个数的二倍,最后用总数减去他的二分之一即可。#include<iostr原创 2021-07-25 13:10:23 · 129 阅读 · 0 评论