首页 > 其他分享 >Codeforces Round 926 (Div. 2) 题解

Codeforces Round 926 (Div. 2) 题解

时间:2024-02-16 13:11:07浏览次数:40  
标签:题解 对角线 Codeforces 涂色 染色 操作 Div 2n

比赛链接:https://codeforces.com/contest/1929

官解链接:https://codeforces.com/blog/entry/125943

出的很差的一场。

推歌

CF1929A. Sasha and the Beautiful Array

题意

任意排列数组 \(a_{1..n}\),求 \(\sum_{i=2}^n (a_i - a_{i-1})\) 的最大值。

题解

见过最显然的 A 题,奠定了本场题目简单的基调。

众所周知 \(\sum_{i=2}^n (a_i - a_{i-1}) = a_n - a_1\),又因为可以任意排列,答案就是 \(\max(a) - \min(a)\)。

代码实现

void solve() {
    int n;
    cin >> n;
    vector<int> a(n);
    for (int &x: a) cin >> x;
    cout << ranges::max(a) - ranges::min(a) << '\n';
}

CF1929B. Sasha and the Drawing

题意

在一个 \(n \times n\) 的正方形网格上,最少要给多少个格子涂色,才能使至少有 \(k\) 条对角线上至少有一个格子被染色?

题解

垃圾场特有的猜猜题,但我一开始画图画错了,导致猜错了……

在一个最优方案中,涂色一个格子只会使染色对角线的数目增加 \(1\) 或 \(2\)。且我们永远可以将染色两条对角线的操作提前(因为他不会和任何之前的操作产生冲突!)。那么问题就是如何连续进行尽可能多的染色两条对角线的操作。

我们有一种染色方案,能使得共 \(2n\) 次操作中,只有最后两次操作只染色一条对角线,前 \(2n-2\) 次操作如下图:

image

要证明这是最优方案,只要说明不可能所有操作都能够染色两条对角线。很简单:左下角和右上角的两个小方格,它们所在的两条对角线均只能通过这一条小方格染色,也就是这两次涂色必然进行;但它们又在同一条反对角线上,因此两次涂色擦操作必定至少有一次只染色一条对角线。

若所有操作均染色两条对角线,需要的操作次数为 \(\lceil \dfrac k 2\rceil\)。当 \(\lceil \dfrac k 2\rceil \le 2n-2\) 时,即为答案;否则答案为 \(2n-2 + k - 2 * (2n-2) = k + 2 - 2n\)。

代码实现

void solve() {
    int n, k;
    cin >> n >> k;
    if (k <= 4 * n - 4) {
        cout << (k + 1) / 2 << '\n';
    } else {
        cout << k + 2 - 2 * n << '\n';
    }
}

CF1929C. Sasha and the Casino

题意

题解

这场比赛最有趣的一题。

标签:题解,对角线,Codeforces,涂色,染色,操作,Div,2n
From: https://www.cnblogs.com/cpchenpi/p/-/CF1929-solutions

相关文章

  • HH的项链 题解
    题目描述HH有一串由各种漂亮的贝壳组成的项链。HH相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一段贝壳,思考它们所表达的含义。HH不断地收集新的贝壳,因此他的项链变得越来越长。有一天,他突然提出了一个问题:某一段贝壳中,包含了多少种不同的贝壳?这个问题很难回答。。......
  • Codeforces Round 926 (Div. 2)
    A-SashaandtheBeautifulArray给出的是差分的和,显然等于最后一个减掉第一个,于是答案为最大值减最小值。SubmissionB-SashaandtheDrawing观察到:前几次操作可以使答案\(+2\),之后每次只能让答案\(+1\)。手玩一下发现最优方案是先填满第一列,再从最后一列第二行填到倒......
  • 盖房子 题解
    题目描述永恒の灵魂最近得到了面积为n*m的一大块土地(高兴ING_),他想在这块土地上建造一所房子,这个房子必须是正方形的。但是,这块土地并非十全十美,上面有很多不平坦的地方(也可以叫瑕疵)。这些瑕疵十分恶心,以至于根本不能在上面盖一砖一瓦。他希望找到一块最大的正方形无瑕疵土......
  • 三角蛋糕 题解
    题目描述XP在机房里放了一块正三角形的大蛋糕,但是第二天他发现蛋糕被老鼠咬坏了。XP不想让蛋糕白白的被浪费,于是他把蛋糕分割成了一个个的小正三角形(如上图所示)。黑色的小正三角形表示老鼠把那一块咬坏了。XP想要切出一块最大的没被老鼠咬坏正三角形的蛋糕,可是最大的三角形有多......
  • Codeforces Round 906 (Div. 2)
    A.Doremy'sPaint3对于式子\(b_1+b_2=b_2+b_3=\dots=b_{n-1}+b_n=k\),从中挑出\(b_i+b_{i+1}=b_{i+1}+b_{i+2}\),得到\(b_i=b_{i+2}\),这就意味着所有奇数位置上的数需要相等,所有偶数位置上的数也需要相等。对于\(n\)个数而言,有\(\lceil\frac{n}{2}\rc......
  • CF896C Willem, Chtholly and Seniorious 题解
    题目链接:CF或者洛谷比较经典的题目看到存在随机数据以及区间赋值先别急,我们发现第四个操作是很难办的,第四个操作貌似只有暴力才好做。这个时候我们可以考虑使用珂朵莉树来做,这题也是珂朵莉树的出处。使用平衡树去写珂朵莉树的话,那么随机数据下,连续段的期望为\(\log{n}\)个,所......
  • 洛谷 P9912 [COCI 2023/2024 #2] Zatopljenje 题解
    首先发现区间中的个数等于\(\texttt{高度大于x的位置的个数}-\texttt{连续两个位置都是大于x的位置的个数}\)。具体令\(H_i=\min(h_i,h_{i+1})(i\in[1,n-1])\),那么对于一次询问答案\(ans=\sum\limits_{i=l}^{r}[h_i>x]-\sum\limits_{i=l}^{r-1}[H_i>x]\),其......
  • P9089 「SvR-2」Work 题解
    P9089「SvR-2」Work可以找到一些性质:如果串\(c(字符)+A\)合法则串\(A\)合法,反之如果串\(A\)不合法则串\(c(字符)+A\)不合法如果串\(A,B\)合法(\(len(A)<len(B)\))且\(c+A\)合法,则\(c+B\)合法,而长度最小的合法串一定是一个后缀组成的那么可以得到以下算法用一......
  • 「题解」P6130 随机红包
    在\([0,1]\)上随机撒\((n-1)\)个点划分成\(n\)段,求第\(k\)大的段长的期望。从Appleblue17老师的题解中学的,大概详细写很多一笔带过但是我不认为很简单的步骤。Part1令随机变量\(X\)为第\(k\)大的段长。\(E(X)=\int_0^1P(X=x)x\textdx=\int_0^1P(X\geqx)\text......
  • 「题解」ARC139F Many Xor Optimization Problems
    考虑线性空间的标准基底(即每个主元都只有对应向量有值),答案为所有基底异或和。对于一个秩\(k\)计算它对答案的贡献。固定主元为\(a_1<a_2<\cdots<a_k\),各种情况应该是等概率,也就是对第\(i\)个基底来说,\(a_i\)位一定为\(1\),再往下的位除了在\(a\)出现过的以外的位0/1是......