前言

赛时代码可能比较难看。

为什么 Div3 会出 4 道数据结构。

A

判定 \(a\) 中是否有 \(k\) 即可。

赛时代码

B

奇怪的构造题。

令 \(a_1=1,a_2=3\),其他项由上一项加一开始枚举判定可行性即可,可以简单证明时间复杂度为 \(O(n)\)。

赛时代码

C

容易发现当 \(x\in \left[\dfrac{k(k+1)}{2},\dfrac{k(2n-k+1)}{2}\right]\) 时均可以凑出,因为可行性是连续的,证明显然。

赛时代码

D

额,其实这题什么性质都不用管,直接用平衡树维护翻转操作,剩下的就是模拟。

这里使用了 FHQTreap,时间复杂度为 \(O(n\log n)\),常数稍大,但可以通过。

赛时代码

E

容易发现区间与具有可合并性和单调性(固定左端点,显然区间与随右端点增大单调不升),所以可以直接用 ST 表维护区间与,对每个询问二分右端点即可。

注意二分时要二分最右端点!赛时 WA 了两发。时间复杂度为 \(O(n\log n)\)。

赛时代码

F

我们知道 \(d\) 是一个积性函数,当 \(\gcd(a,n)=1\) 时,有 \(d(n\cdot a) = d(n)\cdot d(a)\),我们容易发现 \(d(a)\) 可以取到任意正整数(\(a\) 取 \(1\) 时为 \(1\),\(a\) 取大质数 \(p\) 时为 \(2\),取 \(p^k\) 时为 \(k\)),因此判定等价于判断 \(n\) 能否被 \(d(n)\) 整除。

设 \(n\) 的唯一分解为 \(\prod p_i^{k_i}\),我们知道 \(d(n)=\prod(k_i+1)\),那么我们就直接用 map 维护 \(n\) 的唯一分解就做完了。

具体的说,当 \(n\gets n\cdot x\) 时,容易发现相当于将 \(n\),\(x\) 的唯一分解的指数相加。而要判断 \(n\) 能否被 \(d(n)\) 整除,我们只需要判断 \(d(n)\) 的唯一分解的每一项的指数是否都小于等于 \(n\) 对应的指数即可。

时间复杂度是 \(O(q(\sqrt V+\log^2 V))\),其中 \(V=10^9\)。

赛时代码

G

赛后花了 40 分钟写完加调完的,是一个比正解劣的做法,还难写。

逐位考虑,考虑某一位时 \(x,y\) 的链是一条 \(01\) 链,我们找到从 \(x\) 到 \(y\) 路径上的第一个 \(1\) 的位置 \(u\),将 \(u\) 到 \(y\) 的路径加 \(1\),再找到从 \(y\) 到 \(x\) 路径上的第一个 \(1\) 的位置 \(v\),将 \(v\) 到 \(x\) 的路径加 \(1\),最后查询全局最大值即可。

链加和查询最大值可以用树剖套线段树维护,找到第一个 \(1\) 的位置可以用树剖套二分加分讨做,需要预处理一个按位的前缀数组。时间复杂度为 \(O(q\log^2n\log V)\),空间复杂度为 \(O(n\log V)\)。实现精细可以通过(比如写一个 \(O(1)\) 清空线段树),不卡常跑了 4500ms。

这个做法有很高的可扩展性,比如可以做到求最大的 \(z\) 的数量。

赛后代码

