首页 > 其他分享 >ARC167 | 宿命

ARC167 | 宿命

时间:2023-11-01 19:47:08浏览次数:29  
标签:宿命 le frac limits color 元素 ARC167 考虑

ARC167

A.

题目明示,让每组的和尽可能平均就是平衡。

那相当于 \(a\) 升序排序后,前 \(2(n-m)\) 个数首尾配对成组,其余数单独成组即可。

题解有一个值得借鉴的技巧,补 \(0\) 使得 \(a\) 长度为 \(2m\)。

\(\color{green}{\checkmark}\)

B.

记 \(S=\prod\limits_{d|A^B}d\)。

考虑素数 \(p|A\),不妨设 \(p^q || A\)。

考虑计算 \(S\) 中有几个 \(p\):\(cnt_p=\frac{(Bq+1)qB\varphi(\frac{A^B}{p^{qB}})}{2}\)。

那么 \(S\) 中 \(A\) 的次数:\(f_p = \lfloor\frac{cnt_p}{q}\rfloor\)。

那么答案即为 \(\min\limits_{p|A}f_p\)。

只需求解 \(f\) 即可。

注意到 \(f_p = \lfloor\frac{(Bq+1)q\varphi(\frac{A^B}{p^{qB}})}2\rfloor\),\(\varphi(\frac{A^B}{p^{qB}})\) 可以通过处理 \(p\) 的次数得到,分母的 \(2\) 只需考察分子的每个因数是否存在一个偶数即可。

如果实现不好要开 __in128

\(\color{green}{\checkmark}\)

