2023/4/2总结

2023-05-16

题解

线段树OR树状数组 - Virtual Judge (vjudge.net)

正如这道题目一样,我的心情也如此。

1.这道题是线段树问题,更改学生值即可,不需要用到懒惰标记。

2.再去按照区间查找即可。(多组输入,拿20多次提交换来的)

代码如下: 

#include<stdio.h>
#define N 200010
int a[N];
struct node
{
	long long maxnum;
}arr[N*10];
long long max(long long a,long long b)
{
	if(a>b) return a;
	return b;
}
int creat(int l,int r,int k)
{
	if(l==r)
	{
		arr[k].maxnum=a[l];
		return 0;
	}
	int mid;
	mid=(l+r)/2;
	creat(l,mid,k*2);
	creat(mid+1,r,k*2+1);
	arr[k].maxnum=max(arr[k*2].maxnum,arr[k*2+1].maxnum);
}
long long Uoper(int l,int r,int pos,int add,int k)
{
	if(l>r) return 0;
	if(pos>r||pos<l) return 0;
	if(l==r)
	{
		arr[k].maxnum=add;
		return 0;
	}
	int mid=(l+r)/2;
	if(mid>=pos)//如果在左子树
	{
		Uoper(l,mid,pos,add,k*2);
	}
	else
	{
		Uoper(mid+1,r,pos,add,k*2+1);
	}
	arr[k].maxnum=max(arr[k*2].maxnum,arr[k*2+1].maxnum);
}
long long Qoper(int l,int r,int x,int y,int k)
//l,r是当前的区间,x,y是需要访问的区间
{
	long long sum=0;
	if(x>y) return 0;
	
	if(x<=l&&r<=y) return arr[k].maxnum;
	int mid=(l+r)/2;
	if(y<=mid)
	{
		sum=max(sum,Qoper(l,mid,x,y,k*2));
	}
	else if(x>mid) 
	{
		//如果右子树包含
		sum=max(sum,Qoper(mid+1,r,x,y,k*2+1));
	}
	else 
	{
		//俩边都有
		//需要拆分区间,左边拆成x,mid
		sum=max(Qoper(l,mid,x,mid,k*2),Qoper(mid+1,r,mid+1,y,k*2+1));
	}
	return sum;
}
int main()
{
	int n,m,i,j,x,y;
	char str[3];
	long long sum=0;
	while(~scanf("%d%d",&n,&m))
	{
		
		for(i=1;i<=n;i++)
		{
			scanf("%d",&a[i]);
		}
		creat(1,n,1);
		for(i=1;i<=m;i++)
		{
			scanf("%s",str);
			if(str[0]=='U')
			{
				scanf("%d%d",&x,&y);
				Uoper(1,n,x,y,1);
			}
			if(str[0]=='Q')
			{
				scanf("%d%d",&x,&y);
				sum=Qoper(1,n,x,y,1);
				printf("%lld\n",sum);
			}
	/*	for(j=1;j<=9;j++)
		{
			printf("%lld ",arr[j].maxnum);
		}
		puts("");*/
	}	
	}

	return 0;
}

线段树OR树状数组 - Virtual Judge (vjudge.net)

1.这道题是需要用到懒惰标记的。

懒惰标记是指,在我们能找到的区间,我们先把这个区间总和加上懒惰值乘以  r-l+1,我们加一个存储需要在这个区间内加的值,保存起来。

2.下次如果访问到这个区间的子区间,子区间继承父区间的懒惰值就可以。

3.在访问的时候如果没有刚好访问到我们想要的区间,我们就需要查看该点的懒惰值,是否存在,存在就需要传递到子区间,也就是左区间和右区间。还需要把该点的懒惰值消去

4.然后找到我们所需要的区间加上继承的懒惰值即可。(如果不对就换一个编译器吧)

代码如下:

