![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
牛客多校
玛珈山大萌新
破山中贼易,破心中贼难。不破不立,破而后立,立而为人。
展开
-
2020牛客暑期多校训练营(第八场)
题目:I.Interesting Computer Game分析:参考博客简单来说就是将每个数字看成一个点,然后每一对数可以连一条边,最后对于每个连通分支,如果有环,则结果只能+=该联通分支的点数,否则结果+=点数-1代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;//typedef __int128 lll;#define print(i) cout << "debug: "原创 2020-09-17 15:47:00 · 49 阅读 · 0 评论 -
2020牛客暑期多校训练营(第六场)
题目:K.K-Bag分析:可以先把输入离散化(用map会t),然后对于每个位置l求出最右侧的r,使得[l, r]内元素不重复且区间长度最长。由于给定的序列一定是这样的结构:部分k的排列 + k的排列 + k的排列 + …+k的排列 + 部分k的排列所以我们可以枚举第一个k的排列的起点(再该起点之前的部分默认是合法的),然后从当前点往后一直跳,跳的同时判断该段的合法性。代码:#include <bits/stdc++.h>using namespace std;typedef lo原创 2020-08-24 15:08:01 · 124 阅读 · 1 评论 -
2020牛客暑期多校训练营(第五场)
题目:D.Drop Voicing给你一个n的排列,定义两个操作:操作1:将倒数第二个元素插到第一个元素前面操作2:将第一个元素插到最后一个元素后面一段连续的操作1当做1次操作,操作2随意使用,不计次数。问至少经过多少次操作(多少段连续的操作1)使得序列为上升的分析:将两端首尾相接,设len为环上的LIS, 答案就是n-len。因为对于不在LIS上的元素必定可以通过多次操作2将其移动到最后一个位置,然后再经过多次操作1,使其加入原来的LIS并构成新的更长的LIS。所以只需求n次LIS即可,复原创 2020-08-07 18:27:25 · 130 阅读 · 0 评论 -
2020牛客暑期多校训练营(第四场)
题目:H.Harder Gcd Problem分析:先找出每个数的最大质因数,将最大质因数相同的放在一个集合中,从后往前遍历每一个集合,如果该集合大小>=2并且大小为偶数,则可以两两配对,若为奇数,设该质因数为p,将2p放入质因数为2对应的集合中。代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;//typedef __int128 lll;#define print(i) cout &l原创 2020-08-02 19:58:23 · 141 阅读 · 0 评论 -
2020牛客多校训练第三场
题目完成情况A. Clam and Fish√B. Classical String ProblemC.Operation LoveD. Points Construction ProblemE.Two MatchingsF.Fraction Construction ProblemG.Operating on a GraphH.Sort the Strings RevisionI.Sorting the Array...原创 2020-07-30 12:42:06 · 297 阅读 · 0 评论 -
2020牛客多校训练第二场
题目完成情况A. All with PairsB. Boundary√C.Cover the TreeD. DurationE.Exclusive ORF.Fake Maxpooling√G.Greater and GreaterH.Happy TriangleI.IntervalJ.Just ShuffleK.Keyboard FreeB.Boundary题意:给你n个点,任意两个点可以跟圆心确...原创 2020-07-30 11:21:40 · 155 阅读 · 1 评论 -
2020牛客多校训练第一场
H.Minimum-cost Flow分析:可以先假设每条边的容量是1,然后跑mcmf,按费用从小到大求出各条增广路。然后对于q次询问,我们可以转化为每条边的容量为u,总流量(从原点出发的流)是v,求出此时的mincost,然后除以v即可代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;//typedef __int128 lll;#define print(i) cout << "原创 2020-07-29 13:36:23 · 92 阅读 · 0 评论