CF1878 A-G 题解的更多相关文章

  1. 洛谷P3104 Counting Friends G 题解

    题目 [USACO14MAR]Counting Friends G 题解 这道题我们可以将 \((n+1)\) 个边依次去掉,然后分别判断去掉后是否能满足.注意到一点, \(n\) 个奶牛的朋友之和必 ...

  2. 洛谷P2115 Sabotage G 题解

    题目 [USACO14MAR]Sabotage G 题解 本蒟蒻又来了,这道题可以用二分答案来解决.我们可以设答案最小平均产奶量为 \(x \ (x \in[1,10000])\) .然后二分搜索 \ ...

  3. P2882 Face The Right Way G 题解

    题目 Farmer John has arranged his N \((1 ≤ N ≤ 5,000)\) cows in a row and many of them are facing forw ...

  4. Hdoj 2454.Degree Sequence of Graph G 题解

    Problem Description Wang Haiyang is a strong and optimistic Chinese youngster. Although born and bro ...

  5. P2341 [USACO03FALL][HAOI2006]受欢迎的牛 G 题解

    原题链接 POJ的链接 简要题意: 给定一张图,求多少个点,每个点都能到达它. 本题作为强连通分量的入门题. 何为强连通分量?有什么用? 下面一一解释. 首先,我们要确认,这道题目如果不用强连通分量而 ...

  6. USACO07NOV Cow Relays G 题解

    题目 For their physical fitness program, \(N (2 ≤ N ≤ 1,000,000)\) cows have decided to run a relay ra ...

  7. Codeforces Round #677 (Div. 3) E、G题解

    E. Two Round Dances #圆排列 题目链接 题意 \(n\)(保证偶数)个人,要表演一个节目,这个节目包含两种圆形舞蹈,而每种圆形舞蹈恰好需要\(n/2\)个人,每个人只能跳一种圆形舞 ...

  8. 2018年第九届蓝桥杯【C++省赛B组】B、C、D、F、G 题解

    B. 明码 #STL 题意 把每个字节转为2进制表示,1表示墨迹,0表示底色.每行2个字节,一共16行,布局是: 第1字节,第2字节 第3字节,第4字节 .... 第31字节, 第32字节 给定一段由 ...

  9. [NOI2009] 诗人小G [题解]

    诗人小G 题目大意 给出 \(n\) 个长度不超过 \(30\) 的句子,要求你对其进行排版. 对于每一行,有一个规定的行标准长度 \(L\) ,每一行的不协调度等于该行的实际长度与行标准长度差的绝对 ...

  10. FJUT寒假作业第二周G题解快速幂

    题目来源:http://210.34.193.66:8080/vj/Contest.jsp?cid=161#P6     题意:求n个数字的乘积对c取摸.主要就是有快速幂扩展到广义幂的过程. 首先题目 ...

随机推荐

  1. Avalonia开发Markdown编辑器

    Avalonia开发Markdown编辑器 今天熟悉Avalonia UI,做一个Markdown的文本编辑器. 代码我上传了Github,地址: https://github.com/raokun/ ...

  2. PHP代码获取网址参数的数据,请收藏。

    <? echo $_SERVER['HTTP_HOST']."<br>"; #localhost echo $_SERVER['PHP_SELF']." ...

  3. 屏蔽CSDN百度广告

    最近在查询一些技术问题访问到CSDN时一直弹一些令人作恶的广告,说个特别的广告,脱发广告,特别有针对性程序员同胞们的共性问题,不过还是特别恶心,百度了一下,大家也特别反感,CSDN你真这么缺钱?废话不 ...

  4. 生成CSV文件的方法*(LIST集合为数据和生成的文件名)

    /** * 生成csv文件 * @param pointsList 组织实体 * filename 生成的文件名 * list 要生成的数据 * @return */ public void Poin ...

  5. 永远拥抱开放生态 | Metaworld2.0能力发布

    ​ 回看过去的二十年,互联网从门户网站发布信息,用户只能获取阅读:到如今的人人生产内容,再借助各类平台设施上传投递给其他用户.这个过程中,内容生产力的分布从集中转为分散,恰似互联网从1.0走向2.0的 ...

  6. Delta Lake_ High-Performance ACID Table Storage over Cloud Object Stores

    论文发表于 2020年, 研究数据湖产品的很好的学习资料. 概要 开篇很明确的表明了为什么要做Delta lake这样一个产品. Databricks尝试将数据仓库直接架在云上对象存储之上, 这种尝试 ...

  7. 国产化之x64平台安装银河麒麟操作系统

    背景 某个项目需要实现基础软件全部国产化,其中操作系统指定银河麒麟v4,CPU使用飞腾处理器.飞腾处理器是ARMv8架构的,在之前的文章中介绍了使用QEMU模拟ARMv8架构安装银河麒麟操作系统的方式 ...

  8. nrm工具

    nrm 工具 nrm(npm registry manager)是npm镜像源管理工具.可快速帮助查看.切换.管理npm镜像源. 安装 npm install -g nrm 查看 nrm ls 切换 ...

  9. RestSharp HTTP请求库

    官方文档:https://restsharp.dev/intro.html#introduction c# RestSharp(http请求):https://blog.csdn.net/czjnoe ...

  10. 文心一言 VS 讯飞星火 VS chatgpt (69)-- 算法导论6.5 8题

    八.HEAP-DELETE(A,i)操作能够将结点 i 从堆 A 中删除.对于一个包含 n个元素的堆,请设计一个能够在 O(lgn)时间内完成的 HEAP-DELETE 操作. 文心一言: 要在 O( ...