#include<stdio.h>
#define N 100010
long long a[N];
struct node
{
	long long sum;
}arr[N*4];
long long mark[N*4];
void init()
{
	int i;
	for(i=0;i<N*4;i++)
	{
		mark[i]=arr[i].sum=0;
	}
}
void creat(int l,int r,int k)
{
	if(l>r) return ;
	if(l==r)
	{
		arr[k].sum=a[l];//底层
		return ;
	}
	int mid=(l+r)/2;
	creat(l,mid,k*2);
	creat(mid+1,r,k*2+1);
	arr[k].sum=arr[k*2].sum+arr[k*2+1].sum;//左子树和右子树
}
void down(int k,int l,int r)
//l是指区间长度
{
	if(mark[k])//当前标记了,数组里面存储了数据,需要往上保存
	{
		mark[k*2]+=mark[k];//左子树
		mark[k*2+1]+=mark[k];//右子树
		int mid=(l+r)/2;
		arr[k*2].sum+=mark[k]*(mid-l+1);
		//左子树的总和加上应该传下去的懒惰标记
		//懒惰标记为l-l/2是左子树的个数
		arr[k*2+1].sum+=mark[k]*(r-mid);
		//右子树的总和加上应该接到的懒惰标记
		//l/2是右子树的个数
		mark[k]=0;//已经把标记传给下面了,而且左子树和右子树也已经加上值了
	}
}
void Coper(long long l,long long r,long long x,long long y,long long k,long long add)
{
	if(x>r||y<l) return ;
	//如果遇到了区间,则加上懒惰标记
	//否则加上该区间需要加上的数字
	if(x<=l&&y>=r)//代表xy区间包含了当前区间
	{
		arr[k].sum+=(r-l+1)*add;//先加上总和
		mark[k]+=add;//这个区间标记懒惰标记
		return ;
	}
	down(k,l,r);//如果不是该区间则需要把当前区间内标记
	int mid=(l+r)/2;
	if(x<=mid) Coper(l,mid,x,y,k*2,add);//左子树
	if(y>mid) Coper(mid+1,r,x,y,k*2+1,add);//右子树
	arr[k].sum=arr[k*2].sum+arr[k*2+1].sum;
	//左子树和右子树已经算出来了,需要更新值
}
long long Qoper(long long l,long long r,long long x,long long y,long long k)
{
	if(x<=l&&y>=r) //代表访问区间比当前区间要大
	{
		return arr[k].sum;
	}
	if(x>r||y<l) return 0;
	down(k,l,r);
	//说明还没到访问区间,我们需要把当前的标记传递下去
	//好直接返回
	int mid=(l+r)/2;
	long long sum=0;
	if(x<=mid) sum+=Qoper(l,mid,x,y,k*2);//左子树
	if(y>mid) sum+=Qoper(mid+1,r,x,y,k*2+1);//右子树
	return sum;//返回当前能得到的值
}
int main()
{
	long long n,m,i,j,x,y,add;
	char str[3];
//	while(~scanf("%lld%lld",&n,&m))
//	{
		scanf("%lld%lld",&n,&m);
//		init();
		for(i=1;i<=n;i++)
		{
			scanf("%lld",&a[i]);
		}
		creat(1,n,1);
		for(i=1;i<=m;i++)
		{
			scanf("%s",str);
			if(str[0]=='C')
			{
				scanf("%lld%lld%lld",&x,&y,&add);
				Coper(1,n,x,y,1,add);
			}
			else 
			{
				scanf("%lld%lld",&x,&y);
				printf("%lld\n",Qoper(1,n,x,y,1));
			}
		//	for(j=1;j<=19;j++)
		//	{
			//	printf("--%lld %lld\n",j,arr[j].sum+mark[j]);
		//	}
		}
//	}

	return 0;
}

线段树OR树状数组 - Virtual Judge (vjudge.net)

1.这是一道区间修改加懒惰标记的问题

2.我们访问到所需要的区间,然后改变懒惰值就可以,不需要加减,直接赋值总和和懒惰值。

3。最后输出根节点的值即可,因为根节点存储的就是1-n的总和。

代码如下:

