【蓝桥杯 第十五届模拟赛 Java B组】训练题(A - I)

 目录

A、求全是字母的最小十六进制数

B、Excel表格组合

C、求满足条件的日期

D、 取数字 - 二分

(1)暴力

(2)二分

E、最大连通块 - bfs

F、哪一天?

G、信号覆盖 - bfs

(1)bfs(60%)

(2)暴力

H、清理水域 - 暴力(弱智版) 可以差分

I、滑行 - dfs + dp

(1)dfs(30%)

(2)dp+dfs(100%) 


A、求全是字母的最小十六进制数

请找到一个大于2022的最小数,该数转换为十六进制后,所有数位(不含前导0)都为字母(A到F),请计算出这个数的十进制。

思路:

最小的全是字母的数肯定是全是a的, 从2023开始逐个循环转十六进制判断即可

答案:2730

import java.util.*;

public class abc {
	public static void main(String[] args)
	{
		Scanner sc=new Scanner(System.in);
		int n=2023;
		while(true)
		{
			String s=Integer.toHexString(n);
			if(ck(s)==true) break;
			n++;
		}
		System.out.print(n);
	}
	
	public static boolean ck(String s)
	{
		for(char c:s.toCharArray())
		{
			if(c<'a'||c>'f') return false;
		}
		return true;
	}
}

B、Excel表格组合

在Excel中,列的名称使用英文字母组合,前26列用一个字母,依次为A到Z,接下来26*26列使用两个字母的组合,依次为AA到ZZ,求第2022列的名称是什么?

思路:

已知单个字母和双字母组合共26+26*26=702,而三个字母组合有26*26*26=17576,因此第2022列名称为三个字母的组合

三重暴力算2022列的值,答案为:BYT

import java.util.*;

public class abc {
	public static void main(String[] args)
	{
		Scanner sc=new Scanner(System.in);
		int beg=702;
		for(int i=0;i<26;i++)
			for(int j=0;j<26;j++)
				for(int k=0;k<26;k++)
				{
					beg++;
					if(beg==2022)
					{
						char a=(char)('A'+i),b=(char)('A'+j),c=(char)('A'+k);
						System.out.print(a+" "+b+" "+c);
						break;
					}
				}
	}
}

C、求满足条件的日期

对一个日期,我们可以计算出年份的各个数位上的数字之和,也可以分别计算月和日的各位数字之和。请问从1900年1月1日至9999年12月31日,总共有多少天,年份的数位数字之和=月的数位之和+日的数位之和。

例如:2022年11月13日满足要求,因为6=2+4

请求出满足条件的日期总数量

思路:

数组记录1——12月每一个月的天数,注意闰年2月为29天,然后三重暴力循环计算即可

答案:70910

import java.util.*;