C. \(\color{#DB7D74}{\star}\)

真不会数数。

先拆贡献,枚举 \(a_i\),考虑边权为 \(a_i\) 的边在 MST 中总共出现了几次(下文简称出现了几次)。

我们考虑 Kruskal 算法如何求解 MST:按边权从小到大考虑是否加入每一条边,一条边在 MST 中等价于加入此边后仍不存在环。

一个巧妙且关键的思考角度:对于排列 \(p\) 生成的图,边权为 \(w\) 的边的出现次数等于加入权为 \(w\) 的边之前的连通块个数和加入之后的作差。
这个角度有点像:一次操作的影响相当于操作之前和之后的差异

如果将 \(a\) 升序排列,我们能设 \(f_i\) 表示对于所有排列,只考虑边权 \(\le a_i\) 的边时,能同时选出的边的最大数量(即连通块个数 \(-1\))。
答案就是 \(\sum\limits_{i=2}^n a_i (f_i - f_{i-1})\)。

只需快速求解 \(f\)。

不妨设我们将要求解 \(f_m\)。

由于 \(a\) 已被我们升序排列,在排列中所有 \(>m\) 的元素我们都不用考虑了,直接变为 \((n-m)!\) 的系数。

把排列 \(p\) 中 \(\le m\) 的元素的下标拎出来,按升序记为序列 \(q\)。
那么 \(q\) 中两元素之差 \(\le k\) 等价于有连边,我们要选出尽可能多的边且不构成环。

另一个关键:我们用贪心思想处理最大化的限制

贪心地,我们选取的边一定是 \(q\) 中两相邻元素构成的,否则一定不优。
而且,如果两相邻元素构成的边存在我们一定会选上。
可以证明这是最优策略。

那直接算次数:考虑 \((q_i,q_{i+1})\) 这条边什么时候被选。
只需让 \(q_{i+1}-q_i \le k\)。
将 \([q_i,q_{i+1}]\) 的数捆成一个数,枚举其长度 \(d \le k+1\),相当于 \(m-1\) 个数在 \(n-(d-1)\) 个值域上的洞中随便选,即 \(\sum\limits_{d=2}^{k+1} \binom{n-(d-1)}{m-1} = \sum \limits_{d=1}^k\binom{n-d}{m-1}\)。

有 \(m-1\) 个 \((q_i,q_{i+1})\)。
\(q\) 序列下标映射到 \(p\) 序列的元素值上还有 \(m!\)。

所以 \(f_m=(m-1)m!(n-m)!\sum\limits_{d=1}^k\binom{n-d}{m-1}\)。

直接计算即可,复杂度 \(\mathcal{O(nk)}\)。

\(\color{green}{\checkmark}\)

D. \(\color{#DB7D74}{\star}\)

考虑置换环,那么当且仅当只有一个置换环时合法。

考虑交换操作相当于什么:交换两个不在同一个环的数相当于合并这两个环。

我们考虑从小到大确定每个 \(i\) 的最终位置。

考虑已经确定 \(1 \sim i-1\) 的位置,现在要确定 \(i\) 的最终位置。

如果 \(i\) 已与 \(1\) 在同一个置换环中,由于步数最小,\(i\) 就不需要交换,保持原位。

否则,我们要在与 \(1\) 在同一置换环中,满足元素值 \(>i\) 的情况下,下标最小的那个元素交换。

特别地,如果元素值均 \(<i\),我们选取最后那个,即 \(p_{i-1}\) 进行交换。

拿一个指针 \(j\) 从 \(1\) 开始扫,如果当前 \(p_j>i\) 或者 \(j = i - 1\),那么就进行交换。

复杂度 \(\mathcal{O(n)}\)。

\(\color{green}{\checkmark}\)

E. \(\color{#DB7D74}{\star}\)

真的不会构造。

不妨设其中一个顶点在 \((0,0)\),所有顶点落在 \(I\) 和坐标轴上。

偶数是简单的,直接取 \((2,0)\),和 \((\frac S2,\frac S2)\) 即可。

此处要求 \(S>2\)。

手玩一下,\(S=2\) 无解。

考虑奇数。

先把面积公式写出来:\(S=|x_1y_2-x_2y_1|\)。

由奇偶性分析,和偶数的构造,不难猜到令 \((x_1,y_1)=(3,1)\),推出 \((x_2,y_2)=(\frac{S-3}2,\frac{S-1}2)\)。

但是这个构造要求 \(S\le 9\)。

大胆猜测 / 写个爆搜,\(S=1,3,5,7\) 无解。

\(\color{green}{\checkmark}\)

F.

咕咕咕。

标签:宿命,le,frac,limits,color,元素,ARC167,考虑
From: https://www.cnblogs.com/BK0717/p/17803928.html

相关文章

  • 【题解】AtCoder-ARC167
    AtCoder-ARC167AToastsforBreakfastParty一定不会有空盘,问题转化成\(2m\)个数,其中\(2m-n\)个是\(0\),这样一定是最大值和最小值一起,次大值和次小值一起,以此类推。提交记录:Submission-AtCoderAtCoder-ARC167BProductofDivisors\(A^B=\prod_ip_i^{Bc_i}\),那么答案......
  • [ARC167D] Good Permutation 题解
    题意对于一个长度为\(N\)的排列\(Q\),定义其为好的,当且仅当对于任意整数\(i\in\left[1,N\right]\),在进行若干次操作\(i\leftarrowQ_i\)后可以得到\(i=1\)。给定一个排列\(P\),定义一次操作为交换两个数。定义\(M\)为可以将\(P\)变为一个好的的排列的最小操......
  • ARC167D Good Permutation 题解
    题意给定一个长度为\(N\)的排列\((P_1,P_2,\cdots,P_N)\)。称一个排列\(P\)为“好排列”当且仅当对于所有\(1\leqx\leqN\),都能通过不停地使\(x\leftarrowP_x\)将\(x\)变成\(1\)。通过最小次数操作将\(P\)变成“好排列”,每次操作为交换\(P\)中的两个数\(P_i\)......
  • 不同起点转角相遇,从抖音和小红书看「社区产品」宿命 | 融云观察
    作为社交产品全球热点,Threads偷袭Twitter以及由此升级的马斯克和扎克伯格约架给全球用户上演了一出好戏。关注【融云全球互联网通信云】了解更多别打啦~马斯克直接在新闻下面回复“竞争可以,作弊不行”。不过,现实可能是另一个故事,作弊行不行得通,要看用户买不买账。“复刻”这招对......
  • 宿命大乱斗
    宿命大乱斗是一款由台湾hobbyark开发的moba手游。游戏中你将扮演不同颜色的角色,组队与玩家对战。深入的策略性,无尽的装备选择和多种属于自己的英雄形象,让宿命大乱斗成为了一款独一无二的手游。《宿命大乱斗》游戏亮点:游戏的画面十分的精致。制作组花费了大量的时间设计每个角色......
  • 被ST-Link【The content of ST-Link is corrupt】【Communication error with ST-Link
    直接跳转【4】看解决方法,祝大家都顺利解决【1】我的尝试   【2】我的错误情况【3】我无用的努力【尝试1:点击setting之后的第一个debug页面里面的port要改成sw,不然下载不成功】,其实这样只是比较节约端口而已,当然一般还是都选择【SW】  【尝试2:output里记得把crea......
  • 程序员如何理解生死簿-宿命
    程序员如何理解生死簿-宿命假若:未知的世界有一台超级计算机,这台计算机的算力超级强大,拥有无限的算力。我们生活的世界就是这台计算机上的一个程序,算法逻辑已经固定,人生......
  • D 宿命之间的对决【2023牛客寒假算法基础集训营3】
    D 宿命之间的对决原题链接题意现在给定一个正整数n,小红和小紫轮流操作,每次取n的一个因子x,使得n减去x。谁先将n减到0谁输。小红先手操作,她想知道在双方足够聪明的情况......