#include<stdio.h>
#define N 100010
int hook[N*4];
int mark[N*4];
int creat(int l,int r,int k)
{
//	puts("*");
	mark[k]=0;
	if(l==r) 
	{
		hook[k]=1;
		return 0;
	}
	int mid=(l+r)/2;
	creat(l,mid,k*2);
	creat(mid+1,r,k*2+1);
	hook[k]=hook[k*2]+hook[k*2+1];
	return 0;
}
void down(int l,int r,int k)
{
	int mid=(l+r)/2;
	if(mark[k])
	{
		mark[k*2]=mark[k];
		mark[k*2+1]=mark[k];
		
		hook[k*2]=mark[k]*(mid-l+1);
		hook[k*2+1]=mark[k]*(r-mid);
		mark[k]=0;
	}
}
int change(int l,int r,int k,int x,int y,int newhook)
{
//	printf("%d %d\n",l,r);
	if(x<=l&&y>=r)
	{
		hook[k]=(r-l+1)*newhook;
		mark[k]=newhook;
		return 0;
	}
	int mid=(l+r)/2;
	down(l,r,k);
	if(y<=mid)
	{
		change(l,mid,k*2,x,y,newhook);
	}
	else if(x>mid)
	{
		
		change(mid+1,r,k*2+1,x,y,newhook);
	}
	else 
	{
		change(l,mid,k*2,x,mid,newhook);
		change(mid+1,r,k*2+1,mid+1,y,newhook);
	}
	hook[k]=hook[k*2]+hook[k*2+1];
}

int main()
{
	int t,n,m,i,j,x,y,z;
	scanf("%d",&t);
	for(i=1;i<=t;i++)
	{
		scanf("%d%d",&n,&m);
		creat(1,n,1);
	//	puts("*");
		for(j=1;j<=m;j++)
		{
			scanf("%d%d%d",&x,&y,&z);
			change(1,n,1,x,y,z);
		}
		printf("Case %d: The total value of the hook is %d.\n",i,hook[1]);
	}
	return 0;
}

 Problem - A - Codeforces

1.这道题直接暴力最多也就90次,暴力即可。

#include<stdio.h>
int getLucky(int x)
{
	int a[10],i,n,t=x,max=0,min=10;
	for(i=0;t;i++)
	{
		a[i]=t%10;
		t/=10;
		if(a[i]>max) max=a[i];
		if(a[i]<min) min=a[i];
	}
	return max-min;
}
int slove(int l,int r)
{
	int i,max=0,t,temp=l;
	for(i=l;i<=r;i++)
	{
		t=getLucky(i);
		if(t>max) 
		{
			max=t;
			temp=i;
		}
		if(max>=9) 
		{
			temp=i;
			break;
		}
	}
	printf("%d\n",temp);
	return 0;
}
int main()
{
	int t,i,l,r;
	scanf("%d",&t);
	while(t--)
	{
		scanf("%d%d",&l,&r);
		slove(l,r);
	}
	
	return 0;
}

Problem - B - Codeforces

1.排序不改变最终的值,因为每一列(在这里我已经转换成行了),都要和自己对于那一列互相比较的。相减的次数是一样的。

2.然后就是会发现,相减去的过程中有些列会多次出现,会相互抵消。

(下面的图片已经行列转置了)

#include<stdio.h>
#include<algorithm>
#include<vector>

using namespace std;


int main()
{
	long long t,i,j,n,m,x;
	long long res;
	scanf("%lld",&t);
	while(t--)
	{
		res=0;
		scanf("%lld%lld",&n,&m);
		vector <vector <long long> > a(m,vector<long long>(n));
		//声明一个m行n列的数组
		for(i=0;i<n;i++)
		{
			for(j=0;j<m;j++)
			{
				scanf("%lld",&a[j][i]);
			}
		}
		for(i=0;i<m;i++)
		{
			sort(a[i].begin(),a[i].end());
			//排序,输入的时候装置就是为了便于排序以及计算
		}
		for(i=0;i<m;i++)
		{
			for(j=0;j<n;j++)
			{
				res+=(j-(n-1-j))*a[i][j];
				//因为后续会有重复的相加加减,要抵消一些
				//抵消的是当前行开始,除了自己这一行,剩下的数字
			}
		}
		printf("%lld\n",res);
	}
	return 0;
}

 Problem - A - Codeforces

1.这一题说的是可以删除数字,使对应下标出现对应的值。

2.那么就是说如果是3是不能出现在1 2 的位置的,因为再怎么删掉,也不会让这个序列成为漂亮序列。

3.暴力即可

