Description

题库链接

给你一个长度为 \(n\) 的序列 \(a_1,a_2,\cdots,a_n\) ,让你生成另一个序列 \(b_1,b_2,\cdots,b_n\) ,使得 \(\forall i\in [1,n],b_i=2^{k},k\in\mathbb{Z^*}\) 并且对于 \(\forall i\in [1,n],\prod\limits_{j=1}^n b_j{\large\mid} b_i^{a_i}\) 。 \(T\) 组询问,询问能否构造出这样的 \(b\) 。

\(1\leq n\leq 10^5,a_i\leq 10, T\leq 10\)

Solution

考虑让 \(b_i=2^{c_i},c_i\in \mathbb{Z^*}\) ,那么题设的条件就变为 \(\forall i\in [1,n],2^{\sum\limits_{j=1}^nc_j}{\large\mid} 2^{c_i\times a_i}\)

\[\begin{equation}\forall i\in [1,n],\sum\limits_{j=1}^nc_j\leq c_i\times a_i\end{equation}\]

容易发现将 \(c_i\) 整体扩大某个整数倍上述式子依旧成立。

对于 \((1)\) 式,变形为 \(\forall i\in [1,n],\frac{\sum\limits_{j=1}^nc_j}{a_i}\leq c_i\) 。

那么

\[\begin{aligned}\sum_{i=1}^n\frac{\sum\limits_{j=1}^nc_j}{a_i}&\leq \sum_{i=1}^nc_i\\\sum_{i=1}^n\frac{1}{a_i}&\leq 1\end{aligned}\]

我们只要证明上述不等式是 \((1)\) 式的充要条件即可。

对于必要性,比较显然,因为 \((1)\) 式成立的话,上述式子一定成立。

证明充分性,假设上式不成立,那么 \((1)\) 式一定不成立;假设上式子成立,我们考虑令 \(c_i=\frac{1}{a_i}\) 那么两个式子就是相同的。

由上述结论,我们可以构造这样的一组 \(b_i=2^{c_i}\) , \(c_i=\frac{1}{a_i}\) 。

由之前的结论:将 \(c_i\) 整体扩大某个整数倍式子依旧成立。不妨让 \(c_i\) 乘上 \(\text{lcm}_{i=1}^n a_i\) 那么得到解了。

所以判断存在性,只需判断是否满足 \(\sum\limits_{i=1}^n\frac{1}{a_i}\leq 1\) 。

Code

#include <bits/stdc++.h>
using namespace std;
const int fac = 3628800; void work() {
int n, x; long long s = 0; scanf("%d", &n);
for (int i = 1; i <= n; i++) scanf("%d", &x), s += fac/x;
puts(s <= fac ? "YES" : "NO");
}
int main() {int t; cin >> t; while (t--) work(); return 0; }

