m2

拓展欧几里得算法

◇◆丶佛笑我妖孽 提交于 2020-03-25 02:52:48
先贴个模板: 1 void gcd(LL a,LL b,LL &d,LL &x,LL &y) 2 { 3 if (!b) 4 { 5 x=1; 6 y=0; 7 d=a; 8 } 9 else 10 { 11 gcd(b,a%b,d,y,x); 12 y-=a/b*x; 13 } 14 } 下面给出我对这个算法的理解: 现在要解ax+by=gcd(a,b) 假设我们已经解出了 bx 0 + (a%b)y 0 =gcd(a,b) (1) 令y=x 0 -> ay 0 + by = gcd(a,b) (2) (2)-(1)得到 (a-a%b)y 0 + b(y-x 0 )=0 整理得到 y=x 0 -((a-a%b)/b)y 0 = x 0 - a/b*y 0 = x 0 - a/b * x 根据上面的递归,返回的时候x=y0,y=x0 所以y需要再减去 a/b*x 函数结束时就可以得到一组解了。那么如何得到其他解呢? 首先令 d=gcd(a,b) a'=a/d b'=b/d ax+by=d 设a(x+x 0 ) + b(y+y 0 )=d 那么相减得到 ax 0 +by 0 =0 -> y 0 =-a/b * x 0 = -a'/b' * x 0 y 0 和x 0 都是整数,所以x 0 必定是b'的倍数. 即x 0 =k*b' 因此对于方程ax+by=d , 让x=x+b' y=y

【学习笔记】中国剩余定理

江枫思渺然 提交于 2020-03-20 17:25:07
感觉之前写的太垃圾了,重新写一下。 没有那么多奇怪的介绍,直接开始吧。 设m1,m2,m3,m4....mk两两互素,则同余方程组 x≡a1(mod m1) x≡a2(mod m2) x≡a3(mod m3) x≡a4(mod m4) x≡ak(mod mk) 一定有解,x≡(a1*M1*M1^(-1)+a2*M2*M2^(-1)+....)(mod M) 其中M=m1*m2*m3*....mk,Mi=M/mi,Mi^(-1)是Mi在模mi意义下的逆元。 互素情况下的模板,是POJ1006代码 代码: #include<iostream> #include<cstring> #include<cstdio> using namespace std; int a[4],m[4]; int p,e,i,d,t=1; void exgcd(int a,int b,int &x,int &y){ if(b==0){ x=1;y=0; return; } exgcd(b,a%b,x,y); int t; t=x;x=y;y=t-a/b*y; } int CRT(int a[],int m[],int n){ int M=1,ans=0; for(int i=1;i<=n;i++)M*=m[i];//求出M for(int i=1;i<=n;i++){ int x,y; int Mi=M/m

修改myeclipse中的M2_REPO变量 .

懵懂的女人 提交于 2020-03-04 18:42:36
从eclipse中增加了maven2的插件之后,maven默认的本地库的路径是${user}/.m2/repository/下,一般windows用户的操作系统都安装在C盘,所以这个 目录 下的jar包比较危险。我尝试从myeclipse->preferences->java->build path->classpath variables中查找M2_REPO这个变量,发现其路径指向的是“C:/Documents and Settings/lvxda/.m2/repository/”,我想修改其路径为:d:/m2/repository,可是这个变量的编辑按钮是灰色的,不可编辑。从网上也没有找到相应的 解决 办法。打算自己尝试一下: 1、手动创建本地仓库的地址为:d:/m2/repository 2、从windows的环境变量中增加了:M2_REPO=d:/m2/repository,同时把这个变量增加到path变量中。 3、修改d:/maven/conf/setting.xml文件,在<localRepository>节点下新增一行: 代码: <localRepository>d:/m2/repository</localRepository> 表示本地仓库的地址为:d:/m2/repository。 4、从myeclipse->preferences->maven-

eclipse 中修改 M2_REPO的值

余生长醉 提交于 2020-03-04 18:41:42
转自: http://blog.csdn.net/xuechongyang/article/details/8267440 从eclipse中增加了maven2的插件之后,maven默认的本地库的路径是${user}/.m2/repository/下,一般windows用户的 操作系统 都安装在C盘,所以这个目录 下的jar包比较危险。我尝试从myeclipse->preferences-> Java ->build path->classpath variables中查找M2_REPO这个变量,发现其路径指向的是“C:/Documents and Settings/lvxda/.m2/repository/”,我想修改其路径为:d:/m2/repository,可是这个变量的编辑按钮是灰色的,不可编辑。从网上也没有找到相应的解决 办法。打算自己尝试一下: 1、手动创建本地仓库的地址为:d:/m2/repository 2、从windows的环境变量中增加了:M2_REPO=d:/m2/repository,同时把这个变量增加到path变量中。 3、修改d:/maven/conf/setting.xml文件,在<localRepository>节点下新增一行: 代码:<localRepository>d:/m2/repository</localRepository>

maven2 配置M2_REPO

≡放荡痞女 提交于 2020-03-04 18:02:34
从eclipse中增加了maven2的插件之后,maven默认的本地库的路径是${user}/.m2/repository/下,一般windows用户的操作系统都安装在C盘,所以这个目录 下的jar包比较危险。我尝试从myeclipse->preferences->java->build path->classpath variables中查找M2_REPO这个变量,发现其路径指向的是“C:/Documents and Settings/lvxda/.m2/repository/”,我想修改其路径为:d:/m2/repository,可是这个变量的编辑按钮是灰色的,不可编辑。从网上也没有找到相应的解决 办法。打算自己尝试一下: 1、手动创建本地仓库的地址为:d:/m2/repository 2、从windows的环境变量中增加了:M2_REPO=d:/m2/repository,同时把这个变量增加到path变量中。 3、修改d:/maven/conf/setting.xml文件,在<localRepository>节点下新增一行: 代码: <localRepository>d:/m2/repository</localRepository> 表示本地仓库的地址为:d:/m2/repository。 4、从myeclipse->preferences->maven-

