首页 > 其他分享 >【题解】AtCoder Regular Contest 161

【题解】AtCoder Regular Contest 161

时间:2023-09-08 17:33:21浏览次数:37  
标签:le 题目 Contest 题解 给定 Regular 顶点 序列 颜色

评价:感觉这场题目质量不咋地啊,都是一些乱搞题

A.Make M

题目描述:

\(N\) 是一个正奇数。我们称一个长度为 \(N\) 的序列 \(S\) 是 M 型序列,当前仅当对于所有的 \(i=2,4,6,\dots,N-1\)(即偶数位),都有 \(S_{i-1}<S_{i}\) 且 \(S_{i}>S_{i+1}\)。

现在给定你一个长度为 \(N\) 的序列 \(A\),请你判断能否通过将 \(A\) 序列里的元素打乱位置使其变为一个 M 型序列。

$ 1\ \leq\ N\ \leq\ 2\ \times\ 10^5 $

题目分析:

我们就是考虑让偶数位尽可能大,而奇数位尽可能小。
所以就是排序之后,让较大的一些认为放到偶数位,让较小的一些认为放到奇数位。
并且要让放到偶数位上尽可能小的,周围放的是奇数位上尽可能小的。

代码:

B.Exactly Three Bits

题目描述:

对于一个正整数 \(X\),定义 \(f(X)\) 为 \(X\) 在二进制表示下 \(1\) 的个数,比如,因为 \(6=110_{(2)}\),\(11=1101_{(2)}\),\(16=10000_{(2)}\),所以 \(f(6)=2\),\(f(11)=3\),\(f(16)=1\)。

现在给定你一个正整数 \(N\),问是否存在一个小于等于 \(N\) 的正整数 \(X\),满足 \(f(X)=3\)。如果存在,请输出满足条件的最大的 \(X\),否则输出 -1

本题有多组数据。
\(1 \le N \le 10^{18}\)

题目分析:

可以直接枚举最高位和次高位,然后判断是简单的。

代码:

C.Dyed by Majority (Odd Tree)

题目描述:

给定一棵 \(n\) 个节点的树,满足每个点的度数为奇数。你需要把每个点染成黑色或者白色,然后所有点同时变成其相邻点颜色的众数,求一个染色方案使得变化后的颜色为给定序列,或者报告无解。
\(2 \le n \le 2\times 10^5\)

题目分析:

考虑我们可以根据叶子节点变成什么直接推得其父亲节点是什么。
也就是说我们其实可以从下到上一层层确定节点的颜色。
如果 \(u\) 的某一个儿子 \(v\) 没有被确定颜色,那么也就是意味着无论这个点放什么在 \(v\) 的子树内都是合法的,我们就可以贪心地将 \(v\) 的颜色认为是 \(u\) 变成的颜色。
有了这个过程就很好做了。

代码:

D.Everywhere is Sparser than Whole (Construction)

题目描述:

我们将非空简单无向图的密度定义为\(\displaystyle\frac{(\text{number\ of\ edges})}{(\text{number\ of\ vertices})}\)。

给你正整数 \(N\) 和 \(D\)。请判断是否存在一个有 \(N\) 个顶点和 \(DN\) 条边的简单无向图 \(G\) ,它满足以下条件。如果存在,请找出一个这样的图。

条件: 让 \(V\) 是 \(G\) 的顶点集。对于\(V\)的任何非空的子集\(X\),由\(X\)诱导的\(G\)子图的密度严格小于\(D\)。

什么是诱导子图?

对于图\(G\)的顶点子集\(X\),\(X\)对\(G\)的诱导子图是顶点集为\(X\)且边集包含连接\(X\)中两个顶点的\(G\)的所有边的图。在上述条件中,请注意我们只考虑既不为空也不为全集的顶点子集。

题目分析:

首先就是怎么判断无解,如果 \(nd > \frac{n(n-1)}{2}\) 则无解,因为边数完全不够。
否则的话考虑贪心地构造,也就是让这些点连的边尽可能平衡,从每一个点向其后 \(d\) 个点连边,可以发现这样构造出来的图就是合法的。

代码:

E.Not Dyed by Majority (Cubic Graph)

题目描述:

给定一个 \(n\) 点 \(\dfrac32n\) 边的简单无向图,其中 \(n\) 为偶数,且每个点的度数恰好为 \(3\)。

将每个点染上黑与白两种颜色后,进行以下操作:

  • 将每个点的颜色变为其连接的点中颜色的众数

请构造一个所有节点的颜色序列,使得无论原图如何染色,在经过一次操作后都不可能变为该颜色序列。多组数据。
\(4 \le n\le 5 \times 10^4\)

题目分析:

推荐做过 C 题之后再来做这个题。
会发现 C 题就已经不好做了,这个题估计根本不可做,所以大胆猜结论随机一个颜色序列大概率不合法。(这个结论也可以通过打表来证明)
考虑给定了一个颜色序列如何判断时候合法,因为每个点度数为 \(3\),所以其实就是相当于:若 \(x\) 的颜色为 \(A\),则 \(y,z\) 的颜色必然为 \(B\),就是一个 2-sat 问题。

标签:le,题目,Contest,题解,给定,Regular,顶点,序列,颜色
From: https://www.cnblogs.com/linyihdfj/p/17688158.html

相关文章

  • CF613D 题解
    一、题目描述:给你一颗$n$个点的树,有$m$组询问。一个点如果被攻占,那么这个点就不能通行了。第$i$次询问给出$k_i$个关键点,关键点不能被攻占。求最少攻占多少个点可以使得关键点两两不连通。若不可能,输出$-1$。数据范围:$1\len,m\le1\times10^5......
  • 9月杂题题解
    arc124_e一种方案的权值为\(\prod\limits_{1\leqi\leqn}b_i\),考虑其组合意义,就是每个人在自己最终的球中选一个。可以发现要么拿自己原来的球,要么拿上一个人传来的球。定义状态:\(f(i,0)\)为第\(i\)个人拿自己的球,考虑前\(i-1\)个人的答案。\(f(i,1)\)为第\(i\)个......
  • nvm有下载版本,切换版本成功,node -v还是切换前的版本问题解决
    是因为在下载nvm之前,电脑中的node版本已经存在了,所以需要将之前的node版本全部清楚干净!卸载node之前请node-v查看一下现在的版本,记住这个版本,切记切记!!!!!控制面板中卸载node.;卸载已安装过的NVM;没装过NVM的就仅仅卸载node去环境变量里面看一下有没有跟nvm和node相关的东西了,有的话全......
  • 【题解】CF1854A2 Dual (Hard Version)
    你考虑我们A1只需要通过自加凑一个最大的数,然后将所有的数都变成正数,最后做一次前缀和即可。(不懂可以看看落谷题解)好,我们现在去看HardVersion的\(31\)次操作怎么分配:前缀和(全为正)/后缀和(全为负)——\(19\)次还剩下\(12\)次,不知道该怎么做。我们的目标便变......
  • 题解 CF1787G【Colorful Tree Again】
    problem贼眉鼠眼有一棵\(N\)个节点的树,这棵树很特殊,每条边都有边权和颜色。果宝特攻会不定时来进攻贼眉鼠眼。具体地,在前\(Q\)个时刻,在每个时刻,会发生以下两个事件之一:果宝特攻摧毁了树上的一个节点\(u\)。贼眉鼠眼修复了树上的一个节点\(u\)。定义一条简单路径......
  • 国标GB28181视频监控EasyGBS接入大量通道时,创建角色接口未响应的问题解决方法
    EasyGBS是一款基于国标GB28181协议的视频云服务平台。它支持多路设备同时接入,并能将视频流以RTSP、RTMP、FLV、HLS、WebRTC等格式分发到多个平台和终端。该平台提供了视频监控直播、云端录像、云存储、检索回放、智能告警、语音对讲、平台级联等功能。在视频能力方面,GB28181视频监......
  • CF868E Policeman and a Tree 题解
    Description.树上警察抓小偷。一名警察速度为\(1\),多名小偷速度为\(+\infty\),问多长时间抓到。树点数\(\le50\)Solution.首先不可能抓不到。其次步数不可能超过\(2500\)(每抓完一个小偷走一遍全图)。这启发我们可以直接暴搜每一步,并记忆化。如果状态设为当前在\(x\),那......
  • 【题解】《PTA-Python程序设计》题目集分享
    第1章-1从键盘输入两个数,求它们的和并输出(30分)本题目要求读入2个整数A和B,然后输出它们的和。输入格式:在一行中给出一个被加数在另一行中给出一个加数输出格式:在一行中输出和值。输入样例:在这里给出一组输入。例如:18-48输出样例:在这里给出相应的输出。例如:......
  • 题解 P8165 [eJOI2021] AddK
    不知道为什么这道题还没有题解。Solution对于操作\(1\),由于\(K\le10\),直接暴力单点修改即可。而操作\(2\)的询问,不难发现,最后结果的呈现形式是\[1\timesA_l+2\timesA_{l+1}+3\timesA_{l+2}+...+3\timesA_{r-2}+2\timesA_{r-1}+1\timesA_r\]其中中间可能有一段系数......
  • SP8177 题解
    2023-09-0111:29:13solution题意:每次询问\([l,r]\)内有多少个数满足可以被所有非\(0\)数位整除。思路看到这个数据范围和题目描述,显然是数位dp。因为\(1\sim9\)的最小公倍数是\(2520\),并且\(2520\)是其他所有\(1\sim9\)子集的最小公倍数的倍数,所以我们只需要......