Week14 - 程序设计思维与实践 - 矩阵快速幂(+优化DP)

2023-05-16

题目连接

A - Q老师与石头剪刀布(必做)

题意

每一个大人曾经都是一个小孩,Q老师 也一样。
为了回忆童年,Q老师 和 Monika 玩起了石头剪刀布的游戏,游戏一共 n 轮。无所不知的 Q老师 知道每一轮 Monika 的出招,然而作为限制, Q老师 在这 n 轮游戏中必须恰好出 a 次石头,b 次布和 c 次剪刀。
如果 Q老师 赢了 Monika n/2(上取整) 次,那么 Q老师就赢得了这场游戏,否则 Q老师 就输啦!
Q老师非常想赢,他想知道能否可以赢得这场游戏,如果可以的话,Q老师希望你能告诉他一种可以赢的出招顺序,任意一种都可以。

Input

第一行一个整数 t(1 ≤ t ≤ 100)表示测试数据组数。然后接下来的 t 组数据,每一组都有三个整数:
第一行一个整数 n(1 ≤ n ≤ 100)
第二行包含三个整数 a, b, c(0 ≤ a, b, c ≤ n)。保证 a+b+c=n
第三行包含一个长度为 n 的字符串 s,字符串 s 由且仅由 ‘R’, ‘P’, ‘S’ 这三个字母组成。第 i 个字母 s[i] 表示 Monika 在第 i 轮的出招。字母 ‘R’ 表示石头,字母 ‘P’ 表示布,字母 ‘S’ 表示剪刀

Output

对于每组数据:
如果 Q老师 不能赢,则在第一行输出 “NO”(不含引号)
否则在第一行输出 “YES”(不含引号),在第二行输出 Q老师 的出招序列 t。要求 t 的长度为 n 且仅由 ‘R’, ‘P’, ‘S’ 这三个字母构成。t 中需要正好包含 a 个 ‘R’,b 个 ‘P’ 和 c 个 ‘S’
“YES”/"NO"是大小写不敏感的,但是 ‘R’, ‘P’, ‘S’ 是大小写敏感的。

Sample Input

2
3
1 1 1
RPS
3
3 0 0
RPS

Sample Output

YES
PSR
NO

思路

由于题目要求在这 n 轮游戏中必须恰好出 a 次石头,b 次布和 c 次剪刀,同时还要保证尽可能最多胜场,
所以我们优先处理能 Q 老师能赢的情况 ,最后再把剩下的 a、b、c 分配给平局/输局即可。

代码实现

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <string>
using namespace std;

int main()
{
	int t,n,a,b,c;
	char m[110],ans[110];
	scanf("%d",&t);
	while(t--){
		scanf("%d",&n);
		for(int i=1;i<=n;i++)
			ans[i]='0';
		scanf("%d%d%d",&a,&b,&c);
		scanf("%s",m+1);
		int cnt=0;
		for(int i=1;i<=n;i++){
			if(m[i]=='R'&&b>0){
				b--;cnt++;ans[i]='P';
			}
			else if(m[i]=='P'&&c>0){
				c--;cnt++;ans[i]='S';	
			}
			else if(m[i]=='S'&&a>0){
				a--;cnt++;ans[i]='R';
			}
		}
		for(int i=1;i<=n;i++){
			if(ans[i]=='0'){
				if(a>0){
					ans[i]='R';a--;
				}
				else if(b>0){
					ans[i]='P';b--;
				}
				else if(c>0){
					ans[i]='S';c--;
				}
			}
		}
		if(cnt>=ceil((float)n/2.0)){
			printf("YES\n");
			for(int i=1;i<=n;i++)
				printf("%c",ans[i]);
			printf("\n");
		}
		else{
			printf("NO\n");
		}
	}
	return 0;
}

B - Q老师与十字叉(必做)

题意

Q老师 得到一张 n 行 m 列的网格图,上面每一个格子要么是白色的要么是黑色的。
Q老师认为失去了 十字叉 的网格图莫得灵魂。一个十字叉可以用一个数对 x 和 y 来表示, 其中 1 ≤ x ≤ n 并且 1 ≤ y ≤ m, 满足在第 x 行中的所有格子以及在第 y 列的 所有格子都是黑色的。
Q老师 得到了一桶黑颜料,他想为这个网格图注入灵魂。 Q老师 每分钟可以选择一个白色的格子并且把它涂黑。现在他想知道要完成这个工作,最少需要几分钟?

