首页 > 其他分享 >ARC153 ABC 题解

ARC153 ABC 题解

时间:2023-01-14 23:26:57浏览次数:50  
标签:... ABC 题意 题解 括号 一维 ARC153 考虑 +...+

A

【题意】
给定 \(N\),求第 \(N\) 个满足以下条件的数:

  • 它是一个 \(9\) 位数,没有前导 \(0\)。
  • 它的第一位等于它的第二位。
  • 它的第五位等于它的第六位。
  • 它的第七位等于它的第九位。

例如 \(998244353\)。

保证存在第 \(N\) 个这样的数。


【分析】
本质不同的数只有 \(10^6\) 个。可以直接枚举。

也可以按位直接求,显然第 \(\mathtt{ABCDEF}\) 个满足条件的数是 \(\mathtt{(A+1)(A+1)BCDDE(F-1)E}\)。

B

【题意】
给定 \(N\times M\) 的字符矩阵。做 \(Q\) 次操作,每次形如把矩阵竖着和横着切两刀,形成的四个区域分别翻转 \(180°\)。

求操作之后的矩阵。

\(N,M,Q \le 2 \times 10^5\)


首先考虑一维怎么做。手玩一下如下图:(我们只关心每个位置最后跑哪里去了,不妨设 \(c_i = i\))

image

注意到不管怎么翻转,都是一个 \(1 \sim 7\) 正或反着循环放在某一个位置上。进一步地,如果操作次数为奇数,那么是反的。否则是正的。位置怎么考虑?考虑追踪 \(1\) 和 \(7\) 的分界线,不难发现进行左端点为 \(x_1,x_2,...,x_k\) 的操作之后,它在什么位置上:
\(x_1-x_2+...+x_k\)(\(k\) 为奇数)
\(-x_1+x_2+...+x_k\)(\(k\) 为偶数)

然后就能做一维的情况了。

接下来推广的时候我们会发现两维之间是独立的,根本不需要其他什么考虑就可以推广了。

因此我们得到了一个做法:每一维分别考虑,每一维只需要维护形如 \(x_1-x_2+...+x_k\) 的一个数,最后按顺序放置标记位置的数字即可。

时间复杂度 \(O(NM + Q)\)。

C

【题意】给定数列 \(A_1,A_2,...,A_n\),其中每个数都是 \(1\) 或者 \(-1\)。试图构造 \(B_1,B_2,...,B_n\) 使得 \(B\) 严格递增并且 \(\sum \limits_{i = 1}^{n} A_i B_i = 0\)。


先给 \(B\) 随便赋值,然后调整一下。

考虑随便赋值之后,得到的数是 \(k\)。我们可以给某一个前缀减去某个数,或者给后缀加上某个数,使得总共变化了 \(-k\)。如下图所示。

image

令选出的位置的 \(A\) 之和为 \(t\)。不难发现 \(t\) 取 \(1\) 或者 \(-1\) 的时候是最好的(灵活性最大,并且限制也最少)。

如果 \(k>0\),需要总共加上一个负数。那么可以选择一段 \(t = 1\) 的前缀,给它们分别减去 \(k\);或者选出一段 \(t=-1\) 的后缀,给它们分别加上 \(k\)。

\(k<0\) 同法。

如果选不出来怎么办?其实这些情况都是无解的。考虑证明。

因为选不出来的串首先长度是偶数,其次形如下面这样的数列,可以让 \(1\) 表示左括号或者右括号,\(-1\) 表示另一种括号,得到一个合法括号序列

image

我们会发现这样的时候选不出 \(<0\) 的前缀,也选不出 \(>0\) 的后缀。

其实我们考虑一一匹配的括号。不妨考虑左括号是 \(1\),右括号是 \(0\) 的情况。令一对匹配括号的下标是 \(i,j\)。这时候由于 \(B\) 数组左边永远比右边小,因此 \(B_iA_i = B_i < B_j= -B_jA_j\)。

因此这样得出来的一定是个小于 \(0\) 的数,因为每一对数字加起来都小于 \(0\)。

image

因此有解构造,无解输出就行。

标签:...,ABC,题意,题解,括号,一维,ARC153,考虑,+...+
From: https://www.cnblogs.com/Zeardoe/p/17052767.html

相关文章

  • Atcoder abc275F
    Atcoderabc275F题意:给出一个长度为\(n\)的数组\(A=(a_1​,a_2​,…,a_N)\),问是否能通过删掉一些子段使剩下的数之和为\(q\)。若可以,求出最小操作次数,否则输出−1......
  • XMU 2023.1.14 题解汇总
    A、CF1779A原题B、https://www.cnblogs.com/wondering-world/p/17038860.htmlC、https://www.luogu.com.cn/problem/solution/P4305D、快速幂模板点击查看代码#incl......
  • DTOJ-2023-01-02-测试-题解
    (2023省选模拟Round#4)之前感冒了一阵子,错过了两场省选模拟,不过我不打算补(乐成绩:0+42+0(就是说T1写挂了)A题目链接题目大意小\(\omega\)最近学习了分治\(\text{......
  • AcWing 第 86 场周赛 ABC
    https://www.acwing.com/activity/content/competition/problem_list/2794/4794.健身#include<bits/stdc++.h>usingnamespacestd;typedeflonglongLL;typedefpa......
  • 【题解】P4565 [CTSC2018]暴力写挂
    能写点分为什么要写这种玄学东西。思路边分树合并。首先考虑点分,发现只会T飞的做法。但是答案的形式有点意思,换一下写法:\(ans=\frac{1}{2}\max(\operatorname{dis......
  • Codeforces 1630 E Making It Bipartite 题解 (Dilworth定理)
    题目链接首先可以想到把题目中的那张图G建出来,由于要求这张图是二分图,把它复制一遍(\(G\toG'\)),然后对于每个u,连一条无向边\(u-u'\),这样就变成了最大独立集问题。但是一......
  • Codeforces 1630 E Making It Bipartite 题解 (Dilworth定理)
    题目链接首先可以想到把题目中的那张图G建出来,由于要求这张图是二分图,把它复制一遍(\(G\toG'\)),然后对于每个u,连一条无向边\(u-u'\),这样就变成了最大独立集问题。但是一......
  • P1390 公约数的和 题解
    传送门题意:求出\(\sum\limits_{i=1}^{n}\sum\limits_{j=i+1}^{n}\gcd(i,j)\)原式\(=\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{i-1}\gcd(i,j)\)\(=\sum\limits_{d=1......
  • P4220 题解
    前言题目传送门!更好的阅读体验?思路代码为了使代码更容易通过,可以像我一样膜拜大佬,获得随机种子,通过的概率更大。#include<iostream>#include<cstdio>#include<......
  • 【题解】P5030 长脖子鹿放置(网络流)
    长脖子鹿放置题目背景众周所知,在西洋棋中,我们有城堡、骑士、皇后、主教和长脖子鹿。题目描述如图所示,西洋棋的“长脖子鹿”,类似于中国象棋的马,但按照“目”字攻击,且没......