线性

向量

只谈情不闲聊 提交于 2019-12-03 05:09:38
向量 线性相关的判别 向量的线性表示 线性相关与线性无关的证明 秩与极大线性无关组 正交化、正交矩阵 * 向量 * 加法 * 数乘 * 内积 * 长度 * 线性组合、线性表出 * 向量组等价 * 线性相关、线性无关 * n个n维向量相关 <-> 行列式等于0 * n+1个n维向量必相关 * k个向量相关,k+1个向量必相关 * k个向量无关,延伸组必无关 * k个向量相关,至少有一个向量能由其他k-1个线性表示 * 极大线性无关组 * 无关组的向量个数是向量组的秩 * 施密特正交化 来源: https://www.cnblogs.com/vergilwu/p/11779322.html

线性筛素数

匿名 (未验证) 提交于 2019-12-03 00:40:02
#include<iostream> #include <cstdio> #include <cstring> #include <cstdlib> #include <cmath> #include <algorithm> using namespace std; int n,m,jdg[ 10000001 ],prime[ 10000001 ],cnt; int main() { cin >>n>> m; jdg[ 1 ]= 1 ; for ( int i= 2 ;i<=n;i++ ) { if (jdg[i]== 0 ) prime[ ++cnt]= i; for ( int j= 1 ;j<=cnt;j++ ) { if (prime[j]*i> n) break ; jdg[i *prime[j]]= 1 ; if (i%prime[j]== 0 ) break ; } } for ( int i= 1 ;i<=m;i++ ) { int a; cin >> a; if (jdg[a]== 0 ) cout << " Yes " << endl; else cout << " No " << endl; } } 原文:https://www.cnblogs.com/water-radish/p/9280652.html

5求解Ax=0:主变量、特解

匿名 (未验证) 提交于 2019-12-03 00:38:01
本课时将讲解如何计算那些空间中的向量,从概念定义转向算法,求解Ax=0的算法是怎样的,即如何求解零空间。 消元法解Ax=0 消元过程中,方程通过加减消元本质上是线性变换,解是不会改变的。实际上, 消元法改变了系数矩阵的列空间,而不改变系数矩阵的行空间。 所以,注意消元过程中不变的是什么,随消元不变的是方程组的解。 行向量或者列向量之间的相关性可以在消元过程中表现出来。A中第一列和第二列共线,A的第三行是第一行和第二行的线性组合。 看例子: A矩阵第一阶段的消元是把主元1那一列下面的元素变为0,第二阶段的消元是把主元2那一列下面的元素变为0,最终得到阶梯型echelon的矩阵U。图中圈出来的为主元,个数为2,这里引出一个重要概念: 矩阵的秩Rank(A): 矩阵主元的个数。 如此,我们在解Ax=0,现在变为了Ux=0,但解和零空间不变,现在进行回代 找出“主变量”pivot variables,主列,即主元所在的列,其他列,称为自由列。(自由列表示可以自由或任意分配数值,列2和列4的数值是任意的,因此x2和x4是任意的,可以自由取)。当我们把x2和x4分别取1和0时,可得到解x=c(-2 1 0 0),c是常数,表示第二列减去2倍第一列为0。此时解是四维空间中穿过原点的一条直线。 因此,解Ax=0的 新算法 : 1)A矩阵消元,确定主元,解出主变量,也就确定主列,其余为自由列

动态规划之线性动规

匿名 (未验证) 提交于 2019-12-03 00:30:01
动态规划之线性动规 一、动态规划的基本概念 动态规划是一种用途很广的问题求解方法,它本身并不是一个特定的算法,而是一种思想,一种手段。 它的设计是对解最优化问题的一种途径、一种方法,而不是一种特殊算法。不像搜索或数值计算那样,具有一个标准的数学表达式和明确清晰的解题方法。动态规划程序设计往往是针对一种最优化问题,由于各种问题的性质不同,确定最优解的条件也互不相同,因而动态规划的设计方法对不同的问题,有各具特色的解题方法,而不存在一种万能的动态规划算法,可以解决各类最优化问题。因此在学习时,除了要对基本概念和方法正确理解外,必须具体问题具体分析 ,以丰富的想象力去建立模型,用创造性的技巧去求解。我们也可以通过对若干有代表性的问题的动态规划算法进行分析、讨论,逐渐学会并掌握这一设计方法。 几个专业术语: 1.多阶段决策问题: 2.阶段 3.状态 基本思想 基本模型: 二、动态规划的分类 1.最长上升子序列 问题描述: , 它的子序列为S= ,满足{s 1 <s 2 <s 3 < … < s m } 算法分析: 代码实现: #include<stdio.h> int max(int a,int b) {return (a<b)?b:a;} int main() { int a[1010]; int dp[1010]; int n,i,j,ret; ret=1; scanf("%d",&n