Input

第一行包含一个整数 q (1 ≤ q ≤ 5 * 10^4) — 表示测试组数
对于每组数据:
第一行有两个整数 n 和 m (1 ≤ n, m ≤ 5 * 10^4, n * m ≤ 4 * 10^5) — 表示网格图的行数和列数
接下来的 n 行中每一行包含 m 个字符 — ‘.’ 表示这个格子是白色的, '’ 表示这个格子是黑色的
保证 q 组数据中 n 的总和不超过 5 * 10^4, n
m 的总和不超过 4 * 10^5

Output

答案输出 q 行, 第 i 行包含一个整数 — 表示第 i 组数据的答案

Sample Input

9
5 5
..*..
..*..
*****
..*..
..*..
3 4
****
.*..
.*..
4 3
***
*..
*..
*..
5 5
*****
*.*.*
*****
..*.*
..***
1 4
****
5 5
.....
..*..
.***.
..*..
.....
5 3
...
.*.
.*.
***
.*.
3 3
.*.
*.*
.*.
4 4
*.**
....
*.**
*.**

Sample Output

0
0
0
0
0
4
1
1
2

思路

WA了三发了。。。冷静冷静再做。。。
回来补坑!!!
首先开二维数组存每一个元素是肯定会爆内存的
一开始把问题想简单了,只是记录横向与纵向黑色块的最大值然后计算,虽然大多数情况都符合,但有一种情况比如酱紫:
在这里插入图片描述
横向/纵向不是最大值,但两个交叉在一起之后结果就不一样了gg…
所以改为踏踏实实地枚举每一行每一列…

代码实现

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <string>
#include <map>
using namespace std;
const int maxn=50010;
int q,n,m;
char c[maxn];

struct node{
	int x,y;
	node(int xx,int yy):x(xx),y(yy){}
	bool operator<(const node &s)const{
		if(x!=s.x) return x<s.x;
		else	   return y<s.y;
	}
};

map<node,bool> black;
int a[maxn],b[maxn];

int main()
{
//	freopen("input.txt","r",stdin);
//	freopen("output.txt","w",stdout);
	scanf("%d",&q);
	while(q--){
		scanf("%d%d",&n,&m);
		memset(a,0,sizeof(a));
		memset(b,0,sizeof(b));
		for(int i=1;i<=n;i++){
			scanf("%s",c+1);
			for(int j=1;j<=m;j++){
				if(c[j]=='*'){
					black[node(i,j)]=1;
					a[i]++;b[j]++;
				}
			}
		}
		int ans=1e9;
		for(int i=1;i<=n;i++){
			for(int j=1;j<=m;j++){
				int tmp=black[node(i,j)]?a[i]+b[j]-1:a[i]+b[j];
				ans=min(ans,n+m-1-tmp);
			}
		}
		black.clear();
		printf("%d\n",ans);
	}
	return 0;	
}

C - Q老师的考验(必做)

题意

Q老师 对数列有一种非同一般的热爱,尤其是优美的斐波那契数列。
这一天,Q老师 为了增强大家对于斐波那契数列的理解,决定在斐波那契的基础上创建一个新的数列 f(x) 来考一考大家。数列 f(x) 定义如下:
当 x < 10 时,f(x) = x;
当 x ≥ 10 时,f(x) = a0 * f(x-1) + a1 * f(x-2) + a2 * f(x-3) + …… + a9 * f(x-10),ai 只能为 0 或 1。
Q老师 将给定 a0~a9,以及两个正整数 k m,询问 f(k) % m 的数值大小。
聪明的你能通过 Q老师 的考验吗?

Input

输出文件包含多组测试用例,每组测试用例格式如下:
第一行给定两个正整数 k m。(k < 2e9, m < 1e5)
第二行给定十个整数,分别表示 a0~a9。

Output

对于每一组测试用例输出一行,表示 f(k) % m 的数值大小。

Sample Input

10 9999
1 1 1 1 1 1 1 1 1 1
20 500
1 0 1 0 1 0 1 0 1 0

Sample Output

45
104

思路

在这里插入图片描述

代码实现

#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>
using namespace std;
typedef long long ll;
ll k,mod,a[20];
const int N=10;