#include<stdio.h>
#define N 120
int a[N];
int main()
{
	int t,n,i,j,flag;
	scanf("%d",&t);
	while(t--)
	{
		scanf("%d",&n);
		flag=0;
		for(i=1;i<=n;i++)
		{
			scanf("%d",&a[i]);
		}
		for(i=1;i<=n;i++)
		{
			for(j=1;j<=n;j++)
			{
				//
				if(a[j]<=(j-i+1))
				{
					flag=1;
					break;
				}
			}
			if(flag) break;
		}
		if(flag) puts("YES");
		else puts("NO");
	}
	return 0;
}

Problem - B - Codeforces

1.这道题不是bfs。因为得出的数字是按照2x+1和2x-1的来,所以我们可以知道,这个的来的数字一定不会是偶数。

2.它一定是奇数,然后一个奇数/2我们能得到  一个奇数和一个偶数,会有俩种情况,奇数大于偶数或者偶数大于奇数。

3.对于奇数大于偶数这个情况,我们知道,这个数字一定是通过2x-1的来的,因为产生的过程中是不会有偶数的。对于偶数大于奇数这个情况,这个数字 一定是2x+1来的。我们保存路径即可

代码如下:

#include<stdio.h>
#include<set>
#include<map>
#define N 10010
int res[N];
int main()
{
	int t,i,x,pre,j,p,flag,y;

	scanf("%d",&t);
	for(i=0;i<t;i++)
	{
		j=0;
		scanf("%d",&x);
		if(x==2) 
		{
			puts("-1");
			continue;
		}
		flag=1;
		while(flag)
		{
			pre=x;
			if(pre%2)
			{
				y=pre/2;
				x=pre-y;
				if(y%2)//y是一个奇数
				{
					//x一定比y大
					res[j++]=2;//进行+1操作
					x=y;
				}
				else//y是偶数
				{
					//-1操作
					res[j++]=1;
				}
			}
			else 
			{
				flag=0;
			}
			if(x==1) break;
		}
		if(flag)
		{
			printf("%d\n",j);
			j--;
			while(j>=0)
			{
				printf("%d ",res[j]);
				j--;
			}
			puts("");
		}
		else 
		{
			puts("-1");
		}
	}
	return 0;
}

java知识点

 访问文件和目录

File类可以使用文件路径字符串创建File实例,该文件路径字符串既可以是绝对路径,也可以是相对路径。

访问文件名方法:

getName()返回File对象所表示的文件名称或者路径名称

getPath()返回次File对象所对应的路径名称

getAbsoluteFile()返回此File对象的绝对路径

检测文件相关方法

exists()判断File对象所对应的文件或者目录是否存在

isFile()判断File对象所对应的是否是文件,而不是文件夹

length()获取文件内容长度

creatNewFile()如果File对象所对应的文件不存在时,则新建一个File对象所指定的新文件,创建成功返回true否则返回false

delete()删除File对象所对应的文件或者路径

mkdir()创建一个File对象所对应的目录,创建成功返回true否则返回false

list()返回File对象的索要子文件名称和路径名称到string数组

IO流

不同的输入输出流抽象表述为流。

按照流向可以分为输入流和输出流

按照操作数据单元可以分为字节流和字符流,字节流操作的数据单元式8位,而字符流操作单位是16位。

字节流主要又InputStream和OutputStream作为基类,字符流主要由Reader和Writer作为基类。

按照流的角色分为节点流和处理流。

向一个特地的IO设备读写数据的流称为节点流,节点流也叫低级流。

处理流用于队一个已经存在的流进行连接或者封装,通过封装后的流实现读/写功能,也叫做高级流。

InputStream/Reader  OutputStream/Writer

InputStream/Reader所有输入流的基类,前面是字节输入流,后面是字符输入流。

OutputStream/Writer所有的输出流的基类,前面的字节输出流,后面的字符输出流。

操作方式:

InputStream/Reader

int read()读出单个字节返回所读的字节数据,int类型

int read(byte[] b)读出b数组大小的字节数据,并且存储在b数组当中

int read(byte[] b,int off,int len)读出len字节的数据存入数组b当中

OutputStream/Writer

write(int c)将一个整形数字所代表的字符写入