GettingStarted:Development Environment Setup

无人久伴 提交于 2020-03-01 01:25:35
GettingStarted:Development Environment Setup Contents [ hide ] 1 Overview 2 Quick Start 3 Manual Set Up 3.1 Mac OS-X 3.2 Linux Operating System 3.2.1 Fedora 3.2.2 Ubuntu 3.3 Download and install the Java JDK 3.4 Download and install maven 3.5 Install Git 3.6 Edit your ~/.m2/settings.xml 3.7 Optional: Increase the amount of RAM maven can use 3.8 Optional: Install Wireshark 3.9 Per-project environment setup incl. Eclipse IDE Overview This page is intended to help developers get started on setting up their development environment, specifically links to operating systems, tools and utilities that

模线性同余方程组求解

喜你入骨 提交于 2020-02-16 16:22:42
问题:模线性同余方程组:   x = a1 ( mod n1 )   x = a2 ( mod n2 )     ....   x = ak ( mod nk ) 给定 A ( a1, a2 , ... , ak ) , N ( n1, n2, ..., nk ) 求 X 。 通常分为两种   一, ( Ni, Nj ) 之间两两互质   二, ( Ni, Nj ) 之间不都互质 一 ( Ni, Nj ) 之间两两互质   定理( 见算法导论 P874 ):   如果 n1, n2 , ... , nk 两两互质, n = n1*n2*..*nk ,则对任意整数 a1,a2,a3..,ak , 方程组     x = ai ( mod ni )   关于未知量 x 对 模n 有唯一解 从输入 ( a1, a2, ... , ak ) 计算出 a :          定义     定义 可以得到:        代码模板   a = a[i] ( mod n[i] ) ( i = 0. 1. 2. .. k ) { n[i] 之间两两互质 } View Code #include<stdio.h> #include<string.h> #include<stdlib.h> #include<iostream> #include<algorithm> using namespace

maven的安装与配置(基础)

扶醉桌前 提交于 2020-02-05 10:18:04
Maven的安装与配置 maven是一个包管理工具+最佳实践工具。 使用maven的好处: 1,自动包管理工具,需要什么包就下载什么,该包所依赖的所有的其他的包也会自动下载。 maven中央仓库的包查询网站:https://mvnrepository.com/ 2,以maven方式创建的项目,可以脱离对IDE的依赖。也就是由maven进行从架构到测试、运行再到打包、上线等一系列任务。这样一个项目就可以很好在不同的IDE中进行共享和开发。 下载和安装 官网:http://maven.apache.org/ maven是用java写的,下载后不需要安装,只进行解压操作即可。 由于大部分主流IDE都默认提供了maven软件,所以如果不想使用最新版本的话,也可以不下载。 配置 环境变量配置 新建环境变量M2-HOME Path变量配置 1,仓库路径配置 新建文件夹.m2(以后放导入的包),因为文件命名规则,.m2文件直接命名不成功,可以输入.m2.点击回车.m2文件夹则命名成功 假设,本地仓库放置在如下位置中。 E:\Code\.m2\repository 在settings.xml文件中的第55行左右,在 <localRepository> 标签内将目 录设置为以上的目录: 在windows中该目录必须是一个绝对路径。 在repository目录同级上建立一个settings.xml文件

[scala基础]--map基本操作

穿精又带淫゛_ 提交于 2019-12-07 19:11:52
运行环境:jdk1.7、scala-2.10.4 package study //数据结构map object TestMap { def main(args: Array[ String ]): Unit = { var m1=scala.collection.mutable.Map[ String ,Int](( "tom" , 12 ),( "jim" , 21 )) var m2=scala.collection.immutable.Map[ String ,Int](( "tom2" , 22 ),( "jim2" , 21 )) //取值 println ( "m1--->" +m1( "tom" )) println ( "m2--->" +m2( "tom2" )) //添加元素 m1+=( "jony" -> 2 ) m2+=( "jony2" -> 62 ) println ( "m1=" +m1) println ( "m2=" +m2) //遍历元素 m1.foreach(x=> { println ( "m1==>" +x._1)}) m2.foreach(x=> { println ( "m2==>" +x._2)}) //根据key得到值得遍历 m1.keys.foreach { x => { println ( "m1 的key is 【" +x)}

循环导入问题

此生再无相见时 提交于 2019-12-04 15:35:08
循环导入问题 一、什么是循环导入? # m1.py print('from m1.py') from m2 import x y = 'm1' 创建m2的名称空间 执行m2.py,将执行产生的名字丢到m2.py 在当前执行文件中拿到m2.x # m2.py print('from m2.py') from m1 import y x = 'm2' 创建m1的名称空间 执行m1.py,将执行产生的名字丢到m1.py 在当前执行文件中拿到m1.y # run.py import m1 创建m1的名称空间 执行m1.py,将执行产生的名字丢到m1.py 在当前执行文件中拿到m1 如果运行run.py,则会报错 ImportError: cannot import name 'y' 如果运行m1.py,则会报错 ImportError: cannot import name 'x' 如果运行m2.py,则会报错 ImportError: cannot import name 'y' 二、解决方案 我们可以使用函数定义阶段只识别语法的特性解决循环导入的问题,我们也可以从本质上解决循环导入的问题,但是最好的解决方法是不要出现循环导入。 2.1 方案一 # m1.py print('from m1.py') def func1(): from m2 import x print(x) y =