首页 > 其他分享 >Coprime Array

Coprime Array

时间:2024-09-27 14:16:55浏览次数:1  
标签:CRT int 1000000000 cin Coprime Array

  • 可以通过将x进行算术基本定理拆分后用CRT合并,弱化互素的条件,来推出答案序列长度至多为3的结论;也可以直接大胆假设
  • 实现时可以通过随机化避免CRT
点击查看代码
#include <bits/stdc++.h>
using namespace std;
int d;
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	int s,x;
	cin>>s>>x;
	if(__gcd(s,x)==1)
	{
		cout<<1<<endl;
		cout<<s<<endl;
	}
	else
	{
		d=s/x*x;
		s%=x;
		int tmp=0,len=2;
		if(s%2==1&&x%2==0)
		{
			tmp=1+d;
			len++;
			s--;
			d=0;
		}
		int y,z;
		while(1)
		{
			y=rand()%(x+1);
			if(__gcd(y,x)==1&&abs(__gcd(s-y,x))==1)
			{
				z=s-y;
				y=y+d;
				if(y>1000000000)
				{
					z=z+(y-1000000000)/x*x;
					y=y-(y-1000000000)/x*x;
					if(y>1000000000)
					{
						y-=x;
						z+=x;
					}
					if(z>1000000000)
					{
						cout<<-1<<endl;
						return 0;
					}
				}
				cout<<len<<endl;
				if(len==2)
				{
					cout<<y<<" "<<z<<endl;
				}
				else
				{
					cout<<tmp<<" "<<y<<" "<<z<<endl;
				}
				return 0;
			}
		}
	}
	return 0;
}

标签:CRT,int,1000000000,cin,Coprime,Array
From: https://www.cnblogs.com/watersail/p/18435581

相关文章

  • 易优CMS为何我安装完提示这个报错?:Array and string offset access syntax with curly
    当你遇到类似 Arrayandstringoffsetaccesssyntaxwithcurlybracesisdeprecated 的报错时,通常是因为当前使用的PHP版本较高,而程序代码中使用了一些已弃用的语法。原因分析PHP版本过高:当前使用的PHP版本(如PHP7.4或更高版本)不再支持某些旧的语法形式。代码使......
  • 理解 Arrayreduce()
    介绍在学习javascript入门课程并学习数组的所有不同方法时。我不太了解reduce方法的真正威力,只有在第二次回顾它之后我才意识到这个方法是多么有用。我希望这篇文章能让一些人更清楚地了解此方法的工作原理以及何时使用它。方法array.prototype.reduce(callbackfunction)a......
  • 【JUC并发编程系列】深入理解Java并发机制:阻塞队列详解与简单纯手写(七、BlockingQueu
    文章目录【JUC并发编程系列】深入理解Java并发机制:阻塞队列详解与简单纯手写(七、BlockingQueue、ArrayBlockingQueue、LinkedBlocking)1.简单回顾1.1数组结构和链表结构1.1.1数组结构1.1.2链表结构1.2有界队列与无界队列1.3Lock锁使用回顾2.什么是阻塞队列3.B......
  • 万象更新 Html5 - es6 进阶: ArrayBuffer
    源码https://github.com/webabcd/Html5作者webabcd万象更新Html5-es6进阶:ArrayBuffer示例如下:es6\src\advanced\arrayBuffer.js/***1、ArrayBuffer-内存之中的一段二进制数据,需要通过视图操作数据*2、TypedArray-视图,用于操作ArrayBuffer对象,TypedArr......
  • ArrayAssignment
    packagecom.shrimpking.t3;importjava.util.Random;/***CreatedbyIntelliJIDEA.**@Author:Shrimpking*@create2024/9/1515:57*/publicclassArrayAssignment{publicstaticvoidmain(String[]args){//创建随机对象Rand......
  • array_reduce实现路由中间件
    <?phpinterfaceMiddleware{publicstaticfunctionhandle(Closure$next);}classMiddleware1implementsMiddleware{publicstaticfunctionhandle(Closure$next){echo"Middleware1before\n";$next();......
  • 为何我安装完提示这个报错?:Array and string offset access syntax with curly braces
    错误信息 Arrayandstringoffsetaccesssyntaxwithcurlybracesisdeprecated 表明你在使用的PHP版本较高,而你的程序代码中使用了一些在较新版本中已弃用的语法。具体来说,这是PHP7.4及以上版本对数组和字符串偏移量访问语法 {} 的弃用警告。解决方案1.降低PHP......
  • 兼收并蓄 TypeScript - 进阶: ArrayBuffer
    源码https://github.com/webabcd/TypeScriptDemo作者webabcd兼收并蓄TypeScript-进阶:ArrayBuffer示例如下:advanced\arrayBuffer.ts{/***1、ArrayBuffer-内存之中的一段二进制数据,需要通过视图操作数据*2、TypedArray-视图,用于操作ArrayBuf......
  • 兼收并蓄 TypeScript - 基础: array
    源码https://github.com/webabcd/TypeScriptDemo作者webabcd兼收并蓄TypeScript-基础:array示例如下:basic\array.ts{//array-数组//创建数组letarray1:number[]=[1,2,3];letarray2:Array<number>=[1,2,3];letarray3:Ar......
  • 完美解决 Array 方法 (map/filter/reduce) 不按预期工作 的正确解决方法,亲测有效!!!
    完美解决Array方法(map/filter/reduce)不按预期工作的正确解决方法,亲测有效!!!亲测有效完美解决Array方法(map/filter/reduce)不按预期工作的正确解决方法,亲测有效!!!报错问题可能出现的原因解决思路解决方法1.确保回调函数正确返回值2.检查数组的数据类型3.使......