public class abc {
	public static void main(String[] args)
	{
		Scanner sc=new Scanner(System.in);
		int res=0;
		int[] a= {0,31,28,31,30,31,30,31,31,30,31,30,31};
		for(int i=1900;i<=9999;i++)
		{
			String y=String.valueOf(i);
			for(int j=1;j<=12;j++)
			{
				if(i%400==0||(i%4==0&&i%100!=0)) a[2]=29;
				else a[2]=28;
				String m=String.valueOf(j);
				for(int k=1;k<=a[j];k++)
				{
					String d=String.valueOf(k);
					if(ck(y,m,d)) res++;
				}
			}
		}
		System.out.print(res);
	}
	public static boolean ck(String y,String m,String d)
	{
		int yy=0,mm_dd=0;
		for(char c:y.toCharArray()) yy+=c-'0';
		for(char c:m.toCharArray()) mm_dd+=c-'0';
		for(char c:d.toCharArray()) mm_dd+=c-'0';
		if(yy==mm_dd) return true;
		return false;
	}

D、 取数字 - 二分

小蓝有30个数,分别为:99,22,51,63,72,61,20,88,40,21,63,30,11,18,99,12,93,16,7,53,64,9,28,84,34,96,52,82,51,77

小蓝可以从这些数中取出两个序号不同的数,共30*29/2=435种取法

请问这435种取法中,有多少种取法取出的两个数乘积大于等于2022?

思路:

直接暴力枚举,二分优化,答案是:189

(1)暴力

public class Main4 {
    public static void main(String[] args) {
        int res=0;
        int[] a={99, 22, 51, 63, 72, 61, 20, 88, 40, 21, 63, 30, 11, 18, 99, 12, 93, 16, 7, 53, 64, 9, 28, 84, 34, 96, 52, 82, 51, 77};
        for(int i=0;i<30;i++)
            for(int j=i+1;j<30;j++ ) 
                if(a[i]*a[j]>=2022) res++;
        System.out.println(res);
    }
}

(2)二分

import java.util.*;

public class abc {
	public static void main(String[] args)
	{
		Scanner sc=new Scanner(System.in);
		int res=0;
		int[] a= {99, 22, 51, 63, 72, 61, 20, 88, 40, 21, 63, 30, 11, 18, 99, 12, 93, 16, 7, 53, 64, 9, 28, 84, 34, 96, 52, 82, 51, 77};
		Arrays.sort(a);
		for(int i=0;i<a.length-1;i++)  //最后一个数没有后续配对的
		{
			int target=(int)Math.ceil(2022*1.0/a[i]);
			int idx=binary(a,target,i+1,a.length-1); //在【i+1,n-1】区间找防止重复
			if(2022/a[i]>a[idx]) continue;
			res+=a.length-idx;
		}
		
		System.out.print(res);
	}
	public static int binary(int[] a,int target,int l,int r)
	{
		while(l<r)
		{
			int mid=l+r>>1;
			if(a[mid]>=target) r=mid;
			else l=mid+1;
		}
		return r;
	}
}

E、最大连通块 - bfs

小蓝有一个 30 行 60 列的数字矩阵,矩阵中的每个数都是 0 或 1 。  

110010000011111110101001001001101010111011011011101001111110
010000000001010001101100000010010110001111100010101100011110
001011101000100011111111111010000010010101010111001000010100
101100001101011101101011011001000110111111010000000110110000
010101100100010000111000100111100110001110111101010011001011
010011011010011110111101111001001001010111110001101000100011
101001011000110100001101011000000110110110100100110111101011
101111000000101000111001100010110000100110001001000101011001
001110111010001011110000001111100001010101001110011010101110
001010101000110001011111001010111111100110000011011111101010
011111100011001110100101001011110011000101011000100111001011
011010001101011110011011111010111110010100101000110111010110
001110000111100100101110001011101010001100010111110111011011
111100001000001100010110101100111001001111100100110000001101
001110010000000111011110000011000010101000111000000110101101
100100011101011111001101001010011111110010111101000010000111
110010100110101100001101111101010011000110101100000110001010
110101101100001110000100010001001010100010110100100001000011
100100000100001101010101001101000101101000000101111110001010
101101011010101000111110110000110100000010011111111100110010
101111000100000100011000010001011111001010010001010110001010
001010001110101010000100010011101001010101101101010111100101
001111110000101100010111111100000100101010000001011101100001
101011110010000010010110000100001010011111100011011000110010
011110010100011101100101111101000001011100001011010001110011
000101000101000010010010110111000010101111001101100110011100
100011100110011111000110011001111100001110110111001001000111
111011000110001000110111011001011110010010010110101000011111
011110011110110110011011001011010000100100101010110000010011
010011110011100101010101111010001001001111101111101110011101

如果从一个标为 1 的位置可以通过上下左右走到另一个标为 1 的位置,则称两个位置连通。与某一个标为 1 的位置连通的所有位置(包括自己)组成一个连通分块。  

请问矩阵中最大的连通分块有多大?

思路:

答案是148

bfs进入为1的点,上下左右扩展计数,最后求每一次bfs最大值即可,模板提 

import java.util.*;

public class abc {
	static int n=30,m=60;
	static int[][] g=new int[n][m];
	static int[][] st=new int[n][m];
	static int[] dx={0,0,1,-1},dy= {1,-1,0,0};
	