struct matrix{
	matrix(){memset(a,0,sizeof(a));}
	matrix(const matrix &s){memcpy(a,s.a,sizeof(a));}
	matrix operator*(const matrix &s){
		matrix t;
		for(int i=0;i<N;i++){
			for(int j=0;j<N;j++){
				for(int k=0;k<N;k++){
					t.a[i][j]+=a[i][k]*s.a[k][j]%mod;
					t.a[i][j]%=mod;
				}				
			}	
		}					
		return t;
	}
	ll a[N][N];
};

void solve(matrix x,int n){
	matrix ans;
	for(int i=0;i<10;i++)
		ans.a[i][i]=1;
	while(n){
		if(n&1) ans=ans*x;
		x=x*x;
		n>>=1;
	}
	ll res=0;
	for(int i=0;i<10;i++){
		res+=ans.a[0][i]*(10-i-1)%mod;
	}
	printf("%lld\n",res%mod);
}

int main()
{
	matrix x;
	while(~scanf("%lld%lld",&k,&mod)){
		for(int i=0;i<10;i++)
			scanf("%lld",&a[i]);
		if(k<10){
			printf("%lld\n",k%mod);
			continue;
		}
		memset(x.a,0,sizeof(x.a));
		for(int j=0;j<10;j++)
			x.a[0][j]=a[j];
		for(int i=1;i<10;i++)
			x.a[i][i-1]=1;
		solve(x,k-9);
	}
	return 0;
}

D - Q老师染砖(选做)

题意

衣食无忧的 Q老师 有一天突发奇想,想要去感受一下劳动人民的艰苦生活。
具体工作是这样的,有 N 块砖排成一排染色,每一块砖需要涂上红、蓝、绿、黄这 4 种颜色中的其中 1 种。且当这 N 块砖中红色和绿色的块数均为偶数时,染色效果最佳。
为了使工作效率更高,Q老师 想要知道一共有多少种方案可以使染色效果最佳,你能帮帮他吗?

Input

第一行为 T,代表数据组数。(1 ≤ T ≤ 100)
接下来 T 行每行包括一个数字 N,代表有 N 块砖。(1 ≤ N ≤ 1e9)

Output

输出满足条件的方案数,答案模 10007。

Sample Input

2
1
2

Sample Output

2
6

思路

在这里插入图片描述

代码实现

#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>
using namespace std;
typedef long long ll;
const ll mod=10007;
int t,n;
const int N=3;

struct matrix{
	matrix(){memset(a,0,sizeof(a));}
	matrix(const matrix &s){memcpy(a,s.a,sizeof(a));}
	matrix operator*(const matrix &s){
		matrix t;
		for(int i=0;i<N;i++){
			for(int j=0;j<N;j++){
				for(int k=0;k<N;k++){
					t.a[i][j]+=a[i][k]*s.a[k][j]%mod;
					t.a[i][j]%=mod;
				}				
			}	
		}					
		return t;
	}
	ll a[N][N];
};

void solve(matrix x,int n){
	matrix ans;
	for(int i=0;i<N;i++)
		ans.a[i][i]=1;
	while(n){
		if(n&1) ans=ans*x;
		x=x*x;
		n>>=1;
	}
	ll res=0;
	res=ans.a[0][0]%mod;
	printf("%lld\n",res);
}

int main()
{
	scanf("%d",&t);
	while(t--){
		scanf("%d",&n);
		matrix x;
		x.a[0][0]=x.a[1][1]=2;
		x.a[0][2]=x.a[1][2]=1;
		for(int i=0;i<N;i++)
			x.a[2][i]=2;
		solve(x,n);
	}
	return 0;
}

E - Q老师度假(选做)

题意

忙碌了一个学期的 Q老师 决定奖励自己 N 天假期。
假期中不同的穿衣方式会有不同的快乐值。
已知 Q老师 一共有 M 件衬衫,且如果昨天穿的是衬衫 A,今天穿的是衬衫 B,则 Q老师 今天可以获得 f[A][B] 快乐值。
在 N 天假期结束后,Q老师 最多可以获得多少快乐值?

Input

输入文件包含多组测试样例,每组测试样例格式描述如下:
第一行给出两个整数 N M,分别代表假期长度与 Q老师 的衬衫总数。(2 ≤ N ≤ 100000, 1 ≤ M ≤ 100)
接下来 M 行,每行给出 M 个整数,其中第 i 行的第 j 个整数,表示 f[i][j]。(1 ≤ f[i][j] ≤ 1000000)
测试样例组数不会超过 10。