write(byte[]/char[] buf)将字节数组/字符数组中的数据输出到指定输出流

write(byte[]/char[] buf)将字节数组/字符数组中从off位置开始,长度位len的字节/字符输出到流当中

write(byte[],char[] buf,int off,int len)将数组中从off位置开始,长度位len的字节/字符输出到输出流当中

write(String str)将str字符串里面包含的字符输出到指定输出流当中

write(String str,int off,int len)将str字符串里面从off位置开始,长度为len的字符输出到指定输出流当中。

 

如果进行输入输出的内容是文本内容,则应该考虑使用字符流,如果进行输入输出的内容是二进制内容,则应该使用字节流。

转换流

InputStreamReader将字节输入流转换成字符输入流,OutputStreamWriter将字节输出流转换成字符输出流

推回输入流

PushbackInputStream和PushbackReader 

unread(byte[]/char buf)将应该字节字符数组内容推回到缓冲区里面,允许重复读取刚刚读取的内容

unread(byte[]/char b,int off,int len)将应该字节/字符数组从off开始,长度为len字节的内容推回到缓冲区里面

unread(int b)将一个字节退回到缓冲区里面

读写其他进程的数据

InputStream getErrorStream()获取子进程的错误流

getInputStream()获取子进程的输入流

getOutputStream()获取子进程的输出流

RandomAccessFIle类

它可以读取文件内容,也可以向文件输出数据,支持随机访问,也就是说可以跳转到文件任意的地方读写数据。但是它只能读写文件,不能读写其他IO节点

getFilePointer()返回文件记录指针的当前位置

seek()将文件记录指针定位到pos位置

RandomAccessFile既可以读也可以写,它包含了InputStream的三个read()方法,也包含了OutputSream()的三个write()方法。

RandomAccessFile由俩个构造器,一个使用String参数来指定文件,一个使用File参数来指定文件,还需要另外一个mode参数,该参数指定RandomAccessFile的访问模式

r以只读方式打开

rw以读写方式打开,不存在创建新文件

对象序列化

序列化机制允许java对象转换成字节序列,这些字节序列可以保存在磁盘上,或者网络传输,以备以后重新恢复成原来的对象。具体是指将一个java对象写入到IO流中,对象的反序列则从IO流中恢复该java对象。

如果需要让某个对象支持序列化机制,则它的类是可序列化的。需要实现俩个接口Serializable,Externalizable。

所有可能在网络上传输的对象的类都应该是可序列化的。

实现序列化对象:创建一个ObjectOutputStream,这个输出流是一个处理流,调用ObjectOutputStream对象的writeObject()方法输出可序列化对象。

如果希望恢复java对象,需要反序列化,创建一个ObjectInputStream输入流,调用ObjectInputStream对象的readObject()方法读取流中的对象。反序列对象时,必须提供该java对象所属类的class文件夹。

如果一个类的成员变量的类型不是基本类型或者String类型,而是一个引用类型,这个引用类型必须时可序列化的,否则拥有该类的成员变量的类也是不可序列化的。

java序列化机制有一种特殊的序列化算法

所有保存到磁盘的对象都有一个序列化编号

如果该对象已经被序列化过,则该对象不会被再次序列化。

自定义序列化

通过在实例变量前面使用transient关键字修饰,可以指定java序列化时不序列化此实例变量。transient关键字只能用于修饰实例变量,不可以修饰java程序中其他的成份。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