	public static void main(String[] args)
	{
		Scanner sc=new Scanner(System.in);
		String t;
		for(int i=0;i<n;i++)
		{
			String s=sc.next();
			for(int j=0;j<m;j++) g[i][j]=s.charAt(j)-'0';
		}
			
		int res=0;
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<m;j++)
			{
				if(g[i][j]==1&&st[i][j]==0)
					res=Math.max(res, bfs(i,j));
			}
		}
		System.out.print(res);
	}
	public static int bfs(int x,int y)
	{
		int cnt=1;
		st[x][y]=1;
		Queue<PII> q=new LinkedList<>();
		q.offer(new PII(x,y));
		
		while(!q.isEmpty())
		{
			PII t=q.poll();
			int xx=t.x,yy=t.y;
			for(int i=0;i<4;i++)
			{
				int nx=dx[i]+xx,ny=dy[i]+yy;
				if(nx>=0&&nx<n&&ny>=0&&ny<m&&st[nx][ny]==0&&g[nx][ny]==1)
				{
					st[nx][ny]=1;
					q.offer(new PII(nx,ny));
					cnt++;
				}
			}
		}
		return cnt;
	}
	
}
class PII
{
	int x,y;
	PII(int x,int y)
	{
		this.x=x;
		this.y=y;
	}
}

F、哪一天?

1<=n<=10^6

思路:

注意特判整除7的情况,不能输出0,应该输出7 

import java.util.*;

public class abc {
	
	public static void main(String[] args)
	{
		Scanner sc=new Scanner(System.in);
		int w=sc.nextInt(),n=sc.nextInt();
		int res=(w+n%7)%7;
		System.out.print(res==0? 7:res);
	}
}

G、信号覆盖 - bfs

问题描述

        小蓝负责一块区域的信号塔安装,整块区域是一个长方形区域,建立坐标轴后,西南角坐标为 (0, 0), 东南角坐标为 (W, 0), 西北角坐标为 (0, H), 东北角坐标为 (W, H)。其中 W, H 都是整数。
        他在 n 个位置设置了信号塔,每个信号塔可以覆盖以自己为圆心,半径为 R 的圆形(包括边缘)。
        为了对信号覆盖的情况进行检查,小蓝打算在区域内的所有横纵坐标为整数的点进行测试,检查信号状态。其中横坐标范围为 0 到 W,纵坐标范围为 0 到 H,总共测试 (W+1) * (H+1) 个点。
        给定信号塔的位置,请问这 (W+1)*(H+1) 个点中有多少个点被信号覆盖。

输入格式

        输入第一行包含四个整数 W, H, n, R,相邻整数之间使用一个空格分隔。
        接下来 n 行,每行包含两个整数 x, y,表示一个信号塔的坐标。信号塔可能重合,表示两个信号发射器装在了同一个位置。

输出格式

        输出一行包含一个整数,表示答案。

样例输入

10 10 2 5
0 0
7 0

样例输出

57

评测用例规模与约定

1 <= W, H <= 100

1 <= n <= 100

1 <= R <= 100

0 <= x <= W

0 <= y <= H

(1)bfs(60%)

can you tell me why? 

思路:

st数组标记被覆盖的坐标点,对于每个信号塔进行bfs,对每个点上下左右扩展

若【在合法范围内】且【未标记】且【该点到信号塔的距离<=r】,则入队标记 ,并统计覆盖点范围

import java.util.*;

public class abc {
	
	static int[][] st;
	static int res=0,r,h,w,n;
	static int[] dx={0,0,1,-1},dy= {1,-1,0,0};
	
	public static void main(String[] args)
	{
		Scanner sc=new Scanner(System.in);
		w=sc.nextInt();
		h=sc.nextInt();
		n=sc.nextInt();
	  r=sc.nextInt();
		st=new int[w+1][h+1];
		for(int i=0;i<n;i++)
		{
			int x=sc.nextInt(),y=sc.nextInt();
			bfs(x,y);
		}
    for(int i=0;i<=w;i++)
      for(int j=0;j<=h;j++) if(st[i][j]==1) res++;
		System.out.print(res);
	}
	public static void bfs(int x,int y)
	{
		st[x][y]=1;
		Queue<PII> q=new LinkedList<>();
		q.offer(new PII(x,y));
		
		while(!q.isEmpty())
		{
			PII t=q.poll();
			int xx=t.x,yy=t.y;
			for(int i=0;i<4;i++)
			{
				int nx=dx[i]+xx,ny=dy[i]+yy;
				if(nx>=0&&nx<=w&&ny>=0&&ny<=h&&st[nx][ny]==0&&ck(x,y,nx,ny))
				{
					q.offer(new PII(nx,ny));
					st[nx][ny]=1;
				}
			}
		}
	}
	public static boolean ck(int x,int y,int nx,int ny)
	{
		int dis=(x-nx)*(x-nx)+(y-ny)*(y-ny);
		if(dis<=r*r) return true;
		return false;
	}
}
class PII
{
	int x,y;
	PII(int x,int y)
	{
		this.x=x;
		this.y=y;
	}
}

 (2)暴力

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int w = scan.nextInt(), h = scan.nextInt(), n = scan.nextInt(), r = scan.nextInt();
        int[][] arr = new int[n][2];
        for (int i = 0; i < n; i++) {
            arr[i][0] = scan.nextInt();
            arr[i][1] = scan.nextInt();
        }
        int count = 0;
        for (int i = 0; i <= w; i++) {
            for (int j = 0; j <= h; j++) {
                if (check(arr, n, r, i, j)) {
                    count++;
                }
            }
        }
        System.out.println(count);
    }
    
    public static boolean check(int[][] arr, int n, int r, int x, int y) {
        for (int i = 0; i < n; i++) {
            int x0 = x - arr[i][0];
            int y0 = y - arr[i][1];
            if (x0 * x0 + y0 * y0 <= r * r) return true;
        }
        return false;
    }
}