Output

每组测试样例输出一行,表示 Q老师 可以获得的最大快乐值。

Sample Input

3 2
0 1
1 0
4 3
1 2 3
1 2 3
1 2 3

Sample Output

2
9

思路

在这里插入图片描述

代码实现

#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <algorithm> 
using namespace std;
typedef long long ll;
ll n,m,f[110][110];
int N;

struct matrix{
	matrix(){memset(a,0,sizeof(a));}
	matrix(const matrix &s){memcpy(a,s.a,sizeof(a));}
	matrix operator*(const matrix &s){
		matrix t;
		for(int i=0;i<N;i++){
			for(int j=0;j<N;j++){
				for(int k=0;k<N;k++){
					t.a[i][j]=max(t.a[i][j],a[i][k]+s.a[k][j]);
				}				
			}	
		}					
		return t;
	}
	ll a[110][110];
};

void solve(matrix x,int n){
	matrix ans;	
	while(n){
		if(n&1)	ans=ans*x;	
		x=x*x;
		n>>=1;
	}	
	ll res=0;
	for(int i=0;i<m;i++){
		for(int j=0;j<m;j++){
			res=max(res,ans.a[i][j]);
		}
	}
	printf("%lld\n",res);
}

int main()
{
	while(~scanf("%lld%lld",&n,&m)){
		N=m;
		for(int i=0;i<m;i++){
			for(int j=0;j<m;j++){
				scanf("%lld",&f[i][j]);
			}
		}
		matrix x;
		for(int i=0;i<m;i++){
			for(int j=0;j<m;j++){
				x.a[i][j]=f[j][i];
			}
		}
		solve(x,n-1); 
	}
	return 0;
}

在这里插入图片描述
在这里插入图片描述

#include <bits/stdc++.h>
using namespace std;
const int N=3;

struct matrix{
	matrix(){memset(a,0,sizeof(a));}
	matrix(const matrix &s){
		for(int i=0;i<N;i++)
			for(int j=0;j<N;j++)
				a[i][j]=s.a[i][j];
	}
	matrix operator*(const matrix &s){
		matrix t;
		for(int i=0;i<N;i++){
			for(int j=0;j<N;j++){
				for(int k=0;k<N;k++){
					t.a[i][j]+=a[i][k]*s.a[k][j];
				}				
			}	
		}					
		return t;
	}
	long double a[N][N];
};

void solve(matrix x,int n){
	matrix ans;
	for(int i=0;i<N;i++)
		ans.a[i][i]=1.0;
	while(n){
		if(n&1) ans=ans*x;
		x=x*x;
		n>>=1;
	}
	long double res=ans.a[0][0]*(long double)0.75+ans.a[0][1]*(long double)0.5+ans.a[0][2];
	printf("%.10Lf\n",res);
}

int main()
{
	int n;
	cin>>n;
	matrix x;
	x.a[0][0]=x.a[0][2]=0.5;
	x.a[0][1]=0.25;
	x.a[1][0]=x.a[2][2]=1.0;
	if(n==1){
		cout<<0.5<<endl;
		return 0;
	}
	else if(n==2){
		cout<<0.75<<endl;
		return 0;
	}
	solve(x,n-2);
	return 0;
}

舍友直接一个 for 写完了…err…高数知识都还给了 wzm 老师,现在已经忘了收敛是啥了23333

#include <bits/stdc++.h>
using namespace std;
 
int n;
long double ans,f1,f2,f3,lt;
 