编译原理文法等价变换

匿名 (未验证) 提交于 2019-12-03 00:27:02
提到“编译原理”,大部分人的首要反应就是苦恼。确实,编译原理这一部分的内容在计算机学习中是比较难以理解的一部分。首次接触编译原理,我也感觉很复杂,难以理解。但是当看过几次之后,对于一些简单知识点的理解就有点眉目了。在这里就将有点眉目的知识写一下。 学习编译原理接触的第一个重要的概念就是――文法。那么什么是文法呢? 文法,语言中的每个句子可以用严格定义的规则来构造。通俗的讲就是:根据一些指定的规则,来确定编程语言的语法,从而实现编译器的功能。 那么文法是如何表示的呢? 文法是由非终结符(大写字母)和终结符(小写字母)以及“―>”组成的。给出几个例子就容易理解了。 A―> a、B―>dba、S―> Ab、adB―>d 通过上面的几个例子可以看出:非终结符A、B、S,一般是写在左边,而终结符a、dba、b,一般是写在右边的。当然习惯的写法是非终结符用S(Start)表示,写在左边,自然而然的小写的就在右边了,这样也便于我们记忆文法的表示方式。 话说,在1956年的春天,一个叫乔姆斯基(Chomsky)的人发明了上述文法,他觉得有些文法存在着相似的形式,于是他就给文法分了一下类。 首先有一个前提:设有一个组合G=(Vn,Vt,P,S)。其中Vn是非终结符的集合,Vt是终结符的集合,P是推导式的一个集合,S是开始符。就上面的例子来说,A、B、S是Vn,a、dba、b是Vt,整个的集合为P。

Android线性布局

匿名 (未验证) 提交于 2019-12-03 00:26:01
<!-- orientation:vertical:垂直排列 ; orientation:horizontal;水平排列; --> <LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android" xmlns:tools = "http://schemas.android.com/tools" android:layout_width = "match_parent" android:layout_height = "match_parent" android:orientation = "vertical" > <!-- match_parent:“填充满”父容器; wrap_content:包裹内容; weight:设置控件与控件的之间的比例 --> <Button android:layout_width = "match_parent" android:layout_height = "0px" android:layout_weight = "1" android:text = "button1" /> <Button android:layout_width = "match_parent" android:layout_height = "0px" android:layout

[转] 理解矩阵

孤人 提交于 2019-12-03 00:08:41
from: https://www.cnblogs.com/marsggbo/p/10144060.html 线性代数课程,无论你从行列式入手还是直接从矩阵入手,从一开始就充斥着莫名其妙。比如说,在全国一般工科院系教学中应用最广泛的同济线性代数教材(现在到了第四版),一上来就介绍逆序数这个“前无古人,后无来者”的古怪概念,然后用逆序数给出行列式的一个极不直观的定义,接着是一些简直犯傻的行列式性质和习题——把这行乘一个系数加到另一行上,再把那一列减过来,折腾得那叫一个热闹,可就是压根看不出这个东西有嘛用。大多数像我一样资质平庸的学生到这里就有点犯晕:连这是个什么东西都模模糊糊的,就开始钻火圈表演了,这未免太“无厘头”了吧!于是开始有人逃课,更多的人开始抄作业。这下就中招了,因为其后的发展可以用一句峰回路转来形容,紧跟着这个无厘头的行列式的,是一个同样无厘头但是伟大的无以复加的家伙的出场——矩阵来了!多年之后,我才明白,当老师犯傻似地用中括号把一堆傻了吧叽的数括起来,并且不紧不慢地说:“这个东西叫做矩阵”的时候,我的数学生涯掀开了何等悲壮辛酸、惨绝人寰的一幕!自那以后,在几乎所有跟“学问”二字稍微沾点边的东西里,矩阵这个家伙从不缺席。对于我这个没能一次搞定线性代数的笨蛋来说,矩阵老大的不请自来每每搞得我灰头土脸,头破血流。长期以来,我在阅读中一见矩阵,就如同阿Q见到了假洋鬼子

