首页 > 其他分享 >CF1818B ndivisible 题解

CF1818B ndivisible 题解

时间:2024-01-15 19:22:06浏览次数:34  
标签:le frac 题解 奇偶性 CF1818B end 整除 aligned ndivisible

题意简述

  • 构造一个长度为 \(n\) 的排列 \(A\),使得对于任意的 \(l,r\)( \(1 \le l < r \le n\))都满足 \(A_l+A_{l+1}+⋯+A_r\) 不可以被 \(r-l+1\) 整除。
  • 输出其中一种合法排列即可。

解题思路

构造题。考虑对 \(n\) 进行分类讨论:

  • 当 \(n = 1\) 时,由样例即可得合法排列为 \(1\)。
  • 当 \(n\) 为大于 \(1\) 的奇数时,因为 \(n-1\) 和 \(n+1\) 必然能被 \(2\) 整除,故不论 \(A\) 如何排列,只需取 \(l=1,r=n\),必有

\[\begin{aligned} A_l+A_{l+1}+⋯+A_r &= A_1+A_2+⋯+A_n \\ &=\frac{n \times (n+1)}{2} \end{aligned}\]

被 \(r-l+1=n\) 整除。故程序输出 \(-1\)。

  • 当 \(n\) 为偶数时,先猜后证。

先猜测构造方案:

首先,取 \(l=i,r=i+1\)(其中 \(1 \le i \le n-1\)),则

\[\begin{aligned} A_l+A_{l+1}+⋯+A_r &= A_i+A_{i+1} \end{aligned}\]

如果 \(A_i,A_i+1\) 同奇偶,则上式为偶数,有可能会被 \(n\) 整除。

所以 \(A_i,A_i+1\) 奇偶性不同(其中 \(1 \le i \le n-1\))。

其次,取 \(l=i,r=i+2\)(其中 \(1 \le i \le n-2\)),则

\[\begin{aligned} A_l+A_{l+1}+⋯+A_r &= A_i+A_{i+1}+A_{i+2} \end{aligned}\]

同理分析可得排列 \(A\) 不能出现 \(3\) 个连续的数字。

综上所述,一种合法的排列 \(A\) 必须满足以下两点:

  1. 相邻的两个数奇偶性不同。
  2. 不能出现 \(3\) 个连续的数字。

则猜测答案为形如 \(2,1,4,3,⋯,n,n-1\) 的排列。

再证明其正确性:

考虑分类讨论 \(l,r\) 的奇偶性异同:

  1. 当 \(l,r\) 的奇偶性不同时,不妨 \(l\) 为奇数,\(r\) 为偶数,则

\[\begin{aligned} S_{l,r} &= A_l+A_{l+1}+⋯+A_r &= \frac{(l+r) \times (r-l+1)}{2} \end{aligned}\]

因为 \(l+r\) 为奇数,则\(\frac{l+r }{2}\)一定不是整数,那么\(S_{l,r}\)一定不被 \(r-l+1\) 整除。

  1. 当 \(l,r\) 的奇偶性相同时,则

\[\begin{aligned} S_{l,r} &= A_l+A_{l+1}+⋯+A_r &= \frac{(l+r) \times (r-l+1)}{2} \pm 1 \end{aligned}\]

与上一种情况相反,因为 \(l+r\) 为偶数,则\(\frac{l+r }{2}\)是整数,那么\((r-l+1)\times (\frac{l+r }{2})\)被 \(r-l+1\) 整除。
则所求 \(S_{l,r}\) 不被 \(r-l+1\) 整除。

证毕!

代码实现

很简单,就不放了

标签:le,frac,题解,奇偶性,CF1818B,end,整除,aligned,ndivisible
From: https://www.cnblogs.com/panxz2009/p/17966122