int main(){
    cin>>n;
    f1=1.0;f2=1.0;lt=8;ans=0.75;
    if (n==1) 
        cout<<f1/2;
    else if (n==2)
        cout<<0.75;
    else{
	    for (int i=3;i<=n;i++){
	        f3=f1+f2;
	        long double tmp=(long double)1.0*f3/lt;
	        lt*=2;
	        ans+=tmp;
	        f1=f2;
	        f2=f3;
	        if (tmp-0<=1e-12) break;
	    }
	    printf("%.10Lf",ans);   	
	}
 	return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Week14 - 程序设计思维与实践 - 矩阵快速幂(+优化DP) 的相关文章

  • [csp模拟2]T4——咕咕东的奇妙序列

    文章目录 题意InputOutput输入样例输出样例提示 分析总结代码 题意 咕咕东 正在上可怕的复变函数 xff0c 但对于稳拿A Plus的 咕咕东 来说 xff0c 她早已不再听课 xff0c 此时她在睡梦中 突然想到了一个奇怪的无限
  • [week9]签到题(长凳)——贪心算法

    文章目录 题意InputOutput输入样例输出样例提示 分析总结代码 题意 SDUQD 旁边的滨海公园有 x 条长凳 第 i 个长凳上坐着 a i 个人 这时候又有 y 个人将来到公园 xff0c 他们将选择坐在某些公园中的长凳上 xff
  • [week14] Q老师与十字叉

    文章目录 题意InputOutput输入样例输出样例提示 分析总结代码 题意 Q老师 得到一张 n 行 m 列的网格图 xff0c 上面每一个格子要么是白色的要么是黑色的 Q老师认为失去了 十字叉 的网格图莫得灵魂 一个十字叉可以用一个数对
  • [week15] ZJM 与霍格沃兹 —— 字符串哈希

    文章目录 题意InputOutput输入样例输出样例提示 分析总结代码 题意 ZJM 为了准备霍格沃兹的期末考试 xff0c 决心背魔咒词典 xff0c 一举拿下咒语翻译题 题库格式 xff1a 魔咒 对应功能 背完题库后 xff0c ZJ
  • [week14] D - Q老师染砖(选做) —— 矩阵快速幂优化DP

    文章目录 题意InputOutput输入样例输出样例提示 分析总结代码 题意 衣食无忧的 Q老师 有一天突发奇想 xff0c 想要去感受一下劳动人民的艰苦生活 具体工作是这样的 xff0c 有 N 块砖排成一排染色 xff0c 每一块砖需要
  • [week14] E - Q老师度假(选做)—— 矩阵快速幂优化DP(拓展)

    文章目录 题意InputOutput输入样例输出样例提示 分析总结代码 题意 忙碌了一个学期的 Q老师 决定奖励自己 N 天假期 假期中不同的穿衣方式会有不同的快乐值 已知 Q老师 一共有 M 件衬衫 xff0c 且如果昨天穿的是衬衫 A
  • [week15] B - ZJM与生日礼物(选做)—— 字典树

    文章目录 题意InputOutput输入样例输出样例提示 分析总结代码 题意 ZJM 收到了 Q老师 送来的生日礼物 xff0c 但是被 Q老师 加密了 只有 ZJM 能够回答对 Q老师 的问题 xff0c Q老师 才会把密码告诉 ZJM
  • [week15] C - ZJM与纸条(选做)—— KMP算法

    文章目录 题意InputOutput输入样例输出样例提示 分析总结代码 题意 ZJM 的女朋友是一个书法家 xff0c 喜欢写一些好看的英文书法 有一天 ZJM 拿到了她写的纸条 xff0c 纸条上的字暗示了 ZJM 的女朋友 想给 ZJM
  • 51按键外部中断控制流水灯

    实验二 外部按键输入 一 实验目的 1 了解单片机检测口方法 2 了解单片机外部中断原理 3 了解按键输入原理 二 实验内容 1 完成按键扫描控制流水灯 2 完成按键外部中断控制流水灯 三 实验原理 四 实验电路与程序 1 软件实验一 xf
  • 树莓派4B构建debian镜像UEFI启动

    树莓派4B构建debian镜像UEFI启动 前言 今天按照大佬的博客树莓派俱乐部官方 Debian 系统镜像 支持UEFI跑了遍 完整的UEFI镜像构建过程 包括镜像分区 挂载 xff0c 根文件系统的制作 xff0c 内核的移植 xff0
  • Linux修改主机名问题

    记一次修改主机名不成功原因 场景 虽然使用hostname命令可以修改主机名 xff0c 但如果重启主机之后主机名还会变为之前的 xff0c 所以需要把修改的主机名称写到配置文件中 假设修改后的主机名为 new hostname 1 修改配
  • mybatisPlus分页插件报错,sql后面拼接多了一个limit。

    原本 用的mybatisPlus版本为3 1 0 xff0c 后来升级到3 4 2了 xff0c 使用分页的时候报错 解决 xff1a mybatisPlus 3 1 0 所用到的分页插件为 而mybatisPlus 3 4 2版本pagi
  • Deep Knowledge Tracing (深度知识追踪)

    boss又让我看这块的内容了 xff0c 刚开学 xff0c 还不太适应实验室的学习生活 xff0c 假期闲散惯了操 目录 1 概述2 表示3 1 DKT的优势3 2 DKT的不足4 模型5 序列的输入和输出输入输出 6 优化及应用7 三个
  • C程序代码

    一 C语言概述有算法 1 输出一行信息 span class token macro property span class token directive hash span span class token directive keyw
  • 【C语言-10】.求10 个整数中最大值。 (数组定义法和函数调用法)

    数组定义法 首先定义一个一维数组存放输入的数字 xff0c 然后将键盘输入的数字依次存入一维数组 xff1b 假定数组中某一元素为最大值 xff0c 将其与其他元素逐一比较 xff0c 得到最大的数为max值 xff1b 最后得到的max为
  • 【工程实践】解决 nvcc: command not found

    1 nvcc nvcc 是The main wrapper for the NVIDIA CUDA Compiler suite Used to compile and link both host and gpu code NVIDIA
  • hdu 5119(dp题)

    题目链接 xff1a http acm hdu edu cn showproblem php pid 61 5119 题目 xff1a Matt has N friends They are playing a game together
  • word(doc/docx)转markdown:使用Typora的插件

    打开你的Typora xff0c 选择文件 gt 导入 第一次导入会让你下载 pandoc 插件 下载链接如下 xff1a https github com jgm pandoc releases download 2 14 1 pando
  • 案例描述:update中,MySQL inner join 和 left join的区别,小结果集驱动大结果集

    场景描述 以一个场景为例 xff1a 单据A xff1a 下游子表 xff08 数据量级小 xff09 单据B xff1a 下游主表 xff08 数据量级小 xff09 单据C xff1a 中游子表 xff08 数据量级小 xff09 单据
  • Hadoop生态圈(一)- Hadoop详解

    目录 前言1 Hadoop概述1 1 Hadoop是什么1 2 Hadoop发展简史1 2 Hadoop三大发行版本1 3 Hadoop优势1 4 Hadoop的组成1 4 1 Hadoop1 x 2 x 3 x区别1 4 2 HDFS架构

随机推荐

  • arduino硬件总结

    文章目录 arduino硬件总结串口通讯I2CSPI中断函数基本了解实现测速 ADC读取光敏传感器的值 pwm舵机控制 arduino硬件总结 arduino 支持中断 xff0c ADC PWM xff0c I2C xff0c spi x
  • 文件上传 - Apache SSI远程命令执行

    文章目录 一 漏洞原理二 漏洞场景 挖掘思路三 触发条件四 漏洞复现4 1 启动环境4 2 访问环境4 3 复现过程 五 防御措施 一 漏洞原理 在测试任意文件上传漏洞的时候 xff0c 目标服务端可能不允许上传php jsp asp后缀的
  • Linux:chmod -R 777 *含义

    Linux xff1a chmod R 777 首先 xff0c chmod命令是linux上用于改变权限的命令 xff0c R 是递归遍历子目录 xff0c 因为你要操作的文件使用的 通配符 777 xff0c 第一个7代表文件所属者的权
  • STM32HAL库学习笔记七——I2C通信

    HAL库快速部署I2C 本文主要介绍如何使用STM32CubeMX快速部署I2C通信 xff0c 并与EEPROM进行数据收发 文章目录 HAL库快速部署I2CI2C简介EEPROM简介HAL库部署IIC通信实现多字节写入一 CubeMX配
  • python报错Statements must be separated by newlines or semicolons解决方法

    今天做练习时遇到这样的报错 xff1a Statements must be separated by newlines or semicolons 翻译一下就是 xff1a 语句必须用换行符或分号分隔 首先按报错提示 xff0c 我把cl
  • python自然语言处理之spacy详解

    spaCy简介 spaCy号称工业级Python自然语言处理 xff08 NLP xff09 软件包 xff0c 可以对自然语言文本做词性分析 命名实体识别 依赖关系刻画 xff0c 以及词嵌入向量的计算和可视化等 spaCy模块有4个非常
  • anaconda创建env报错 ResolvePackageNotFound

    具体错误 如图 xff1a 按照其他博主 xff08 方法详情 xff09 提供的方法操作了还是有部分报错 xff1a 解决策略 继续上面解决剩下的部分报错 xff0c 打开 yaml文件 xff0c 记事本打开就行 将报错列出的几个包移到
  • LDA主题建模过程及参数详解

    平台及工具 语言 xff1a python 平台 xff1a anaconda 43 jupyter notebook 语料库 xff1a 近三百篇英文文献的摘要 主要代码 首先 xff0c pandas处理csv数据 span class
  • 已经成功安装了但是jupyter notebook仍然找不到模块

    问题描述 工具 语言 jupyter notebook 43 anaconda python 有时会遇到这样的情况 xff0c 命名已经install了模块 xff0c notebook还是报找不到模块错误 再装已经提示satisfied
  • pyecharts 地图绘制

    环境描述 win11 jupyter notebook 目标效果 世界地图 43 按数据进行分级着色 xff1b 最终效果图如下 xff1a pyecharts 绘制地图时注意点 可以实现目标地图绘制效果的python库很多 xff0c 这
  • 指定wb用户在指定日期范围内的wb内容抓取

    一 操作步骤 只记录过程 xff0c 不讲述原理 1 获取用户ID和cookie 用户ID在进入个人主页时导航栏中就会有显示 xff0c 例如下面这样 xff1a cookie获取 xff08 有的代码无需cookie也能运行 xff09
  • 中介变量、调节变量与协变量

    在平时看论文过程中偶会接触到这几个概念 xff0c 然而都没想过弄明白 xff0c 每次总觉得只要看明白个大概反正自己又不用这种方法 作为科研人 xff0c 还是应该保持谦逊 xff0c 保持学习 一 中介变量 1 概念 中介变量 xff0
  • linux环境搭建

    文章目录 linux环境搭建基础工具环境docker镜像docker 的基本操作git amp amp sshbash脚本 python 环境 linux环境搭建 基础工具环境 docker镜像 Docker CE 镜像源站 docker如
  • 【Linux】状态机

    Linux 状态机 首先感谢阅读 xff0c 作者是在工作中学习与积累 xff0c 每一个笔记都是心得和积累 xff0c 希望可以和大家一起交流学习 学习咱们先定好计划 xff0c 需要了解的都一样 xff0c 有 xff1a xff08
  • MyBatisPlus源码

    MyBatisPlus源码 文章目录 MyBatisPlus源码1 通用Mapper 96 BaseMapper 96 2 顶级Mapper 96 Mapper 96 3 通用Service 96 IService 96 4 通用Servi
  • bomb二进制炸弹拆除实验(MIPS)

    上学期计算机系统基础课程的一个实验 xff0c 在这里再简略整理一下 xff1a 实验要求 xff1a 仅给定一个MIPS二进制可执行文件bomb xff0c 要求运用GDB调试工具 xff0c 通过分析反汇编代码来输入正确的参数以拆除炸弹
  • 图与网络可视化实战(matlab实现)

    本篇以2020年数学建模美赛D题的足球传球网络可视化为例 xff0c 分三大步骤来简单讲解一下matlab在图与网络可视化方面的应用 xff1a Step1 构图 xff1a 首先根据输入数据构造邻接矩阵 xff0c 然后调用matlab中
  • Week8 - 程序设计思维与实践 - HRZ的序列(第二次CSP模拟T1)

    T1 HRZ的序列 该比赛已结束 xff0c 您无法在比赛模式下递交该题目 您可以点击 在题库中打开 以普通模式查看和递交本题 题目描述 相较于咕咕东 xff0c 瑞神是个起早贪黑的好孩子 xff0c 今天早上瑞神起得很早 xff0c 刷B
  • Week8 - 程序设计思维与实践 - HRZ学英语(第二次CSP模拟T2)

    T2 HRZ学英语 该比赛已结束 xff0c 您无法在比赛模式下递交该题目 您可以点击 在题库中打开 以普通模式查看和递交本题 题目描述 瑞神今年大三了 xff0c 他在寒假学会了英文的26个字母 xff0c 所以他很兴奋 xff01 于是
  • Week14 - 程序设计思维与实践 - 矩阵快速幂(+优化DP)

    题目连接 A Q老师与石头剪刀布 xff08 必做 xff09 题意 每一个大人曾经都是一个小孩 xff0c Q老师 也一样 为了回忆童年 xff0c Q老师 和 Monika 玩起了石头剪刀布的游戏 xff0c 游戏一共 n 轮 无所不知