矩阵系列 题解
1.洛谷 P1962 斐波那契数列
题意
大家都知道,斐波那契数列是满足如下性质的一个数列:
F n = { 1 ( n ≤ 2 ) F n − 1 + F n − 2 ( n ≥ 3 ) F_n = \left\{\begin{aligned} 1 \space (n \le 2) \\ F_{n-1}+F_{n-2} \space (n\ge 3) \end{aligned}\right. Fn={1 (n≤2)Fn−1+Fn−2 (n≥3)
请你求出 F n m o d 1 0 9 + 7 F_n \bmod 10^9 + 7 Fnmod109+7 的值。
1 ≤ n < 2 63 1\le n < 2^{63} 1≤n<263。
思路
[ F i − 1 F i ] = [ F i − 2 F i − 1 ] ⋅ [ 0 1 1 1 ] \begin{bmatrix} F_{i-1} & F_{i} \end{bmatrix} =\begin{bmatrix} F_{i-2} &F_{i-1} \end{bmatrix}\cdot \begin{bmatrix} 0 & 1\\ 1 & 1 \end{bmatrix} [Fi−1Fi]=[Fi−2Fi−1]⋅[0111]
2.SMOJ 数列1
题意
有一个数列:
f n = { 0 ( n ≤ 2 ) 7 f n − 1 + 6 f n − 2 + 4 × 3 n ( n ≥ 3 ) f_n = \left\{\begin{aligned} 0 \ (n \le 2) \\ 7f_{n-1}+6f_{n-2}+4\times 3^n \ (n\ge 3) \end{aligned}\right. fn={0 (n≤2)7fn−1+6fn−2+4×3n (n≥3)
请你求出 f n m o d 1 0 9 + 7 f_n \bmod 10^9 + 7 fnmod109+7 的值。
3 ≤ n ≤ 1 0 9 3\le n \le 10^9 3≤n≤109。
思路
[ f i − 1 f i 4 × 3 i + 1 ] = [ f i − 2 f i − 1 4 × 3 i ] ⋅ [ 0 6 0 1 7 0 0 1 3 ] \begin{bmatrix} f_{i-1} & f_i &4\times3^{i+1}\end{bmatrix}=\begin{bmatrix} f_{i-2} & f_{i-1} & 4\times 3^i\end{bmatrix}\cdot \begin{bmatrix} 0 & 6 & 0\\ 1 & 7 & 0\\ 0 & 1 & 3 \end{bmatrix} [fi−1fi4×3i+1]=[fi−2fi−14×3i]⋅ 010671003
3.SMOJ 数列2
题意
有一个数列:
f n = { 0 ( n ≤ 2 ) 7 f n − 1 + 6 f n − 2 + 4 × 3 n + 5 n ( n ≥ 3 ) f_n = \left\{\begin{aligned} 0 \ (n \le 2) \\ 7f_{n-1}+6f_{n-2}+4\times 3^n+5n \ (n\ge 3) \end{aligned}\right. fn={0 (n≤2)7fn−1+6fn−2+4×3n+5n (n≥3)
请你求出 f n m o d 1 0 9 + 7 f_n \bmod 10^9 + 7 fnmod109+7 的值。
思路
[ f i − 1 f i 4 × 3 i + 1 5 ( i + 1 ) 5 ] = [ f i − 2 f i − 1 4 × 3 i 5 i 5 ] ⋅ [ 0 6 0 1 0 1 7 0 1 0 0 1 3 1 0 0 1 0 1 0 0 0 0 1 1 ] \begin{bmatrix} f_{i-1} & f_i & 4\times 3^{i+1} & 5(i+1) & 5 \end{bmatrix}= \begin{bmatrix} f_{i-2} & f_{i-1} & 4\times 3^i & 5i & 5 \end{bmatrix}\cdot\begin{bmatrix} 0 & 6 & 0 & 1 & 0\\ 1 & 7 & 0 & 1 & 0\\ 0 & 1 & 3 & 1 & 0\\ 0 & 1 & 0 & 1 & 0\\ 0 & 0 & 0 & 1 & 1 \end{bmatrix} [fi−1fi4×3i+15(i+1)5]=[fi−2fi−14×3i5i5]⋅ 0100067110003001111100001
4.SMOJ 幸运数
题意
小明认为只有数字 4 4 4 和 7 7 7 是幸运数字,其他数字都不是。如果一个整数的每个数字都是幸运数字,那么该整数就是幸运整数。
给出一个数组 n u m b e r s 1... n numbers_{1...n} numbers1...n。
一个长度为 L L L 的幸运数列 A 0... L − 1 A_{0...L-1} A0...L−1 必须同时满足:
-
∀ i ∈ [ 0 , L ) \forall i\in[0,L) ∀i∈[0,L), A i A_i Ai 必须是幸运整数。
-
∀ i ∈ [ 0 , L ) \forall i\in[0,L) ∀i∈[0,L), A i A_i Ai 的最后一个数字必须等于 A [ i + 1 ] A[i+1] A[i+1] 的第一个数字。
-
∀ i ∈ [ 0 , L ) \forall i\in[0,L) ∀i∈[0,L),至少存在一个下标 j j j 满足 A i = n u m b e r s j A_i=numbers_j Ai=numbersj。
输出有多少个不同的长度为L的幸运序列,答案模 1234567891 1234567891 1234567891。
对于两个长度都是L的幸运序列 A 0... L − 1 A_{0...L- 1} A0...L−1 和 B 0... L − 1 B_{0...L - 1} B0...L−1,他们被认为是不同序列的条件是: ∃ i , A i ≠ B i \exist i,A_i\neq B_i ∃i,Ai=Bi。
1 ≤ n ≤ 50 , 1 ≤ n u m b e r s i ≤ 1 0 9 , 1 ≤ L ≤ 1 0 9 1\le n\le 50,1\le numbers_i\le 10^9,1\le L\le 10^9 1≤n≤50,1≤numbersi≤109,1≤L≤109
思路
对所有幸运数分类:
- 4 4 4 头 4 4 4 尾
- 4 4 4 头 7 7 7 尾
- 7 7 7 头 4 4 4 尾
- 7 7 7 头 7 7 7 尾
用一个桶 c n t cnt cnt 记个数。
令 f i , t y p e f_{i,type} fi,type 表示前 i i i 个幸运数组成的序列中,序列最后一个数种类为 t y p e ∈ [ 1 , 4 ] type\in [1,4] type∈[1,4] 的方案数。
那么容易写出转移式子:
f i , 1 = f i − 1 , 1 ⋅ c n t 1 + f i − 1 , 3 ⋅ c n t 1 f_{i,1}=f_{i-1,1}\cdot cnt_1+f_{i-1,3}\cdot cnt_1 fi,1=fi−1,1⋅cnt1+fi−1,3⋅cnt1
f i , 2 = f i − 1 , 1 ⋅ c n t 2 + f i − 1 , 3 ⋅ c n t 2 f_{i,2}=f_{i-1,1}\cdot cnt_2+f_{i-1,3}\cdot cnt_2 fi,2=fi−1,1⋅cnt2+fi−1,3⋅cnt2
f i , 3 = f i − 1 , 2 ⋅ c n t 3 + f i − 1 , 4 ⋅ c n t 3 f_{i,3}=f_{i-1,2}\cdot cnt_3+f_{i-1,4}\cdot cnt_3 fi,3=fi−1,2⋅cnt3+fi−1,4⋅cnt3
f i , 4 = f i − 1 , 2 ⋅ c n t 4 + f i − 1 , 4 ⋅ c n t 4 f_{i,4}=f_{i-1,2}\cdot cnt_4+f_{i-1,4}\cdot cnt_4 fi,4=fi−1,2⋅cnt4+fi−1,4⋅cnt4
只需做 L L L 次 dp 即可,但是 L L L 最大去到 1 0 9 10^9 109,显然会炸。由于操作单调,因此考虑矩阵快速幂优化:
[ f i , 1 f i , 2 f i , 3 f i , 4 ] = [ f i − 1 , 1 f i − 1 , 2 f i − 1 , 3 f i − 1 , 4 ] ⋅ [ c n t 1 c n t 2 0 0 0 0 c n t 3 c n t 4 c n t 1 c n t 2 0 0 0 0 c n t 3 c n t 3 ] \begin{bmatrix} f_{i,1} & f_{i,2} & f_{i,3} & f_{i,4} \end{bmatrix}=\begin{bmatrix} f_{i-1,1} & f_{i-1,2} & f_{i-1,3} & f_{i-1,4} \end{bmatrix}\cdot\begin{bmatrix} cnt_1 & cnt_2 & 0 & 0\\ 0 & 0 & cnt_3 & cnt_4\\ cnt_1 & cnt_2 & 0 & 0\\ 0 & 0 & cnt_3 & cnt_3 \end{bmatrix} [fi,1fi,2fi,3fi,4]=[fi−1,1fi−1,2fi−1,3fi−1,4]⋅ cnt10cnt10cnt20cnt200cnt30cnt30cnt40cnt3
代码
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const ll N=102,mod=1234567891;
struct matrix
{ll row,col;ll data[N][N];matrix(ll r,ll c,ll isI){row=r;col=c;memset(data,0,sizeof(data));if(isI){for(int i=1;i<=row;i++)data[i][i]=1;}}
};
matrix operator * (const matrix &a,const matrix &b)
{matrix c(a.row,b.col,0);for(int i=1;i<=a.row;i++)for(int j=1;j<=b.col;j++)for(int k=1;k<=a.col;k++)c.data[i][j]=(c.data[i][j]+a.data[i][k]*b.data[k][j]%mod+mod)%mod;return c;
}
matrix qpow_matrix(matrix a,ll k)
{matrix ret(a.row,a.col,1);while(k){if(k&1)ret=ret*a;a=a*a;k>>=1;}return ret;
}
ll n,m,a[N];
ll f[N][5],cnt[5];
ll type(string x)
{ll sx=x.size();x='*'+x;for(int i=1;i<=sx;i++)if(x[i]!='4'&&x[i]!='7')return 0;if(x[1]=='4'&&x[sx]=='4')return 1;else if(x[1]=='4'&&x[sx]=='7')return 2;else if(x[1]=='7'&&x[sx]=='4')return 3;else return 4;
}
vector<string>luk[N];
int main()
{scanf("%lld%lld",&n,&m);for(int i=1;i<=n;i++){string a;cin>>a;ll t=type(a);if(!t)continue;bool flag=1;for(auto x:luk[t]){if(x==a){flag=0;break;}}if(flag)luk[t].push_back(a),cnt[t]++;}matrix A(1,4,0);matrix B(4,4,0);for(int i=1;i<=n;i++)A.data[1][i]=cnt[i];B.data[1][1]=B.data[3][1]=cnt[1];B.data[1][2]=B.data[3][2]=cnt[2];B.data[2][3]=B.data[4][3]=cnt[3];B.data[2][4]=B.data[4][4]=cnt[4];A=A*qpow_matrix(B,m-1);ll ans=0;for(int i=1;i<=4;i++)ans=(ans+A.data[1][i])%mod;printf("%lld",ans);return 0;
}
5.SMOJ 序列/CF691E Xor-sequences
题意
给定一个数集 A A A,现在你需要构造一个长度为 m m m 的序列 B B B,序列 B B B 的元素从数集 A A A 中任意挑选,要求 B B B 中任意相邻的两个数字的异或值二进制表示中 1 1 1 的个数是 3 3 3 的倍数,请问 B B B 的有多少种合法的构造方案?两种方案不同当且仅当存在 b i b_i bi 在 A A A 中的位置不同。
1 ≤ n ≤ 100 , 1 ≤ m ≤ 1 0 18 , 0 ≤ a i ≤ 1 0 18 1\le n\le 100,1\le m\le 10^{18},0\le a_i\le 10^{18} 1≤n≤100,1≤m≤1018,0≤ai≤1018
思路
设 f i , j f_{i,j} fi,j 表示选择了 i i i 个数,最后一个数是 a j a_j aj 的方案数(注意数列可以乱序),那么有:
f i , j = ∑ k = 1 n f i − 1 , k ⋅ A i , j f_{i,j}=\sum_{k=1}^{n}f_{i-1,k}\cdot\ A_{i,j} fi,j=k=1∑nfi−1,k⋅ Ai,j
其中 A i , j A_{i,j} Ai,j 表示:
A i , j = [ a j ⨁ a k m o d 3 = 0 ] A_{i,j}=\left [a_j\bigoplus a_k \bmod3=0\right ] Ai,j=[aj⨁akmod3=0]
中括号为艾弗森括号,不难发现 A A A 以对角线对称。
对于每个 ( i , j ) (i,j) (i,j),都要遍历 k ∈ [ 1 , n ] k\in[1,n] k∈[1,n] 来逐一比对一遍是否有 a j ⨁ a k m o d 3 = 0 a_j\bigoplus a_k \bmod3=0 aj⨁akmod3=0。如此过程,实则与矩阵乘法的运算过程比较相似(这还是比较注意力惊人了,除非你对矩阵无比的熟悉)那么不妨使用矩阵快速幂优化了。最终答案就是:
a n s = ∑ d a t a ( A n − 1 ) ans=\sum data(A^{n-1}) ans=∑data(An−1)
d a t a ( M ) data(M) data(M) 表示一个矩阵 M M M 内所有元素。
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const ll N=102,mod=1e9+7;
struct matrix
{ll row,col;ll data[N][N];matrix(ll r,ll c,ll isI){row=r;col=c;memset(data,0,sizeof(data));if(isI){for(int i=1;i<=row;i++)data[i][i]=1;}}
};
matrix operator * (const matrix &a,const matrix &b)
{matrix c(a.row,b.col,0);for(int i=1;i<=a.row;i++)for(int j=1;j<=b.col;j++)for(int k=1;k<=a.col;k++)c.data[i][j]=(c.data[i][j]+a.data[i][k]*b.data[k][j]%mod+mod)%mod;return c;
}
matrix qpow_matrix(matrix a,ll k)
{matrix ret(a.row,a.col,1);while(k){if(k&1)ret=ret*a;a=a*a;k>>=1;}return ret;
}
ll n,m,a[N];
ll popcnt(ll x)
{ll ret=0;while(x){if(x&1)ret++;x>>=1;}return ret;
}
int main()
{scanf("%lld%lld",&n,&m);for(int i=1;i<=n;i++)scanf("%lld",&a[i]);matrix A(n,n,0);for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)A.data[i][j]=(popcnt(a[i]^a[j])%3==0);A=qpow_matrix(A,m-1);ll ans=0;for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)ans=(ans+A.data[i][j])%mod;printf("%lld",ans);return 0;
}
6.SMOJ 黑板与数字/CF621E Wet Shark and Blocks
(本篇较口胡,见谅)
题意
有 b b b 个黑板,从左往右排成一行。
第 1 1 1 个黑板从左往右写有 n n n 个数字,每个数字是 1 1 1 至 9 9 9 范围内的数字。
把第 1 1 1 个黑板的所有数字复制一份,写到第 2 2 2 个黑板。
把第 1 1 1 个黑板的所有数字复制一份,写到第 3 3 3 个黑板。
把第 1 1 1 个黑板的所有数字复制一份,写到第 b b b 个黑板。
从这 b b b 个黑板中,各取一个数字,构成一个 b b b 位数,要使得这个 b b b 位数模 x x x 的结果是 k k k,求方案数(同一个黑板内取相同的数字算不同方案,因为位置不同),答案模 1 0 9 + 7 10^9+7 109+7。
思路
令 f i , j f_{i,j} fi,j 表示选了 i i i 个格子,模 x x x 余数为 j j j,那么有转移式子:
f i , 10 j + k m o d x = f i − 1 , j + n u m ( k ) f_{i,10j+k \bmod x}=f_{i-1,j}+num(k) fi,10j+kmodx=fi−1,j+num(k)
其中 n u m ( k ) num(k) num(k) 表示: n u m ( k ) = ∑ i = 1 n [ a i m o d x = k ] num(k)=\sum_{i=1}^n [a_i\bmod x=k] num(k)=i=1∑n[aimodx=k]
再枚举每一位,去到了 Θ ( b x ) \Theta(bx) Θ(bx);但是如此操作,像上几篇题解一样,与矩阵乘法相类似,因此可以考虑矩阵快速幂优化到 Θ ( log 2 b ) \Theta(\log_2b) Θ(log2b)
代码
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const ll N=111,mod=1e9+7;
ll n,b,k,x,a,yx[N];
struct matrix
{ll row,col;//行和列ll data[N][N];matrix(ll r,ll c,ll isI){row=r;col=c;memset(data,0,sizeof(data));if(isI){for(int i=0;i<row;i++)data[i][i]=1;}}
};
matrix operator * (const matrix &a,const matrix &b)
{matrix c(a.row,b.col,0);for(int i=0;i<a.row;i++)for(int j=0;j<b.col;j++)for(int k=0;k<a.col;k++)c.data[i][j]=(c.data[i][j]+a.data[i][k]*b.data[k][j]%mod+mod)%mod;return c;
}
matrix qpow_matrix(matrix a,ll k)
{matrix res(a.row,a.col,1);while(k){if(k&1)res=res*a;a=a*a;k>>=1;}return res;
}
int main()
{scanf("%lld%lld%lld%lld",&n,&b,&k,&x);for(int i=1;i<=n;i++){scanf("%lld",&a);yx[a%x]++;}matrix A(1,x,0);for(int i=0;i<x;i++)A.data[0][i]=yx[i];matrix B(x,x,0);for(int i=0;i<x;i++){for(int j=0;j<x;j++){ll r=(i*10+j)%x;B.data[i][r]+=yx[j];}}A=A*qpow_matrix(B,b-1);printf("%lld",A.data[0][k]);return 0;
}
相关文章:
矩阵系列 题解
1.洛谷 P1962 斐波那契数列 题意 大家都知道,斐波那契数列是满足如下性质的一个数列: F n { 1 ( n ≤ 2 ) F n − 1 F n − 2 ( n ≥ 3 ) F_n \left\{\begin{aligned} 1 \space (n \le 2) \\ F_{n-1}F_{n-2} \space (n\ge 3) \end{aligned}\right. …...
C++ 正则表达式分组捕获入门指南
在 C 中,正则表达式(regex)是一种用于匹配字符串模式的强大工具。正则表达式不仅能帮助你查找符合特定模式的字符,还能捕获匹配的子字符串(即分组捕获)。这篇文章将介绍 C 正则表达式中的分组捕获机制&…...
动态数据表格:基于 PrimeFaces 的运行时列选择实现
在现代的 Web 应用开发中,动态数据表格是一个非常实用的功能,它允许用户根据自己的需求选择显示哪些列。这种灵活性不仅提升了用户体验,还能适应不同的数据展示需求。今天,我们将通过一个具体的实现案例,展示如何使用 …...
Plugin ‘mysql_native_password‘ is not loaded`
Plugin ‘mysql_native_password’ is not loaded mysql_native_password介绍1. 使用默认的认证插件2. 修改 my.cnf 或 my.ini 配置文件3. 加载插件(如果确实没有加载)4. 重新安装或检查 MySQL 版本 遇到错误 ERROR 1524 (HY000): Plugin mysql_nativ…...
Kotlin 知识点二 延迟初始化和密封类
对变量延迟初始化 Kotlin 语言的许多特性,包括变量不可变,变量不可为空,等等。这些特性 都是为了尽可能地保证程序安全而设计的,但是有些时候这些特性也会在编码时给我们带来不 少的麻烦。 比如,如果你的类中存在很多…...
DeepSeek开源周第二弹:DeepEP如何用RDMA+FP8让MoE模型飞起来?
一、引言:MoE模型的通信瓶颈与DeepEP的诞生 在混合专家(MoE)模型训练中,专家间的全对全(All-to-All)通信成为性能瓶颈。传统方案在跨节点传输时带宽利用率不足50%,延迟高达300μs以上。DeepSee…...
C++ Primer 成员访问运算符
欢迎阅读我的 【CPrimer】专栏 专栏简介:本专栏主要面向C初学者,解释C的一些基本概念和基础语言特性,涉及C标准库的用法,面向对象特性,泛型特性高级用法。通过使用标准库中定义的抽象设施,使你更加适应高级…...
无人机遥控器的亮度 和 两个工作频率
工作频率 2.4000-2.4835 GHz , 5.725-5.850 GHz 1.这是一个无人机的遥控器的两个工作频率,为什么会有两个工作频率? 无人机的遥控器采用双频段设计(2.4GHz 和 5.8GHz),主要是为了解决以下问题并优化性…...
ubuntu20.04安装docker
3台主机,2台都能正确安装,第三台怎么都安装不成功; 3台主机都是一样的配置和系统; 后来看来是其外网的ip不一样,导致第三台主机可能被Qiang,不过错误只是提示签名不正确,在设置签名时好像没有…...
【含文档+PPT+源码】基于过滤协同算法的旅游推荐管理系统设计与实现
项目介绍 本课程演示的是一款基于过滤协同算法的旅游推荐管理系统设计与实现,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的 Java 学习者。 1.包含:项目源码、项目文档、数据库脚本、软件工具等所有资料 2.带你从零开始部署运行本套系…...
深入解析Crawl4AI:为AI应用量身定制的高效开源爬虫框架
引言 在当今数据驱动的时代,人工智能(AI)和大型语言模型(LLM)的发展对高质量数据的需求日益增长。如何高效地从互联网上获取、处理和提取有价值的数据,成为了研究人员和开发者面临的关键挑战。Crawl4AI作为…...
《Effective Objective-C》阅读笔记(下)
目录 内存管理 理解引用计数 引用计数工作原理 自动释放池 保留环 以ARC简化引用计数 使用ARC时必须遵循的方法命名规则 变量的内存管理语义 ARC如何清理实例变量 在dealloc方法中只释放引用并解除监听 编写“异常安全代码”时留意内存管理问题 以弱引用避免保留环 …...
深度生成模型(二)——基本概念与数学建模
上一篇笔记中提到了端到端模型底层核心采用了深度生成模型,先简单梳理一下 生成式人工智能(Artificial Intelligence Generated Content,AIGC)经历了从早期基于概率模型和规则系统的方法到现代深度生成模型的跨越式发展 深度神经…...
4.WebSocket 配置与Nginx 的完美结合
序言 在现代 web 应用中,WebSocket 作为一种全双工通信协议,为实时数据传输提供了强大的支持。若要确保 WebSocket 在生产环境中的稳定性和性能,使用 Nginx 作为反向代理服务器是一个明智的选择。本篇文章将带你了解如何在 Nginx 中配置 Web…...
【R语言】dplyr包经典函数summarise函数
dplyr包经典函数summarise函数,后面改名乘reframe函数了,但是summarise仍然适用 这个函数的返回结果是一个新的数据框,下面讲一下几种常见用法 示例数据为R自带的数据集mtcars 1.不分组 mtcars %>%summarise(mean mean(disp), n n()…...
Cuppa CMS v1.0 任意文件读取(CVE-2022-25401)
漏洞简介: Cuppa CMS v1.0 administrator/templates/default/html/windows/right.php文件存在任意文件读取漏洞 漏洞环境: 春秋云镜中的漏洞靶标,CVE编号为CVE-2022-25401 漏洞复现 弱口令行不通 直接访问administrator/templates/defau…...
8.Dashboard的导入导出
分享自己的Dashboard 1. 在Dashboard settings中选择 JSON Model 2. 导入 后续请参考第三篇导入光放Dashboard,相近...
RabbitMQ 的介绍与使用
一. 简介 1> 什么是MQ 消息队列(Message Queue,简称MQ),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已。 其主要用途:不同进程Process/线程T…...
unity学习58:下拉列表框 dropdown的caption和options
目录 1 下拉列表框 dropdown 1.1 创建dropdown 1.2 dropdown的子物体构成 1.3 drop的子物体构成:默认灰色的模板 template 1.3.1 默认灰色的模板 template 实际是生效的,只是不直接显示 1.3.2 其中 item下面是下拉选项的格式 1.3.3 可以修改和新增 1.4 drop…...
STM32中使用PWM对舵机控制
目录 1、硬件JIE 2、PWM口配置 3、角度转换 4、main函数中应用 5、工程下载连接 1、硬件介绍 单片机:STM32F1 舵机:MG995 2、PWM口配置 20毫秒的PWM脉冲占空比,对舵机控制效果较好 计算的公式: PSC、ARR值的选取…...
如何免费使用稳定的deepseek
0、背景: 在AI辅助工作中,除了使用cursor做编程外,使用deepseek R1进行问题分析、数据分析、代码分析效果非常好。现在我经常会去拿行业信息、遇到的问题等去咨询R1,也给了自己不少启示。但是由于官网稳定性很差,很多…...
STM32内存五区及堆栈空间大小设置(启动文件浅析)
前言 嘿,朋友们!今天咱们来聊聊STM32的内存五区和堆栈空间大小设置。这可是嵌入式开发里的“必修课”,要是没整明白,程序说不定就“翻车”了。别担心,我这就带你一步步搞懂这事儿,让你轻松上手,…...
LVS+Keepalived高可用群集配置案例
以下是一个 LVSKeepalived 高可用群集配置案例: 1、环境准备 LVS 主调度器(lvs1):IP 地址为 192.168.8.101,心跳 IP 为 192.168.4.101LVS 备调度器(lvs2):IP 地址为 192.168.8.102…...
MySQL 中如何解决深度分页的问题? MySQL中 join、inner join、left join、right join区别
MySQL 中如何解决深度分页的问题? 在 MySQL 中解决深度分页问题的核心思路是减少扫描的数据量,尤其是避免通过 LIMIT offset, size 导致的大范围数据扫描。以下是三种优化方法及其原理、适用场景和注意事项: 1. 子查询 覆盖索引(…...
本地部署DeepSeek-R1(Ollama+Docker+OpenWebUI知识库)
安装Ollama 打开 Ollama官网 https://ollama.com/下载安装 Ollama服务默认只允许本机访问,修改允许其它主机访问 OLLAMA_HOST0.0.0.0 ollama serve也可以添加系统环境变量 都知道模型体积很大,顺便也通过环境变量修改模型存放位置,我这…...
ubuntu22.04安装docker engine
在Ubuntu 22.04上安装Docker Engine可以通过以下步骤完成: 更新系统包索引: sudo apt update安装必要的依赖包: 这些包允许apt通过HTTPS使用仓库。 sudo apt install -y apt-transport-https ca-certificates curl software-properties-commo…...
Protobuf原理与序列化
本文目录 1. Protobuf介绍2. Protobuf的优势3. 编写Protobuf头部全局定义消息结构具体定义字段类型定义标签号Base128编码 4. TLVProtobuf的TLV编码如何通过Varint表示300? 5. 编译Protobuf6. 构造消息对象 前言:之前写项目的时候只是简单用了下Protobuf…...
Redis|事务
文章目录 是什么能干嘛Redis 事务 VS 数据库事务怎么玩小总结 是什么 首先回想一下什么是数据库的事务?数据库事务是指作为单个逻辑单元执行的一系列操作,具备以下四个关键特性(ACID): 原子性(Atomicity&am…...
树莓百度百科更新!宜宾园区业务再添新篇
树莓集团宜宾园区业务不断拓展,主要体现在以下几个方面: 产业布局 -聚焦数字经济核心领域:涵盖软件开发、人工智能、大数据等,吸引众多上下游企业入驻,形成从芯片研发、软件开发到系统集成的完整产业链条。 -推进“双…...
设计模式教程:模板方法模式(Template Method Pattern)
一、概述 模板方法模式(Template Method Pattern) 是一种行为型设计模式,旨在定义一个操作中的算法骨架,而将一些步骤的具体实现延迟到子类中。通过模板方法模式,父类可以不改变算法结构的情况下,让子类重…...
unity学习54:图片+精灵+遮罩mask,旧版文本 text 和新的TMP文本
目录 1 图片 image 1.1 如果直接导入image 1.2 图片 image 和精灵 sprite 1.2.1 继续修改上面的格式 texture type 是default 1.2.2 再次关联到UI的 image 物体上就可以了 1.3 图片和遮罩 mask 1.3.1 创建1个父物体和1个子物体,分别都是image 1.3.2 如果父…...
【Java项目】基于Spring Boot的校园闲置物品交易网站
【Java项目】基于Spring Boot的校园闲置物品交易网站 技术简介:采用Java技术、Spring Boot框架、MySQL数据库等实现。 系统简介:校园闲置物品交易网站是一个典型的管理系统,主要功能包括管理员:首页、个人中心、用户管理、商品类…...
网页制作08-html,css,javascript初认识のhtml使用框架结构,请先建立站点!
框架一般由框架集和框架组成。 框架集就像一个大的容器,包括所有的框架,是框架的集合。 框架是框架集中一个独立的区域用于显示一个独立的网页文档。 框架集是文件html,它定义一组框架的布局和属性,包括框架的数目,框架…...
DeepSeek-R1:通过强化学习激励大语言模型的推理能力
摘要 本文介绍了我们的第一代推理模型,DeepSeek-R1-Zero 和 DeepSeek-R1。DeepSeek-R1-Zero 是通过大规 模强化学习(RL)训练的模型,在没有使用监督微调(SFT)这个前置步骤的情况下,展示了卓越的推…...
hbase笔记总结1
hbase是nosql的一种,非关系型数据库,not only sql,可处理大规模、高并发的数据,是web2.0以后的产物hbase的扩展性和灵活性更好,而且筛选能力相较于MySQL更优nosql的四大特点: 灵活的数据模型 (1…...
关于C++中static_cast、const_cast、dynamic_cast的简单介绍
在C中,static_cast、const_cast 和 dynamic_cast 是用于类型转换的关键字,它们的行为和适用场景有显著区别。以下是它们的核心差异和用法总结: 1. static_cast 用途 用于明确且安全的类型转换,通常用于编译时已知类型关系的场景…...
计算机毕业设计 ——jspssm513Springboot 的小区物业管理系统
作者:程序媛9688 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等。 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,还有大家在毕设选题(免费咨询指导选题)…...
详解Tomcat下载安装以及IDEA配置Tomcat(2023最新)
目录 步骤一:首先确认自己是否已经安装JDK步骤二:下载安装Tomcat步骤三:Tomcat配置环境变量步骤四:验证Tomcat配置是否成功步骤五:为IDEA配置Tomcat 步骤一:首先确认自己是否已经安装JDK jdk各版本通用安…...
端口映射/内网穿透方式及问题解决:warning: remote port forwarding failed for listen port
文章目录 需求:A机器是内网机器,B机器是公网服务器,想要从公网,访问A机器的端口方式:端口映射,内网穿透,使用ssh打洞端口:遇到问题:命令执行成功,但是端口转发…...
2024年第十五届蓝桥杯大赛软件赛省赛Python大学A组真题解析
文章目录 试题A: 拼正方形(本题总分:5 分)解析答案试题B: 召唤数学精灵(本题总分:5 分)解析答案试题C: 数字诗意解析答案试题A: 拼正方形(本题总分:5 分) 【问题描述】 小蓝正在玩拼图游戏,他有7385137888721 个2 2 的方块和10470245 个1 1 的方块,他需要从中挑出一些…...
win11编译pytorch cuda128版本流程
Geforce 50xx系显卡最低支持cuda128,torch cu128 release版本目前还没有释放,所以自己基于2.6.0源码自己编译wheel包。 1. 前置条件 1. 使用visual studio installer 安装visual studio 2022,工作负荷选择【使用c的桌面开发】,安装完成后将…...
AI人工智能机器学习之降维和数据压缩
1、概要 本篇学习AI人工智能机器学习之降维和数据压缩,以主成分分析(PCA, Principal Component Analysis)为例,从代码层面讲述机器学习中的降维和数据压缩。 2、降维和数据压缩 - 简介 在机器学习和数据分析中,降维&…...
EasyExcel 使用指南:基础操作与常见问题
文章目录 1. EasyExcel 简介2. 基础操作2.1. 写入 Excel 🔥2.2. 读取 Excel ✅2.3. 使用模板 🎨 3. 常见问题与解决方案3.1. 处理日期格式 📅3.2. 数据写入失败:占位符无法匹配 ❌3.3. 内存溢出:大数据量处理 ⚡3.4. 空…...
本地搭建Koodo Reader书库结合内网穿透打造属于自己的移动图书馆
文章目录 前言1. Koodo Reader 功能特点1.1 开源免费1.2 支持众多格式1.3 多平台兼容1.4 多端数据备份同步1.5 多功能阅读体验1.6 界面简洁直观 2. Koodo Reader安装流程2.1 安装Git2.2 安装Node.js2.3 下载koodo reader 3. 安装Cpolar内网穿透3.1 配置公网地址3.2 配置固定公网…...
Mybatis是如何进行分页的?与Mybatis-plus的区别在哪里?
MyBatis 的分页方式及其与 MyBatis-Plus 的区别可以总结如下: MyBatis 的分页实现 逻辑分页(内存分页) 使用 RowBounds 对象,在查询时传入参数,MyBatis 会在结果集返回后,在内存中手动截取指定范围的数据。…...
MySQL 主从同步配置及操作步骤
主从同步是一种常见的数据复制技术,它通过将主库的数据同步到一个或多个从数据库中来保证数据的一致性。从库通过读取主库的 binlog 文件来获取更新并进行同步。 主从复制的方式有三种: 异步复制:不需要从库确认,主库提交数据后…...
【软考-架构】备战2025软考
新老教材对比 科目1(信息系统综合)考点详解 科目2(系统架构设计案例)考点详解 科目3(系统架构设计论文)考点详解 趋于越来越具体 学习方法推荐 第一阶段 – 基础知识阶段 建议一个半月; 先过…...
基于Spark的电商供应链系统的设计与实现
目录 1.研究背景与意义 2、国内外研究现状 3、相关理论与技术 (一)分布式计算系统Spark (二)数据仓库Hive (三)读取服务器本地磁盘的日志数据Flume (四)分布式消息队列Kafka …...
DaoCloud 亮相 2025 GDC丨开源赋能 AI 更多可能
2025 年 2 月 21 日至 23 日,上海徐汇西岸,2025 全球开发者先锋大会以 “模塑全球,无限可能” 的主题,围绕云计算、机器人、元宇宙等多元领域,探讨前沿技术创新、应用场景拓展和产业生态赋能,各类专业论坛、…...
基于coze+微信小程序实现图片上传并利用大模型解析
项目截图: 实现代码(直接搬去可用) 前提:需要填写你的oss配置coze的api授权配置!!! <template><view class"container"><!-- 高斯模糊背景 --><view class&qu…...