luogu【模板】线性筛素数 (Miller-Rabin素数测试模板)

匿名 (未验证) 提交于 2019-12-03 00:02:01
这个感觉还是挺好理解的,就是复杂度证明看不懂~ #include <cstdio> #include <algorithm> #include <cstring> #include <cmath> #define ll long long #define setIO(s) freopen(s".in","r",stdin) int array[10]={2,3,5,7,11,13,17,23}; using namespace std; ll qpow(ll base,ll k,ll mod) { ll tmp=1; for(;k;base=base*base%mod,k>>=1) if(k&1) tmp=tmp*base%mod; return tmp; } int prime(ll x) { if(x<=1) return 0; int i,j,k; ll pre,a,cur; for(i=0;i<8;++i) { if(x==array[i]) return 1; for(cur=x-1,k=0;cur%2==0;cur>>=1) ++k; pre=a=qpow(array[i],cur,x); for(j=1;j<=k;++j) { a=(a*a)%x; if(a==1&&pre!=1&&pre!=x-1) return 0; pre=a; } if(a!=1)

[线性基] 2019 航电多校第一场 B HDU 6579 Operation

匿名 (未验证) 提交于 2019-12-02 23:52:01
There is an integer sequence a of length n and there are two kinds of operations: 0 l r: select some numbers from al…ar so that their xor sum is maximum, and print the maximum value. 1 x: append x to the end of the sequence and let n=n+1. 0 l r 要和之前的ans 异或%m + 1 1 x 输出 之前的 ans ^ 现在的答案 强制在线了 难题 1、线性基:   若干数的线性基是一组数a1,a2,…an,其中ax的最高位的1在第x位。   通过线性基中元素xor出的数的值域与原来的数xor出数的值域相同。 2、线性基的构造法:   对每一个数p从高位到低位扫,扫到第x位为1时,若ax不存在,则ax=p并结束此数的扫描,否则令p=p xor ax。 3、查询:   用线性基求这组数xor出的最大值:从高往低扫ax,若异或上ax使答案变大,则异或。 4、判断:   用线性基求一个数能否被xor出:从高到低,对该数每个是1的位置x,将这个数异或上ax(注意异或后这个数为1的位置和原数就不一样了),若最终变为0,则可被异或出。当然需要特判0

线性基学习笔记+模板总结

匿名 (未验证) 提交于 2019-12-02 23:51:01
一组线性无关的向量可以作为一组基底,用这个基底可以表示空间中的全部向量,而且这个基地的个数是确定的,他们线性无关,加入空间中的其他向量之后,就变得线性相关了。 考虑这样的线性基性质(类比我们前面关于基的介绍): 1.原序列里面的任意一个数都可以由线性基里面的一些数异或得到。 2.线性基里面的任意一些数异或起来都不能得到0。 3.线性基里面的数的个数唯一,并且在保持性质一的前提下,数的个数是最少的。 性质一 首先线性基是如何构造的呢? 我们设有一个数组d,表示序列a的线性基,下标从0开始算。对于序列里面的每一个数,我们尝试将它插入到线性基里面去,具体如何插入这里给出伪代码(x(2)表示x的二进制为) 有了构造方法,我们就可以知道性质一原理了。如果原序列中的数字不能由线性基异或表示,则与插入方式矛盾。例如异或之后不为0,则插入了d[i],那么原本的x一定可以由d[i]和线性基中的数异或得到。 x ^ d[a]^....=d[i] d[i]^d[a]^....=x 如果一个数字不能插入的线性基,那么插入最后是得到0,说明线性基中的一些数与它异或可以得到0,说明这些数异或就可以表示它了(x^y=0,说明x==y) 性质二 性质二反证 如果d[a]^d[b]^d[c]=0,那么d[a]^d[b]=d[c],说明d[c]可以由d[a]和d[b]表示,在插入中就不会插入d[c]了。 性质三