首页 > 其他分享 >GJ Round (2024.11) Round 22~?

GJ Round (2024.11) Round 22~?

时间:2024-11-06 20:20:23浏览次数:1  
标签:dots 2024.11 log 复杂度 GJ 序列 mathcal Round

前言: 点此 返回 GJ Round 目录

Round 22 (11.4)

唯一一次快速补完了题

A

AT_arc077_a [ABC066C] pushpush

不懂这原题标号咋这么奇怪

给你一个序列 \(a_1 \dots a_n\),按照如下规则构造新序列:

  • 将 \(a_i\) 插入序列末尾
  • 将整个序列反转

模拟 / 打表找规律:

  • 当 \(n\) 为奇数时,答案为 \(a_n a_{n-2} \dots a_3 a_1 a_2 a_4 \dots a_{n-3} a_{n-1}\)
  • 当 \(n\) 为偶数时,答案为 \(a_n a_{n-2} \dots a_4 a_2 a_1 a_3 \dots a_{n-3} a_{n-1}\)

时间复杂度 \(\mathcal O(n)\)

B

初始给定 \(n\) 个点 \((x_i,y_i)\),给两个点 \(i,j (i \neq j)\) 连边的代价为 \(|x_i-x_j|^3+|y_i-y_j|^3\),\(q\) 次询问,每次加入一条新边,求每次将所有点连通所花费的最小代价

对原图跑 prim 求最小生成树,保留 \(n-1\) 条边,再与新加入的 \(q\) 条边跑 \(q\) 次 kruskal,时间复杂度为 \(\mathcal O(n^2 + q m \log n + m \log m)\),其中 \(m=n-1+q,\log n\) 为并查集的时间复杂度,若是并查集继续使用了启发式合并 / 按秩合并可以优化至 \(\mathcal O(n^2 + q m \alpha(n) + m \log m)\),其中,\(\alpha(n)\) 为反阿克曼函数

实则还可以不跑 q 次 kruskal,直接 dfs 找环删除环上最大边边即可,时间复杂度为 \(\mathcal O(n^2 + q n)\)

C

给你两个长度为 \(n\) 的序列 \(a,b\),保证 \(\forall i,j \in [1,n] \cap \mathbb Z,i \neq j\),都有 \(a_i \neq a_j,b_i \neq b_j\),定义他们的距离为 \(\sum_{i=1}^{n} (a_i-b_i)^2\),求距离的最小值,答案对 \(998244353\) 取模,并求出最小化距离时所需要交换的次数

对于问题一,显然将 \(a\) 序列中的第 \(k\) 大与 \(b\) 序列中的第 \(k\) 大排在一起即可,易证

第二问直接 for 模拟一下每个数是否已到对应位置,总时间复杂度为 \(\mathcal O(n \log n)\)

D

魔法阵是一个任意大小的方阵,满足如下性质:

  1. 设 \((i,j)\) 有 \(a_{i,j}\) 个魔法石,则有 \(a_{i,j} \geq m\)
  2. 设魔法阵大小为 \(k\),任意从魔法阵中选出 \(k\) 个格子,满足任意两个格子不在同一行也不在同一列,那么选出的 \(k\) 个格子的石子数之和是相同的
  3. 魔法阵中对角线石子数之和不能超过 \(n\)

多测,给定 \(n,m\),求方案数,答案对 \(998244353\) 取模

容易发现,\(a_{i,j}=x_i+y_j\) 是一个合法的方阵

钦定 \(\min(x_i)=0\),则方阵与数列之间一一对应,此时 \(a_{i_j} \geq m\) 等价于 \(\min(y_i) \geq m\)

不妨将所有的 \(y_i\) 减去 \(m\),使得问题转化成至多 \((n-km)\) 个石子放入 \(2k\) 个格子,且前 \(k\) 个格子至少有 \(1\) 个没有的方案数,容斥后得:

\[ans= {n - km + 2k\choose 2k} - {n - km + k \choose 2 k} \]

询问时间复杂度为 \(\mathcal O(\sum \lfloor \frac{n}{m} \rfloor)\),然后预处理逆元的复杂度只需要 \(\mathcal O(V)\) 即可,其中 \(V\) 为值域大小

标签:dots,2024.11,log,复杂度,GJ,序列,mathcal,Round
From: https://www.cnblogs.com/lunjiahao/p/18530963/GJ_Round_2024_11

