线性

HTML5_canvas_线性渐变

匿名 (未验证) 提交于 2019-12-02 20:30:32
canvas 线性渐变 var linearG = pen.createLinearGradient(startX, startY, endX, endY); 亮点的连线,决定了 渐变的方向, 和 区间 var pen = myCanvas.getContext("2d"); // 1. 创建线性渐变 var linearG = pen.createLinearGradient(50, 50, 100, 100); // 2. 添加渐变色 linearG = addColorStop(0, 'red'); linearG = addColorStop(0.5, 'green'); linearG = addColorStop(1, 'blue'); pen.beginPath(); pen.rect(50, 50, 50, 50); pen.fill();

线性代数 | (10) 相似对角形

若如初见. 提交于 2019-12-02 14:43:11
目录 1. 矩阵的相似 2. 特征值与特征向量的求法 3. 特征值与特征向量的性质 4. 一般矩阵的相似对角形 5. 实对称矩阵特征值与特征向量的性质 6. 实对称矩阵的相似对角化 1. 矩阵的相似 矩阵的相似 (iv)的证明: 矩阵的特征值和特征向量 2. 特征值与特征向量的求法 由此可见矩阵的k重特征值不一定有k个线性无关的特征向量。 3. 特征值与特征向量的性质 用数学归纳法证明: 上节课的例题: 推论 例题 特征值求法公式 特征值与矩阵的关系 矩阵A的特征值之和=trace(A) 即矩阵A的迹。 练习 4. 一般矩阵的相似对角形 矩阵与对角阵相似的条件 推论:若n阶矩阵A有n个互异的特征值,则A与对角阵相似,反之不对。 n阶矩阵能够与对角阵相似,取决于矩阵能否有n个线性无关的特征向量。 若n阶矩阵A有n个互异的特征值,则A与对角阵相似;若矩阵A有重特征值,不能马上断言,这时要看特征向量,实际上,只要k重特征值对应k个线性无关的特征向量即可。 练习 矩阵相似对角化的方法 矩阵相似对角化的步骤 练习 5. 实对称矩阵特征值与特征向量的性质 性质1 实对称矩阵的特征值都是实数。 证明一个数是实数,就是证明该数的共轭与该数相等。 性质2 实对阵矩阵的相异特征值所对应的特征向量必定正交。 对于一般矩阵,只能保证相异特征值所对应的特征向量线性无关。 性质3

线性筛——对i从1取到n gcd(i,n)求和

走远了吗. 提交于 2019-12-02 11:46:48
如果不会线性筛素数的话,建议先看 这篇博客 了解一下线性筛素数。 记 f ( n ) = ∑ i = 1 n gcd ⁡ ( i , n ) f(n)=\sum_{i=1}^{n}\gcd(i,n) f ( n ) = ∑ i = 1 n ​ g cd ( i , n ) 容易证明 f ( n ) f(n) f ( n ) 一定是积性函数 即 f ( p 1 t 1 p 2 t 2 ⋯ p k t k ) = f ( p 1 t 1 ) f ( p 2 t 2 ) ⋯ f ( p k t k ) f(p_1^{t_1} p_2^{t_2}\cdots p_k^{t_k}) =f(p_1^{t_1} )f(p_2^{t_2} ) \cdots f(p_k^{t_k} ) f ( p 1 t 1 ​ ​ p 2 t 2 ​ ​ ⋯ p k t k ​ ​ ) = f ( p 1 t 1 ​ ​ ) f ( p 2 t 2 ​ ​ ) ⋯ f ( p k t k ​ ​ ) 又因为 f ( n ) = ∑ i = 1 n gcd ⁡ ( i , n ) = ∑ d ∣ n d ∗ ∑ i n [ gcd ⁡ ( i , n ) = d ] = ∑ d ∣ n d ∗ ϕ ( n d ) \begin{aligned} f(n)&=\sum_{i=1}^{n} \gcd(i,n)\\ &=

线性DP---274. 移动服务

女生的网名这么多〃 提交于 2019-12-02 05:24:46
线性DP, 肯定以任务为阶段 3个人的位置为附属条件 其中一个人的位置一定是任务完成的地点,即省去一维 O( N*L^3) #include <bits/stdc++.h> using namespace std; typedef long long ll; //typedef __int128 LL; //typedef unsigned long long ull; //#define F first //#define S second typedef long double ld; typedef pair<int,int> pii; typedef pair<ll,ll> pll; typedef pair<ld,ld> pdd; const ld PI=acos(-1); const ld eps=1e-9; //unordered_map<int,int>mp; #define ls (o<<1) #define rs (o<<1|1) #define pb push_back const int seed=131; const int M = 1e5+7; int c[207][207]; int p[1007]; int dp[1007][207][207];//f i,j,k 完成第i个服务,三人分别在 j、k、p[i]是的最小花费 int main() {

绵阳东辰国际test201910.22eve