2023/4/2总结 的相关文章

  • 2023视频号视频怎么下载到手机?最新验证过的可用方法汇总

    视频号视频怎么下载到手机 xff1f 今天又想下载一个视频号的视频 xff0c 找到收藏已久的视频号视频下载方法 xff0c 结果发现很多方法已经不能用 xff0c 一些能用的也开始收费了 只好重新寻找适合2023最新的几种方法解决视频号下
  • IntelliJ IDEA 2023.1 最新变化 【附带ChatGPT教程】

    ChatGPT开源公众号 xff1a https gitee com wy521a astar weixin mp最新变化 2023 1主要更新用户体验编辑器JavaScala分析器版本控制系统构建工具运行 调试框架和技术DockerKub
  • C/C++笔记-记录一次对qmake生成的Makefile的分析(2023-02-07)

    如下Qt代码 xff1a ConsoleDemo pro QT 43 61 core QT 61 gui TARGET 61 ConsoleDemo CONFIG 43 61 console CONFIG 61 app bundle TEM
  • 【Rust日报】2023-03-06 Rust中的安全性和稳定性

    Rust中的安全性和稳定性 Rust的设计是围绕安全和健全性展开的 粗略地说 xff0c 安全的代码是不使用 unsafe 关键字的代码 xff0c 而健全的代码是不会导致内存损坏或其他未定义行为的代码 但是当涉及到 unsafe 代码时
  • 【Rust日报】2023-04-10 你能相信编译器优化的代码吗 ?

    你能相信编译器优化的代码吗 这篇文章讨论了编译器优化的问题 xff0c 以及为什么我们可以信任编译器来优化我们的代码 他解释了编译器如何工作 xff0c 以及如何在编写代码时考虑编译器的优化 总的来说 xff0c 编译器是可以信任的 xff
  • 人工智能轨道交通行业周刊-第41期(2023.4.3-4.9)

    本期关键词 xff1a 西安智慧车站 宁波应急保障 钢轨伸缩调节器 城轨统计报告 SAM SegGPT 1 整理涉及公众号名单 1 1 行业类 RT轨道交通人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS Wo
  • 人工智能轨道交通行业周刊-第43期(2023.4.24-5.7)

    本期关键词 xff1a 综合智能检测 隧道检测 智慧城轨白皮书 虚拟编组 讯飞星火大模型 央企数字化 1 整理涉及公众号名单 1 1 行业类 RT轨道交通人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS Wor
  • 阿里云学生服务器免费申请流程(2023新版教程)

    2023阿里云学生服务器免费领取 xff0c 先完成学生认证即可免费领取一台云服务器ECS xff0c 配置为2核2G 1M带宽 40G系统盘 xff0c 在云服务器ECS实例过期之前 xff0c 完成实验与认证任务 xff0c 还可以免费
  • 【2023 阿里云云计算工程师 ACP 认证练习题库】01、VPC 专有网络题库

    目录 一 多选题 1 1 答案与解析 2 2 答案与解析 3 3 答案与解析 辑 4 4 答案与解析 5 5 答案与解析 6 6 答案与解析 7 7 答案与解析 8 8 答案与解析 9 9 答案与解析 10 10 答案与解析 11 11 答
  • 华为OD机试真题2023(JAVA)

    目录 华为OD机试是什么 xff1f 华为OD面试流程 xff1f 华为OD机试通过率高吗 xff1f 华为OD薪资待遇 xff1f 华为OD晋升空间 xff1f 大家好 xff0c 我是哪吒 本专栏包含了最新最全的华为OD机试真题 xff
  • 云原生周刊:一文读懂 Pod 网络 | 2023.4.10

    文章推荐 一文读懂 Pod 网络 这篇文章旨在帮助读者理解 Pod 网络的概念和原理 Pod 网络是 Kubernetes 中的一个重要概念 xff0c 它描述了如何在一个集群中部署和运行应用程序 Pod 网络是指使用容器网络插件 如 Ca
  • 看《狂飙》读人生,致敬2023!

    作为2023年的第一篇博文 xff0c 我不想写代码 xff0c 我想谈谈最近看的 狂飙 xff0c 总结了十条哲理 xff0c 共勉 希望我们的2023 xff0c 未来的人生会更加出彩 01 你以为很好的关系 xff0c 其实也就那么回
  • 2023/5/7总结

    最近还是在项目上 xff1a 主要实现了 xff1a 把头像的数据传给服务器 xff1a 服务器开一个文件夹接收 发送文件是 xff0c 用字节流传递很容易出错 xff0c 我因此坏掉了很多文件 这样写就没有坏掉 xff0c 之前一直是图片
  • 百度2023暑期实习第一场笔试编程题Java版

    1 题目内容 小红拿到了一个字符串 xff0c 她想知道这个字符串能否通过重新排列组成 Baidu 字符串 xff1f 注 xff1a 必须大小写完全相同 共有 t 组询问 输入描述 第一行输入一个正整数 t xff0c 代表询问次数 接下
  • 乐鑫科技亮相德国嵌入式展 Embedded World 2023!

    3 月 14 日 xff0c 德国纽伦堡嵌入式展 Embedded World 2023 火热启幕 本届 Embedded World 主题为 embedded responsible sustainable xff0c 乐鑫科技 6880
  • 现代C++教程2023

    文章目录 2 C 43 43 默认实参21 模板模板形参22 C 43 43 11形参包24 std nothrow25 std call once与pthread once 2 C 43 43 默认实参 21 模板模板形参 模板参数 xf
  • 【2023最新】计算机网络面试题【收藏持续更新】

    你好 xff0c 我是萝卜 xff0c 我会在本篇文章持续更新关于计算机网络的面试题 最新内容更新日期 xff1a 2023 04 11 基础 说一下计算机网络体系结构 网络体系结构一般有三种 xff1a ISO七层模型 xff0c TCP
  • UUID无处不在,你就是唯一(2023.4.16)

    六种语言生成UUID 2023 4 16 引言1 UUID简介2 UUID格式和编码3 UUID各历史版本4 UUID代码具体调用实现4 1 C 生成UUID4 2 Java 生成UUID4 3 Python 生成UUID4 4 C 43
  • 2023年TI杯全国大学生电子设计竞赛通知正式发布

    关于组织2023年 全国大学生电子设计竞赛的通知 xff08 电组字 2023 01号 xff09 各赛区组织委员会 各有关高等学校 xff1a 全国大学生电子设计竞赛 xff08 以下简称全国竞赛 xff09 组委会在认真总结往届电子设计
  • 学python的第十四天---小蓝(5)

    一 最长公共子序列 dp 二 蓝桥骑士 最长递增子序列 三 蓝肽子序列 最长公共子序列 四 合唱队形 最长递增子序列 五 字符串编辑问题 引入一个难一点的题目 最优包含 一 最长公共子序列 dp Maxn 1005 dp 0 for in