[BZOJ 5074]小B的数字的更多相关文章

  1. [BZOJ 5071]小A的数字

    Description 小A成为了一个数学家,他有一串数字A1,A2...An 每次可以进行如下操作,选择一个数字i(1<i<=n),将(Ai-1,Ai,Ai+1) 变为(Ai-1 + A ...

  2. bzoj 3437 小p的农场

    bzoj 3437 小p的农场 思路 \(f[i]=min(f[j]+\sum\limits_{k=j+1}^{i}{b[k]*(i-k)}+a[i])\) \(f[i]=min(f[j]+\sum\ ...

  3. 【BZOJ5074】[Lydsy十月月赛]小B的数字 数学

    [BZOJ5074][Lydsy十月月赛]小B的数字 题解:题目是问你ai*bi>=sum,bi>=0这个不等式组有没有解.因为a<=10,容易想到取ai的lcm,然后变成lcm*b ...

  4. 【BZOJ5071】[Lydsy十月月赛]小A的数字 发现性质

    [BZOJ5071][Lydsy十月月赛]小A的数字 题解:一般遇到这种奇奇怪怪的操作,常用的套路是将原序列差分一下,或者求个前缀和什么的.本题就是直接对原序列求前缀和,然后发现一次操作相当于交换两个 ...

  5. bzoj 4447 小凸解密码

    bzoj 4447 小凸解密码 先将原始状态的 \(B\) 处理出来,可以发现,若不修改,则每次指定的起始位置不同,对这个环 \(B\) 带来的影响只有 \(B_0\) 不同,即每次 \(B_0=A_ ...

  6. bzoj 4031: 小Z的房间 矩阵树定理

    bzoj 4031: 小Z的房间 矩阵树定理 题目: 你突然有了一个大房子,房子里面有一些房间.事实上,你的房子可以看做是一个包含n*m个格子的格状矩形,每个格子是一个房间或者是一个柱子.在一开始的时 ...

  7. BZOJ 5028 小z的加油站

    bzoj链接 Time limit 10000 ms Memory limit 262144 kB OS Linux 感想 树上动态gcd的第二题也好了. [x] BZOJ 2257 [JSOI200 ...

  8. BZOJ 3438 小M的礼物

    BZOJ 3438 小M的礼物 Description 小M在MC里开辟了两块巨大的耕地A和B(你可以认为容量是无穷),现在,小P有n中作物的种子,每种作物的种子 有1个(就是可以种一棵作物)(用1. ...

  9. [BZOJ 5074][Lydsy1710月赛]小B的数字

    传送门 \(\color{green}{solution}\) 设 \[b_{i}=2^{w_{i}},sum= \sum_{i=1}^{n}{w_{i}}\] 则对于任意\(a_{i}\)都有 \[ ...

随机推荐

  1. 曲演杂坛--Update的小测试

    今天偶然想起一个UPDATE相关的小问题,正常情况下,如果我们将UPDATE改写成与之对应的SELECT语句,其SELECT查询结果应与UPDATE的目标表存在一对一的关系,例如: 对于UPDATE语 ...

  2. .net图表之ECharts随笔09-pie环形图表

    这是最后的效果图 1. 这里title属性用到了富文本标签 官方文档是用的label属性,看得我一开始格外的懵逼.后面我尝试着在text中写入格式,没想到竟然成功了. rich中定义样式,在text中 ...

  3. Delphi - 如何执行Windows、OSX、Linux的外部程序?

    毫无疑问,几乎对所有Delphi程序员来说,不用说如何在Windows下如何执行外部程序了!目前Delphi,真的已经很棒了,Delphi有一套和VCL并驾齐驱的图形界面库,叫做"FireM ...

  4. Array-Find Pivot Index

    Given an array of integers nums, write a method that returns the "pivot" index of this arr ...

  5. 奇异值分解(SVD)详解及其应用

    参考:https://blog.csdn.net/shenziheng1/article/details/52916278 论文:http://www-users.math.umn.edu/~lerm ...

  6. Kafka迁移与扩容工具用法

    1.迁移topic到新增的node上 假如现在一个kafka集群运行三个broker,broker.id依次为101,102,103,后来由于业务数据突然暴增,需要新增三个broker,broker. ...

  7. [Python]Threading.Thread之Daemon线程

    之前对Daemon线程理解有偏差,特记录说明: 一.什么是Daemon A thread can be flagged as a "daemon thread". The sign ...

  8. Ubuntu软件更新时出错问题解决

    apt-get instal update 提示:错误,无法解析域名等等之类的 网上解决办法一大堆,先别急着用网上的方法,来检查检查系统是否有网络连接 网络图标显示网络连接,等等,别被表面迷惑了,命令 ...

  9. python聚类算法实战详细笔记 (python3.6+(win10、Linux))

    python聚类算法实战详细笔记 (python3.6+(win10.Linux)) 一.基本概念:     1.计算TF-DIF TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库 ...

  10. python kmeans实战 - 单机一层聚类(小玩具哦),下次再弄个分布式多次聚类

    # coding=utf-8     """   #K-means   """          import time           ...