Deadly 提交于 2019-12-02 03:23:08
T1 这是一个 很老的题 了 想到 肯定和LCA树剖啊有关 ,但当时我看到 1e6的范围 时果断放弃 结果它m的时 限时2秒 说说我的分析: 最值问题? 不是贪心就是dp 对于 dp ,如果转化为线性的,就是一个单调队列优化dp的模板 但是想了半天一棵树怎么都不能转化为 线性 的 对于 贪心 ,考虑一个点如果能被 较多的区间覆盖 就肯定最优( 能多白嫖 ) 这样 选择了一个点 之后,所有区间包含它的区间 都要删掉 , 貌似树剖可以 (懒得打) 正解: 考虑对于每一条路径的LCA求出来,将他们的 LCA按照深度 排序,从深度较大的删,能不删就不删, 这样 保证结果最优 至于证明: 应该是个感性理解,画几个图就会明白的 code by std: #include<bits/stdc++.h> #define rep for(int s,i=lk[x];i;i=hd[i])if(f[x]^(s=to[i])) const int N=1000006; using namespace std; int n,m,to[N*2],hd[N*2],lk[N],cnt, f[N],sz[N],de[N],son[N],top[N],ans; inline void add(int u,int v){ to[++cnt]=v,hd[cnt]=lk[u],lk[u]=cnt; }int u,v;

『数论』线性筛质数

ε祈祈猫儿з 提交于 2019-12-01 18:25:16
//#define fre yes #include <cstdio> const int N = 100005; int prime[N], isNotprime[N]; void isprime(int n) { int cnt = 0; isNotprime[1] = 1; for (int i = 2; i <= n; i++) { if(!isNotprime[i]) prime[++cnt] = i; for (int j = 1; j <= cnt && i * prime[j] <= n; j++) { isNotprime[i * prime[j]] = 1; if(i % prime[j] == 0) break; } } } 谈论数论不废话 ----- 线性筛 以上代码的时间复杂度是 \(O(n)\) 需要注意以下几点 1为素数,不为质数 如果当前不是素数,那么一定是质数(显然可得) 第二层循环中 为什么是 \(i \times prime[j] <= n\) 因为循环内用到了这个乘 最重要的是最后一句 \(i \mod prime[j] == 0\) 这句话是什么意思 我们可以假设没有这句话,那么当发生 \(i\mod prime[j] == 0\) 的时候,我们就知道 这个 \(i\) 必定包含 \(prime[j]\) 这样也就说明了此时 \(i\) 是

学习:数学----线性基

北城余情 提交于 2019-12-01 12:08:16
线性基 主要解决关于一些数的 异或 等问题,其中包括解决一堆数中任意几个数异或的 最大值,最小值,第k大值 等等。 线性基介绍及特点 前言 线性基对于萌新来说刚开始学肯定有点难度的,网上很多博客都把线性基讲复杂了(一开始就讲什么线性无关,什么张成),虽然学过线性代数再来理解线性基的确很容易,但是没学过线性代数而来学习线性基却也没有很多很难得地方 (至少你知道异或吧) 。 所以写这篇博客直接从 线性基的特点和作用 来讲解,进而来讲其他操作,不会非常涉及到线性代数的某些专业知识。 线性基的组成 当我们有了一组确切的数,我们才能找出这一组数的线性基。故 线性基也是一组数 ,但是注意一点, 线性基内可能包含原数组内的数可能也有新的数 ,这一点在线性基的构造与插入中可以看出。 对于某个确切的数组 $a$ 内的任何一个数 $a[i]$, 我们总能在数组 $a$ 的线性基中找到某几个数,使得这某几个数异或起来等于 $a[i]$ 。你可以把一组数的线性基理解成这一组数的 代表数组 ,也可以理解成这一组数的 缩影 。 线性基的性质 一组数的线性基内有多少数是固定的 , 取决于原数组是int类型还是long long类型,如果是int类型,线性基内的数不多余32个,如果是long long类型,线性基内的数不多余64个。 解释 :将原数组的每一个数都化为二进制形式,可能一些数的某一个二进制位是1

正规文法与正规式

江枫思渺然 提交于 2019-12-01 11:56:22
 3型文法也叫作正规文法,它对应于有限状态自动机,它是在2型文法的基础上满足:A->a|aB(右线性)或A->a|Ba(左线性)。如果有A->a,A->aB,B->a,B->cB则符合3型文法的要求。但是A->ab,A->aB,B->a,B->cB或A->a,A->Ba,B->a,B->cB则不符合3型文法的要求。也就是说,不能够推导出两个终结符,而且左线性和右线性只能使用一种,不能够同时出现。 1.分别写出描述以下语言的正规文法和正规式: (1)L1={ab n a|n≥0}。 (2)L2={a m b n |n≥1,m ≥1} (3)L3={(ab) n |n≥1} 答:(1) S -> aA      A -> bA | a    (2)S -> aABb      A -> aA | ε      B -> bB | ε    (3)S -> abβ      β -> ab | ε 2.将以下正规文法转换到正规式 Z→0A A→0A|0B B→1A|ε 答:Z = 0A   A = 0A + 0B   B = 1A + ε   A = 0A + 0(1A + ε) = 0A + 01A + 0    A = aA | b   Z = 0(0 | 01)*0 Z→U0|V1 U→Z1|1 V→Z0|0 答:Z = U0 + V1   U = Z1 + 1   V = Z0