随机推荐

  • REDIS 源码阅读

    https redissrc readthedocs io en latest datastruct dict html 一个注释的开源项目 xff1a 书是redis的设计与实现 https github com huangz1990 r
  • 树莓派3B/3B+安装win10/11

    手上有一块树莓派3B 43 xff0c 但Linux已经满足不了我了 xff0c 于是准备刷机win11 资源包 xff08 里面自带win10镜像生成程序 xff09 提取码 xff1a 40t9 链接 xff1a https pan b
  • 全网详细解决Client does not support authentication protocol requested by server;consider upgrading Mysql c

    文章目录 1 复现错误2 分析错误3 解决错误 1 复现错误 今天使用Navicat准备连接mysql xff0c 如下图所示 xff1a 点击连接测试按钮时 xff0c 却报出如下错误 xff1a 即1251 Client does no
  • win10系统遭遇VMware USB Arbitration Service 无法启动,错误31的解决方案

    安装VM虚拟机的时候遭遇这个问题 xff0c 查了好几天 xff0c 网上提供的方法是 xff1a 手动启动的时候提示 34 VMware USB Arbitration Service 无法启动 xff0c 出 现错误31 xff1a 连
  • C# Winform窗体属性和操作

    1 窗体属性 通过控件的Anchor和Dock属性来调整 xff0c Dock的优先级比Anchor高 Dock属性 表示控件在窗体中停靠的位置 xff0c 其取值Top Bottom Left Right和Fill分别表示停靠在窗体的顶部
  • ubuntu下为APT设置代理

    Ubuntu下为APT设置代理 一 最简单的方法 图形界面方法 xff1a 新立得软件包管理器 gt 设置 gt 首选项 gt 网络 进行设置代理就可以了 二 编辑命令 方法1 xff1a 如果您 希望apt get xff08 而不是其他
  • typora主题更改(以及旧版本下载地址)

    目录 1 Typora官网2 旧版Typora下载地址3 Typora主题商店3 1 找到本地主题文件夹3 2 添加新主题并使用 4 在Typora中使用LaTeX主题 1 Typora官网 官网地址 xff1a https typora
  • 将投影矩阵P利用QR分解分解出摄像机内外参数(Opencv)

    将投影矩阵P利用QR分解分解出摄像机内外参数 xff08 Opencv xff09 将投影矩阵P利用QR分解分解出摄像机内外参数 输入 xff1a P xff1a 投影矩阵 xff0c 3 4 输出 xff1a K xff1a 内参数矩阵
  • (转载)依赖、关联、聚合、组合

    类与类图 1 类 Class 封装了数据和行为 xff0c 是面向对象的重要组成部分 xff0c 它是具有相同属性 操作 关系的对象集合的总称 2 在系统中 xff0c 每个类具有一定的职责 xff0c 职责指的是类所担任的任务 xff0c
  • ubuntu14.0.4升级指定内核以及默认内核启动

    一 xff0c 更新到指定的内核版本 1 首先查看当前的内核版本 xff0c 打开终端在窗口输入以下命令 uname a 2 在ubuntu的终端窗口内搜索可用升级的内核版本 apt cache showpkg linux headers
  • 解决Cannot download “https://github.com/sass/node-sass/releases/download...问题

    因很早做了一个小demo xff0c 并且在其他成熟的电脑上 xff08 node配置好的 xff09 下载依赖包没什么问题 xff0c 最近就在新的电脑上配置好所有东西后 xff0c 去下载这个demo的依赖包 xff0c 就出现了nod
  • 如何阅读 Redis 源码?

    在这篇文章中 xff0c 我将向大家介绍一种我认为比较合理的 Redis 源码阅读顺序 xff0c 希望可以给对 Redis 有兴趣并打算阅读 Redis 源码的朋友带来一点帮助 第 1 步 xff1a 阅读数据结构实现 刚开始阅读 Red
  • C语言DFS和BFS解决迷宫问题

    C语言DFS与BFS 迷宫问题 题目描述 给定一个 N times MN M 方格的迷宫 xff0c 迷宫里有 TT 处障碍 xff0c 障碍处不可通过 在迷宫中移动有上下左右四种方式 xff0c 每次只能移动一个方格 数据保证起点上没有障
  • 2022第9周、第10周总结

    差分 最近看到了一个关于差分的题目 题目描述 给定一个长度为n的数列a1 a2 an xff0c 每次可以选择一个区间 l r xff0c 使得这个区间内的数都加1或者都减1 请问至少需要多少次操作才能使数列中的所有数都相等 xff1f 在
  • 装箱问题(DP)

    题目描述 有一个箱子容量为V xff08 正整数 xff0c 0 xff1c xff1d V xff1c xff1d 20000 xff09 xff0c 同时有n个物品 xff08 0 xff1c n xff1c xff1d 30 xff0
  • 丑数(c语言)

    题目描述 我们把只包含质因子2 3和5的数称作丑数 xff08 Ugly Number xff09 例如6 8都是丑数 xff0c 但14不是 xff0c 因为它包含因子7 习惯上我们把1当做是第一个丑数 输入一个数n xff0c 判断它是
  • 2022/12/30总结

    今日学习了二叉树有关知识 二叉树 二叉树通俗来讲就是一个有俩个指针的链表 他们大多长这个样子 xff1a 这里还有俩个概念了 xff0c 二叉树分为完全二叉树和满二叉树 上面所说的是满二叉树 xff0c 顾名思义就是每个父节点都相应的有俩个
  • 滑动窗口算法

    滑动窗口 滑动窗口有俩种 xff1a 定窗口和不定窗口 滑动窗口说白了就是双指针的运用 定窗口说明是一个特定窗口大小 xff0c 通常用来解决相邻的元素 xff0c 最大值 xff0c 最小值 不定窗口说的是 xff0c 先由右指针去找到第
  • 本学期学习计划

    第7周 学习MySQL 写7个基础题 第8周 熟悉C 43 43 语言 学习maven 写7个基础题 第9周 巩固java和MySQL和maven 写5道中等题 第10周 写好项目框架 写5道中等的题目 第11周 写好项目一些基本功能 刷5
  • 2023/4/2总结

    题解 线段树OR树状数组 Virtual Judge vjudge net 正如这道题目一样 xff0c 我的心情也如此 1 这道题是线段树问题 xff0c 更改学生值即可 xff0c 不需要用到懒惰标记 2 再去按照区间查找即可 xff0