首页 > 其他分享 >CF1933D-Continual Mods【数学思维】

CF1933D-Continual Mods【数学思维】

时间:2024-03-23 12:00:25浏览次数:32  
标签:Mods min int CF1933D 最小值 Continual mod

CF1933D-Continual Mods【数学思维】

一、题目大意

题目链接

https://codeforces.com/contest/1933/problem/D

给定一个长度为n的数组a,可以任意改变a的顺序,变成数组b(也可以不改变)!

问是否存在一个这样的b,使得\(b_1\) mod \(b_2\) mod ... mod \(b_n\) ≠ 0。(注意,是从左往右依次算的)

二、题目思路

什么情况下,会出现等于0的情况?

当从前往后算,出现,\(b_{i - 1}\) % $ b_i$ = 0的情况,那么 \(b_i\)​ 之后的元素不管怎么算就都是0, 0 % x = 0!

当 \(b_{i-1} < b_i\) 时,\(b_{i-1}\) % \(b_{i}\) = \(b_{i - 1}\) ≠ 0。

如果找到 \(b\) 中的最小值\(b_{min}\),且最小值唯一的话,那么将这个最小值放在最前面,最后的值一定时 \(b_{min}\)!

那么,如果不唯一的话,又该怎么办呢?

看可不可以创造一个出来,将其他值 \(b_{other}\) % \(b_{min}\) ,如果不为0,那么就得到一个唯一的比 \(b_{min}\) 还要小的最小值!

否则的话,必然会出现两个最小值 \(b_{min}\) % \(b_{min}\) = 0的情况,就一定不存在符合条件的b数组,就输出\(NO\)

三、代码展示

#include<bits/stdc++.h>
const int N = 1e5 + 5;
using namespace std;
int n,t;
int a[N];
void solve()
{
	cin >> n;
	for(int i = 1;i <= n;++i) cin >> a[i];
	int mi = *min_element(a + 1,a + 1 + n);
	if(count(a + 1,a + 1 + n,mi) == 1) {
		cout << "YES" << '\n';
		return;
	}
	for(int i = 1;i <= n;++i){
		if(a[i] % mi != 0){
			cout << "YES" << '\n';
			return;
		}
	}
	cout << "NO" << '\n';
}
int main()
{
	ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
	
	cin >> t;
	for(int _ = 0;_ < t;++_) solve();
}

标签:Mods,min,int,CF1933D,最小值,Continual,mod
From: https://www.cnblogs.com/gebeng/p/18090943

相关文章

  • Nginx+ModSecurity(WAF) 加强 Web 应用程序安全性
    Nginx和ModSecurity加强Web应用程序的安全性在当今互联网时代,Web应用程序的安全性变得尤为重要。为了保护应用程序和用户的数据免受恶意攻击和漏洞利用,使用合适的工具和技术是必不可少的。本文将探讨如何使用两个流行的工具——Nginx和ModSecurity,来加强Web应用程序的......
  • Meta-Learned Attribute Self-Interaction Network for Continual and GeneralizedZer
    目录摘要介绍releatedworkzero-shotlearning零样本持续学习提出的方法bibtex格式参考文献摘要零样本学习(ZSL)是一种有希望的方法,通过利用类别属性将模型推广到训练期间未见过的类别,但仍然存在挑战。最近,利用生成模型来解决对训练期间已见类别的偏见的方法推动了技......
  • 顺序取模_cf929_D. Turtle Tenacity: Continual Mods
    目录题目概述思路想法参考代码做题反思题目概述原题参考:D.TurtleTenacity:ContinualMods给出长度为n的数组,可以对其任意排列,问是否可以给出一个数组a1、a2...、an满足a1%a2%...%an!=0思路想法感觉这种与顺序无关的题目都可以先尝试升序或是降序排列,事实上,假如升序排列,如......
  • D. Turtle Tenacity: Continual Mods
    原题链接题解将序列排序后,设最小值为k,那么\(2~n\)的每个元素都可以表示为\(nk+b,b\in[0,k-1]\)如果\(2~n\)的元素中存在\(k\)且\(b\)均为零,一定失败code#include<bits/stdc++.h>usingnamespacestd;inta[100005]={0};intmain(){intt;cin>>t;......
  • Modscan32 软件最全使用详解
    软件使用手动连接点击菜单栏”连接设置(Connection)“->”连接(Connect)“,弹出连接配置窗口。在”使用的连接”那里选择:RemotemodbusTCPServer RemoteTELNETServerDirectConnectiontoCOM1DirectConnectiontoCOM2…DirectConnectiontoCOM32备注:”Direct......
  • modset.c
    / DRM双缓冲垂直同步模式设置方法 这个例子扩展了modeset-double-buffered.c,并引入了与垂直空格(vsync'ed)同步的页面翻转。垂直空白是显示控制器从扫描帧缓冲区中暂停的时间。垂直空白结束后,将逐行再次扫描framebuffer,并在后面跟着垂直空白。 在更改framebuffer时,垂直空格是......
  • 企业内容建站系统 ModStartCMS v7.0.0 多语言开发优化,多个常用组件升级
    ModStart是一个基于Laravel模块化极速开发框架。模块市场拥有丰富的功能应用,支持后台一键快速安装,让开发者能快的实现业务功能开发。系统完全开源,基于Apache2.0开源协议,免费且不限制商业使用。功能特性丰富的模块市场,后台一键快速安装会员模块通用且完整,支持完整的API调用大......
  • Nginx 安装 ModSecurity 模块
    1、安装ModSecuritycd/usr/localgitclonehttps://github.com/SpiderLabs/ModSecurity.gitcdModSecuritygitsubmoduleinitgitsubmoduleupdateshbuild.sh./configuremakemakeinstall2、安装ModSecurity-nginxcd/usr/localgitclonehttps://github.com/SpiderLabs/ModSec......
  • Achieving a Better Stability-Plasticity Trade-off via Auxiliary Networks in Cont
    摘要连续学习过程中的稳定性-可塑性权衡是一个重要的问题。作者提出了AuxiliaryNetworkContinualLearning(ANCL),通过auxiliarynetwork提高了模型的可塑性。方法TheFormulationofAuxiliaryNetworkContinualLearning传统的continuallearning方法通常是在新数据集上......
  • MEMORY REPLAY WITH DATA COMPRESSION FOR CONTINUAL LEARNING--阅读笔记
    MEMORYREPLAYWITHDATACOMPRESSIONFORCONTINUALLEARNING--阅读笔记摘要:在这项工作中,我们提出了使用数据压缩(MRDC)的内存重放,以降低旧的训练样本的存储成本,从而增加它们可以存储在内存缓冲区中的数量。观察到压缩数据的质量和数量之间的权衡对于内存重放的有效性是非常重要......