相关文章

  • P6021 洪水 题解
    请先完成ddp模板一个ddp讲解视频Part0:题意解释感觉题面太阴间了。所以解释一下:Cxt表示把\(x\)结点的权值改为\(t\).Qx:把\(x\)子树中一些结点删去,使得\(x\)与\(x\)子树内所有叶子结点不连通。求删去的结点权值和的最小值。Part1:先不考虑修改操作发现原......
  • electron安装卡住问题解决
    问题安装electron会卡住,你换镜像,挂梯子都没有用。解决办法自己配置下载electron二进制文件的地址解决步骤npmconfigls进入该配置文件,手动添加ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/electron_mirror=npm.taobao.org这两行重新npminstallele......
  • Codeforces Round 919 (Div. 2)(A~D) 题解
    CodeforcesRound919(Div.2)(A~D)题解A.SatisfyingConstraints题意:给你一些条件让你求出满足条件的整数有多少个。模拟即可。#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;constllMAXN=2e5+5;llTex=1,n;voidAC(){ cin>>n; lll=......
  • element-forge在Linux Centos中打包构建时遇到的异常问题解决方案
    环境:LinuxCentOS8x64electron:27.1.0electron-forge:7.1.0electrondev依赖包"devDependencies":{"@electron-forge/cli":"^7.1.0","@electron-forge/maker-deb":"^7.1.0","@electron-forge/maker-rpm&quo......
  • P10058 Reverse and Rotate题解
    简单题意一共3个操作:rev:将字符串翻转。>\(x\):将后面\(x\)个字母移到前面。<\(x\):将前面\(x\)个字母移到后面。解法解法一看到#1到#3的范围可以打出暴力程序,按题意模拟,时间复杂度\(O(n|S|)\)。预计\(30\)pts。解法二很明显,第二个操作和第三个操作有点像......
  • P9816 少项式复合幂 题解
    题目链接:少项式复合幂注意到题目的模并不是很大,我们考虑两个核心的性质。\(f(f(x))\bmodp=f(f(x)\bmodp)\bmodp\),证明直接代入\(f(x)\)进去得到:\(f(f(x))=a_0\timesf^0(x)+a_1\timesf^1(x)...+a_n\timesf^n(x)\bmodp=\)\[\sum_{i=0}^{n}a_i\timesf^{i}(x)\b......
  • P5501 [LnOI2019] 来者不拒,去者不追 题解
    题目链接:来者不拒,去者不追直接在线查询题目所给的式子是很困难的,我们考虑单点考察贡献。对于一个已经确定的式子,我们发现加入一个数或者删除一个数的贡献如图所示:如图所示,在原有的序列为\((1,2,3)\)当中,我们加入新的\(2\)进去,我们观察到每个数的贡献的变化是这样,比\(2\)......
  • 题解 P7169 [eJOI2020 Day1] Exam
    传送门。题意有两个长度为\(N\)的数列\(A_i\),\(B_i\)。可以对\(A\)数组进行若干次操作,每次可以使\(A_i\)到\(A_j\)中的所有数变成期间的最大值,求最多能使多少个数满足要求。分析显然,要使我们的某一个\(A_x\)变成\(B_x\),至少会包含\(A_{L_x}\)或\(A_{R_x}\),\(L_......
  • P5321 [BJOI2019] 送别 题解--zhengjun
    由于大家的做法需要大量分类讨论和代码量,这里提供一种不怎么分类的,容易实现的做法。首先,由于墙体会随时变化,所以直接对墙体本身维护不是很方便。我们可以牺牲一点常数,对\((i,j)\)建立四个点\(UL_{i,j},UR_{i,j},DL_{i,j},DR_{i,j}\)分别表示\((i-\varepsilon,j-\varepsilo......
  • AT_arc125_c [ARC125C] LIS to Original Sequence 题解
    题目传送门前置知识贪心|构造解法对于任意一个未加入序列\(P\)的数\(x<A_{i}(1\lei\lek-1)\),如果其放在了\(A_{i}\)的前面,会导致最长上升子序列长度加一,从而不符合题目要求。因此我们需要把\(x\)放在\(A_{i}\)后面,同理,为符合题目要求,我们仅选择放最小的那一个......