• 2024-06-09题解集合
    黑暗爆炸(BZOJ)3196洛谷P3380AtCoderabc340_fabc345_fabc346_aabc346_babc346_cabc346_dabc346_eabc350_fabc350_gabc351_dabc351_fLibreOJ106
  • 2024-05-08【做题纪要】ABC351
    【做题纪要】ABC351昨天ABC打了三道题就去看别人颓了,也是喜提\(\text{-20rated}\)不懂,就我这棕色的名字还能扣\(\text{rated}\)吗?早知道认真打了特别感谢:文心一言对于题目的翻译支持A-Thebottomoftheninth题意高桥队和青木队正在进行一场棒球比赛,高桥队首先进行
  • 2024-05-02ABC351
    Alink算出两个队分别得了几分,让木青队的总得分比高桥队多\(1\)即可。点击查看代码#include<bits/stdc++.h>usingnamespacestd;intgq,mq;signedmain(){ intx; for(inti=1;i<=9;++i){ cin>>x;gq+=x; } for(inti=1;i<=8;++i){ cin>>x;m
  • 2024-05-01ABC351F
    F-DoubleSum题意简述Justit.思路1发现很像求正序对,但是需要具体数字计算。只考虑\(A_j-A_i>0\),那么我们把\(A_j,-A_i\)分开计算。考虑\(A_j\)被计算的清形,其实就是以它结尾的正序对个数。考虑\(-A_i\)被计算的清形,其实就是以它开头的正序对个数,翻转序列,转化为以
  • 2024-04-30ABC351讲解
    ABC351A:题意思路:直接按题意模拟,求出\(\SigmaA\)和\(\SigmaB\)再相减便是差,因为要获胜所以再\(+1\)即可。代码B:题意思路:直接按照题意\(N^2\)枚举即可。代码C:题意思路:直接按照题意模拟即可。代码D:请lrx讲解。F:题意思路:题意十分简单,就是求\(\Sig
  • 2024-04-28[题解]ABC351 D~F
    D-GridandMagnet[明天更]E-JumpDistanceSum一开始想到的思路很复杂,先把\(n\)个点按照\(x+y\mod\2\)分成\(2\)组,对于每一组用线段树维护……总之很繁多,虽然有完整的思路,理论上也应该可行,但是实现太麻烦就看题解了。题目描述的距离叫切比雪夫距离,也就是\(x\)坐标之差
  • 2024-04-28C - Merge the balls
    C-Mergetheballshttps://atcoder.jp/contests/abc351/tasks/abc351_c 思路使用stack记录序列路径对栈顶两个元素尝试做缩减处理。 Codehttps://atcoder.jp/contests/abc351/submissions/52873456intn;stack<longlong>sq;intmain(){cin>>n;
  • 2024-04-28AtCoder-abc351_f讲解
    原题翻译给定一个序列\(A\),求出:\[\sum\limits_{i=1}^N\sum\limits_{j=i+1}^N\max(A_j-A_i,0)\]答案小于\(2^{63}\)。思路这里提供三种思路(分块经XXR尝试,卡常卡不过):1权值树状数组将\(A\)离散化,设\(rk_i\)为\(A_i\)离散化后的排名,去重后元素个数为\(M\)。每
  • 2024-04-28AtCoder-abc351_d 题解
    原题翻译题意简述给定\(H\timesW\)的网格图,如果一个字符是#,则不能走到该字符上;如果是.,则可以走到该字符上,但如果它周围\(4\)个格子中有#字符,则不能再继续行走了。自由度是指从一个格子出发,能走到不同格子的数量(可以出发多次)。求出所有格子的最大自由度。思路考虑
  • 2024-04-27ABC351
    A.Thebottomoftheninth答案为\(\suma_i-\sumb_i+1\)B.SpottheDifference模拟C.Mergetheballs直接按题意模拟就是\(O(n)\)的,那么这题的瓶颈就在于两个球做合并,注意到\(2^a+2^a=2^{a+1}\),那么我们就可以不考虑底数\(2\),而直接处理指数即可代码实
  • 2024-04-27ABC351
    我多久没更新这个系列了啊E把格子分成两类,每一类之间的坐标均可互相走到。然后将这里面的点都旋转\(45\)度,于是这个问题就被转换成曼哈顿距离的问题了。我们可以把\(x\)和\(y\)拆开计算。然后我们排个序,求个差分,然后对于每一个区间算贡献即可。code
  • 2024-04-27ABC351_F 题解
    实际上很板。考虑在\(i\)后小于\(val_i\)的数都对答案没贡献,所以我们只需要知道在\(i\)后且大于\(val_i\)的数的和以及有多少个这样的数就可以了。知道了我们要求什么,就可以一眼权值线段树。从后往前扫不断加入数,然后访问对应区间即可,当然因为值域比较大,所以还要离散化