H、清理水域 - 暴力(弱智版) 可以差分

import java.util.*;

public class abc {
	
	public static void main(String[] args)
	{
		Scanner sc=new Scanner(System.in);
		int n=sc.nextInt(),m=sc.nextInt(),t=sc.nextInt();
		int[][] g=new int[n+1][m+1];
		int res=0;
		while(t-->0)
		{
			int r1=sc.nextInt(),c1=sc.nextInt(),r2=sc.nextInt(),c2=sc.nextInt();
			for(int i=r1;i<=r2;i++)
				for(int j=c1;j<=c2;j++) g[i][j]=1;
		}
		for(int i=1;i<=n;i++)
			for(int j=1;j<=m;j++) if(g[i][j]==0) res++;
		System.out.print(res);
	}
	
}

I、滑行 - dfs + dp

输入格式
  输入第一行包含两个整数 n, m,用一个空格分隔。
  接下来 n 行,每行包含 m 个整数,相邻整数之间用一个空格分隔,依次表示每个位置的高度。
输出格式
  输出一行包含一个整数,表示答案。


样例输入
4 5
1 4 6 3 1
11 8 7 3 1
9 4 5 2 1
1 3 2 2 1
样例输出
7


样例说明
  滑行的位置一次为 (2, 1), (2, 2), (2, 3), (3, 3), (3, 2), (4, 2), (4, 3)。

评测用例规模与约定
  对于 30% 评测用例,1 <= n <= 20,1 <= m <= 20,0 <= 高度 <= 100。
  对于所有评测用例,1 <= n <= 100,1 <= m <= 100,0 <= 高度 <= 10000。

(1)dfs(30%)

import java.util.*;
import java.math.*;

public class Main {
    static int res=0;
    static int[] dx={0,0,1,-1},dy={1,-1,0,0};
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n=sc.nextInt(),m=sc.nextInt();
        int[][] g=new int[n][m];
        for(int i=0;i<n;i++)
          for(int j=0;j<m;j++) g[i][j]=sc.nextInt();
        
        for(int i=0;i<n;i++)
          for(int j=0;j<m;j++)
          {
            dfs(i,j,g,1,n,m);
          }
        System.out.print(res);
        sc.close();
    }

    public static int dfs(int x,int y,int[][] g,int cnt,int n,int m)
    {
      for(int i=0;i<4;i++)
      {
        int nx=x+dx[i],ny=y+dy[i];
        if(nx>=0&&nx<n&&ny>=0&&ny<m&&g[nx][ny]<g[x][y])
        {
          cnt++;
          res=Math.max(res,cnt);
          dfs(nx,ny,g,cnt,n,m);
          cnt--;
        }
      }
      return cnt;

    }
}

(2)dp+dfs(100%) 

思路

定义d[i][j]为从(i,j)出发能滑行的最长距离,则求出max每个d[i][j]即可

import java.util.*;
import java.math.*;

public class Main {
    static int n,m,res=0;
    static int[][] g,d;
    static int[] dx={0,0,1,-1},dy={1,-1,0,0};

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        n=sc.nextInt();
        m=sc.nextInt();
        g=new int[n][m];
        d=new int[n][m];
        
        for(int i=0;i<n;i++)
          for(int j=0;j<m;j++) {g[i][j]=sc.nextInt();}
        