相关文章

  • Educational Codeforces Round 161 (Rated for Div. 2) - VP记录
    Preface先被A题硬控\(20\)分钟,有点不爽。又看到E题AC的人比D题多而去嗑E题去了,结果D题反而是我更能做的。将问题排序:根据你所需付出的努力,将能够最快解决的问题排在前面。(答题的次序为:以前做过的,容易的,不熟悉的,难的)——李博杰《骗分导论》\(\rmP_{114}\)所以......
  • [2024.11.06]NOIP 模拟赛
    不会tarjan不会广义串并联图……赛时T1看上去很可做。看到中位数首先想到二分。在二分的背景下,问题转化为求当前最多能使多少个元素大于等于某个定值。我们不妨先让所有的元素都选择\(a\)值,然后相当于要选择一段连续的\(b\)替换一些\(a\),要求最后总和最大。所以可以新设......
  • 2024.11.5 鲜花
    放点屁话大家多交hack。有的人觉得没意义,这也无可厚非,有的人怕被骂,我一直认为这是多余的,但竟然真的有人骂?这是无法理解的,所以发文声讨一下。叠甲:本文仅代表个人观点,可能有过激言论,不针对任何人。不是你们骂交hack的人是什么心态啊。你站在道德制高点上,谴责人家交hack,你首......
  • 2024.11.5 闲话
    别人的闲话都推图or歌,我的鲜花啥也没有。我也没啥可推的啊,求图or歌高维前缀和常见的柿子是\(s_{i,j}=s_{i-1,j}+s_{i,j-1}-s_{i-1,j-1}+a_{i,j}\)。但是还可以一维一维求。点此查看代码rep(i,1,n,1)rep(j,1,m,1)a[i][j]+=a[i-1][j];rep(i,1,n,1)rep(j,1,m,1)a[i]......
  • 2024.11.05 刷题训练
    2024.11.05刷题训练P7054NWRRC2015Graph构造题,把拓扑序中的队列换成小根堆是最小字典序,此时设置一个大根堆,用于处理连边问题。设\(lst\)是上一个拓扑序中的节点。小根堆堆顶大于大根堆,当前位置最优解,不耗费连边数量。小根堆堆顶小于大根堆,若\(k\)不为\(0\)加入到大......
  • 2024.11 做题笔记
    2024.11做题笔记其实是CSP后到NOIP前的部分10.28怎么KTSC这么困难啊……B.P11237「KTSC2024R1」警察与小偷把警察、小偷所在路径拎出来,此时警察一定往小偷所在方向走,而小偷可以在警察到路径上的某点之前从这点走向路径外,想选尽量长的路径,让警察走的尽量多但可能......
  • 2024.11.4~2024.11.9
    2024.11.4今天早上没有醒来,一抬表发现7:03了直接破防(悲上午模拟赛T1直接一个没思路,想了1h都没想出来,打了10分遗憾离场,T2直接就是死磕1h也没有丝毫思路,然后最后10分非常惨下午都在调T1,直到4点才调完,晚上情绪状态比较不稳定,但是调整的很好,还是坚持做了5到题,比较可以csp-s160分完......
  • 2024.11.04
    今天心情不好,不写模拟赛了模拟赛的内容在学校写完得了,回家写小作文睡觉模拟赛没怎么好好打。第二次打构造题,这种题和其他的是真的不一样。看来我不仅要恶补各种算法,还要锻炼一下我的思维。猜猜今天有没有题目小链接T1【串】题目大意:给出n,k(1<=n,k<=1e5),要求构造出长度为n......
  • java中的Math.round(-1.5)等于多少
       -1等于-1,因为在数轴上取值时,中间值(0.5)向右取整,所以正0.5是往上取整,负0.5是直接舍弃。(观点不认同)Math提供了三个与取整有关的方法:ceil、floor、round(1)ceil:向上取整;(2)floor:向下取整;(3)round:四舍五入;1、ceil:向上取整向上取整:无论小数点后面的数字是多少,都向上取整......
  • 牛客周赛 Round 66 题解
    牛客周赛Round66题解牛客周赛Round66A-小苯吃糖果_牛客周赛Round66#include<bits/stdc++.h>#defineendl'\n'usingnamespacestd;inta[5];voidsolve(){ for(inti=1;i<=3;i++)cin>>a[i]; sort(a+1,a+4); intans=max(a[1]+a[2],a[3]); cout<......