        for(int i=0;i<n;i++)
          for(int j=0;j<m;j++)
            res=Math.max(res,dfs(i,j));

        System.out.print(res);
        sc.close();
    }

    public static int dfs(int x,int y)
    {
      if(d[x][y]!=0) return d[x][y]; //如果这个点被访问过,返回从这个点能滑行的最大距离
      d[x][y]=1;
      for(int i=0;i<4;i++)
      {
        int nx=x+dx[i],ny=y+dy[i];
        if(nx>=0&&nx<n&&ny>=0&&ny<m&&g[nx][ny]<g[x][y])
        {
          d[x][y]=Math.max(d[x][y],dfs(nx,ny)+1);
        }
      }
      return d[x][y];

    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/155534.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

指静脉采集模组之调节Sensor

修改程序中gc0308_sensor_default_regs[]的类容&#xff0c;0x22寄存器的值改为0x55,关闭白平衡&#xff0c;0xd2寄存器的值改为0x10&#xff0c;关闭自动曝光。目前输出的图像没有自动曝光和自动白平衡&#xff0c;但是帧率比之前更低了。 以下是开启曝光模式和关闭曝光模式下…

论文排版一步搞定之图表题注——(图标自动编号,引用题注)

同学们在撰写研究生毕业大论文时&#xff0c;一定会进行章节的多次调整&#xff0c;不到最后一刻很难定稿。此时&#xff0c;一幅插图或表格位置的变化可能会导致此章内大部分插图或表格编号的变化&#xff0c;插图和表格编号的改变同样会使得前文的引用发生变化。牵一发而动全…

idea中误删.iml和.idea文件,如何处理

目录 一、问题描述 二、解决方案 1、理论知识 &#xff08;1&#xff09;.iml 文件 &#xff08;2&#xff09;.idea文件 2、操作环境 3、操作步骤 &#xff08;1&#xff09;找到【Maven】工具按钮 &#xff08;2&#xff09;点图标&#xff0c;重复导入maven项目&am…

【操作系统】内存的非连续分配管理

文章目录 前言非连续分配管理基本分页存储管理方式基本地址变换机构具有快表的地址变换机构两级页表 基本分段存储管理方式段页式管理方式 前言 在了解完内存的连续分配管理的三种方式后&#xff0c;可以看到它们之所以称之为连续分配是因为都有一个共同特点&#xff1a;每个进…

设计模式-适配器-笔记

适配器模式Adapter 动机&#xff08;Motivation&#xff09; 在软件系统中&#xff0c;由于应用环境的变化&#xff0c;常常需要将“一些现存的对象”放在新的环境中应用&#xff0c;但是新环境要求的接口是在这些现存对象所不满足的。 如何应对这种“迁移的变化”&#xff1…

QNX Typed memory介绍

文章目录 前言一、什么是 Typed memory二、查看系统已有Typed memory 的方法三、Typed memory 的使用方法1.定义一个packet memory并从系统内存中分出它1.1 as_add()1.2 as_add_containing()2. 从 Typed memory 中申请内存2.1 POSIX method 申请内存2.2 QNX Neutrino method 申…

redis设置密码

首先到redis的下载目录下&#xff1a;运行 redis-cli 查看redis密码&#xff1a; config get requirepass 设置redis密码为123456&#xff1a; config set requirepass 123456

GDS 命令的使用 srvctl service TAF application continuity

文档中prim and stdy在同一台机器上&#xff0c;不同机器需要添加address list TAF ENABLED GLOBAL SERVICE in GDS ENVIRONMNET 12C. (Doc ID 2283193.1)​编辑To Bottom In this Document Goal Solution APPLIES TO: Oracle Database - Enterprise Edition - Version 12.1.…

Windows系统中搭建docker (ubuntu,Docker-desktop)

一、docker安装前的准备工作 1. 开启CPU虚拟化&#xff0c;新电脑该默认是开启的&#xff0c;如果没开启可以根据自己电脑型号品牌搜索如克开启CPU虚拟化。当开启成功后可在设备管理器中看到。 2.开通Hyper-V 通过 Windows 控制面板 --> 程序和功能 -->启用或关闭…

系列五、JVM的内存结构【PC寄存器】

一、位置 CPU中 二、作用 每个线程都有一个程序计数器&#xff0c;是线程私有的&#xff0c;所谓PC寄存器其实就是一个指针&#xff0c;指向方法区中的方法字节码&#xff08;用来存储指向下一条指令的地址&#xff0c;也即将要执行的指令代码&#xff09;&#xff0c;由执行引…

基于PHP的纺织用品商城系统

有需要请加文章底部Q哦 可远程调试 基于PHP的纺织用品商城系统 一 介绍 此纺织用品商城系统基于原生PHP开发&#xff0c;数据库mysql&#xff0c;前端bootstrap。用户可注册登录&#xff0c;购物下单&#xff0c;评论等。管理员登录后台可对纺织用品&#xff0c;用户&#xf…

一文浅入Springboot+mybatis-plus+actuator+Prometheus+Grafana+Swagger2.9.2开发运维一体化

Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTFUL风格的Web服务,是非常流行的API表达工具。 Swagger能够自动生成完善的 RESTFUL AP文档,,同时并根据后台代码的修改同步更新,同时提供完整的测试页面来调试API。 Prometheus 是一个开源的服务监控系统和时…

​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​

软考-高级-系统架构设计师教程&#xff08;清华第2版&#xff09;【第9章 软件可靠性基础知识&#xff08;P320~344&#xff09;-思维导图】 课本里章节里所有蓝色字体的思维导图

锂离子电池充电管理芯片应用

基本概述 TP4054是一个完善的单片锂离子电池恒流/恒压线性电源管理芯片。 更值得一提的是&#xff0c;TP4054专门设计适用于USB的供电规格。得益于内部的MOSFET结构&#xff0c;在应用上不需要外部电阻和阻塞二极管。在高能量运行和高外围温度时&#xff0c;热反馈可以控制充…

uniapp Android如何授权打开系统蓝牙Bluetooth?

uniapp Android如何授权打开系统蓝牙&#xff1f; 使用uniapp开发蓝牙项目过程中&#xff0c;涉及到检测手机系统蓝牙是否打开功能&#xff0c;这里介绍Android&#xff0c;iOS暂时没有找到优方法。朋友们如果有好的方案&#xff0c;欢迎评论分享~ 文章目录 uniapp Android如何…

SDL音视频渲染

01-SDL简介 官网&#xff1a;https://www.libsdl.org/ 文档&#xff1a;http://wiki.libsdl.org/Introduction SDL&#xff08;Simple DirectMedia Layer&#xff09;是一套开放源代码的跨平台多媒体开发库&#xff0c;使用C语言写成。SDL提供了数种控制图像、声音、输出入的函…

ESP32 Arduino实战基础篇-使用 ADC 读取模拟值

本文介绍如何使用 Arduino IDE 读取 ESP32 的模拟输入。模拟读数对于读取电位计或模拟传感器等可变电阻器的值非常有用。 使用 ESP32 读取模拟输入就像使用模拟读取(GPIO)函数,它接受您想要读取的 GPIO 作为参数。 模拟输入 (ADC) 使用 ESP32 读取模拟值意味着您可以测量 0 …

Anaconda的安装使用及pycharm设置conda虚拟环境

1.python和包以及anaconda的概念关系 python “工人” 包 “工具” 环境 “工具箱” anaconda “放很多工具箱的大箱子” python等于工人这个好理解&#xff0c;就是编程需要用python来实现对应功能&#xff0c;即工人完成某项工程。 包等于工具&#xff0c;就是工人…

使用VC++实现分段线性变换,直方图均衡化、锐化处理(使用拉普拉斯算子)

图像锐化1 实验要求 5.1实验目的、要求 实验目的&#xff1a; &#xff08;1&#xff09;掌握图像增强的原理与相关方法。 &#xff08;2&#xff09;能使用VC实现图像增强的一些相关功能。 实验要求&#xff1a; A部分&#xff1a; &#xff08;1&#xff09;对一幅256级灰度…

【vue2】前端如何播放rtsp 视频流,拿到rtsp视频流地址如何处理,海康视频rtsp h264 如何播放

文章目录 测试以vue2 为例新建 webrtcstreamer.js下载webrtc-streamervideo.vue页面中调用 最近在写vue2 项目其中有个需求是实时播放摄像头的视频&#xff0c;摄像头是 海康的设备&#xff0c;搞了很长时间终于监控视频出来了&#xff0c;记录一下&#xff0c;放置下次遇到。…