2025蓝桥杯JAVA编程题练习Day2
1.大衣构造字符串
问题描述
已知对于一个由小写字母构成的字符串,每次操作可以选择一个索引,将该索引处的字符用三个相同的字符副本替换。
现有一长度为 NN 的字符串 UU,请帮助大衣构造一个最小长度的字符串 SS,使得经过任意次数操作后该字符串能转换为字符串 UU。
保证存在唯一满足条件的字符串。
输入格式
第一行输入一个正整数 NN 表示字符串的长度。
第二行输入一个长度为 NN 的字符串 UU。
输出格式
输出一个最小长度的字符串 SS,使得经过任意次数操作后该字符串能转换为字符串 UU。
样例输入1
6
aaabbb
样例输出1
ab
样例输入2
7
abbbbbc
样例输出2
abc
样例输入3
4
abcd
样例输出3
abcd
AC代码
import java.util.*;
public class exercise1{public static void main(String[] args) {Scanner scan = new Scanner(System.in);int n=scan.nextInt();scan.nextLine();String u=scan.nextLine();String ans="";for(int i=0;i<n;i++) {if(i+1<n&&i+2<n&&u.charAt(i)==u.charAt(i+1)&&u.charAt(i)==u.charAt(i+2)) {ans=ans+u.charAt(i);i+=2;}else {ans=ans+u.charAt(i);}}System.out.println(ans);scan.close();}
}
2.大衣的异或回文对
问题描述
大衣有一个长度为 NN 的数组 AA,大衣想知道数组中有多少对 (i,j)(1≤i≤j≤N)(i,j)(1≤i≤j≤N) 满足 Ai⊕AjAi⊕Aj 的十进制数是回文的,⊕⊕ 表示按位异或。
你能回答大衣吗的问题吗?
输入格式
第一行输入一个正整数 NN 表示数组的长度。
第二行输入 NN 个整数 A1,A2,⋯,ANA1,A2,⋯,AN 表示数组中的元素。
输出格式
输出一个数字表示答案。
样例输入1
4
13 27 12 26
样例输出1
8
样例输入2
3
2 2 2
样例输出2
6
AC代码
import java.util.*;
public class exercise1{private static boolean pd(String s) {for(int i=0;i<s.length()/2;i++) {if(s.charAt(i)!=s.charAt(s.length()-i-1))return false;}return true;}public static void main(String[] args) {Scanner scan = new Scanner(System.in);int n=scan.nextInt();int[] a=new int[n];for(int i=0;i<n;i++) {a[i]=scan.nextInt();}int ans=0;for(int i=0;i<n;i++) {for(int j=i;j<n;j++) {int temp=a[i]^a[j];String st=String.valueOf(temp);if(pd(st))ans++;}}System.out.println(ans);scan.close();}
}
3.金苹果群岛的建设
问题描述
探险家们发现了一片由 nn 个岛屿组成的群岛,命名为金苹果群岛。这些岛屿之间通过地脉相连,每一对相连的岛屿都可以通过地脉通往其他相连的岛屿。现在,探险家们计划在某些岛屿之间建设桥梁,以便每个岛屿都能够相互到达。桥梁是双向通行的。
已知有 mm 条地脉,每条地脉都连接了两个岛屿。你的任务是计算至少需要建设多少座桥梁,才能实现探险家们的计划。
输入格式
第一行包含两个整数 nn 和 mm ,分别表示岛屿的数量和地脉的数量。
接下来的 mm 行,每行包含两个整数 aa 和 bb,表示第 aa 个岛屿和第 bb 个岛屿之间有一条地脉。
输出格式
输出一个整数,表示至少需要建设的桥梁数量。
样例输入
5 3
1 2
2 3
4 5
样例输出
1
评测数据范围
1≤n≤1051≤n≤105 ,0≤m≤1050≤m≤105 ,1≤a,b≤n1≤a,b≤n ,a≠ba=b。
AC代码
(1)通过80%
import java.util.*;
public class exercise1{static int[] f;private static int find(int x) {if(f[x]==x)return x;else return f[x]=find(f[x]);}public static void main(String[] args) {Scanner scan = new Scanner(System.in);int n=scan.nextInt();int m=scan.nextInt();f=new int[n+1];for(int i=1;i<=n;i++) {f[i]=i;}for(int i=0;i<m;i++) {int a=scan.nextInt();int b=scan.nextInt();int fa=find(a);int fb=find(b);if(fa!=fb)f[fa]=fb;}int ans=0;for(int i=1;i<=n;i++) {for(int j=i+1;j<=n;j++) {int fi=find(i);int fj=find(j);if(fi!=fj) {ans++;f[fi]=fj;}}}System.out.println(ans);scan.close();}
}
(2)通过100%。
优化部分:避免双重循环合并集合。在原始代码里的 for 循环中 find(i) 和 find(j) 的操作可能会导致重复查询,应该只统计连通块的数量,而不再二次合并。先统计不同连通块数量(只有根节点才计数),最终答案就是连通块数量-1。
import java.util.*;
public class exercise1{static int[] f;private static int find(int x) {if(f[x]==x)return x;else return f[x]=find(f[x]);}public static void main(String[] args) {Scanner scan = new Scanner(System.in);int n=scan.nextInt();int m=scan.nextInt();f=new int[n+1];for(int i=1;i<=n;i++) {f[i]=i;}for(int i=0;i<m;i++) {int a=scan.nextInt();int b=scan.nextInt();int fa=find(a);int fb=find(b);if(fa!=fb)f[fa]=fb;}int ans=0;for(int i=1;i<=n;i++) {if(f[i]==i)ans++;}System.out.println(ans-1);scan.close();}
}
4.大衣的飞机场
问题描述
大衣有 NN 台飞机,第 ii 台飞机在 AiAi 时间降落,在 BiBi 时间起飞。
由于降落和起飞都需要占用轨道,每条轨道在某一时间只能被一台飞机使用,请问最少需要多少条轨道才能让所有飞机正常起降。
输入格式
第一行输入一个正整数 NN 表示飞机的数量。
第二行输入 NN 个整数 A1,A2,⋯,ANA1,A2,⋯,AN 表示每台飞机降落的时间。
第三行输入 NN 个整数 B1,B2,⋯,BNB1,B2,⋯,BN 表示每台飞机起飞的时间。
输出格式
输出一个数字表示能让所有飞机正常起降需要的最少轨道数。
样例输入1
3
1 1 2
2 2 3
样例输出1
3
样例输入2
4
1 5 4 3
4 6 10 4
样例输出2
3
样例输入3
3
1 4 3
2 6 5
样例输出3
1
AC代码
import java.util.*;
public class exercise1{public static void main(String[] args) {Scanner scan = new Scanner(System.in);int n=scan.nextInt();int[] a=new int[n+1];int[] b=new int[n+1];Map<Integer,Integer> M=new HashMap<>();int ans=0;//每个数字的最大数量for(int i=1;i<=n;i++) {a[i]=scan.nextInt();if(M.get(a[i])==null) {M.put(a[i], 1);}else {M.put(a[i], M.get(a[i])+1);ans=Math.max(ans,M.get(a[i]));}}for(int i=1;i<=n;i++) {b[i]=scan.nextInt();if(M.get(b[i])==null) {M.put(b[i], 1);}else {M.put(b[i], M.get(b[i])+1);ans=Math.max(ans,M.get(b[i]));}}System.out.println(ans);scan.close();}
}
5.回文字符串
问题描述
小蓝最近迷上了回文字符串,他有一个只包含小写字母的字符串 SS,小蓝可以往字符串 SS 的开头处加入任意数目个指定字符: l、q、bl、q、b(ASCIIASCII 码分别为: 108、113、98108、113、98)。小蓝想要知道他是否能通过这种方式把字符串 SS 转化为一个回文字符串。
输入格式
输入的第一行包含一个整数 TT,表示每次输入包含 TT 组数据。
接下来依次描述 TT 组数据。
每组数据一行包含一个字符串 SS 。
输出格式
输出 TT 行,每行包含一个字符串,依次表示每组数据的答案。如果可以将 SS 转化为一个回文字符串输出 Yes,否则输出 No。
样例输入
3
gmgqlq
pdlbll
aaa
样例输出
Yes
No
Yes
AC代码
import java.util.*;
public class exercise1{private static boolean pd(String s) {int l=0,r=s.length()-1;while(l<=r) {char L=s.charAt(l);char R=s.charAt(r);if(L==R) {l++;r--;}else { //S的开头处可加(左边可加,右边不可以)if(R=='l'||R=='q'||R=='b') {r--;}else {return false;}}}return true;}public static void main(String[] args) {Scanner scan = new Scanner(System.in);int t=scan.nextInt();scan.nextLine();for(int i=1;i<=t;i++) {String s=scan.nextLine();if(pd(s))System.out.println("Yes");else System.out.println("No");}scan.close();}
}
6.七夕节之通讯
问题描述
小蓝需要通过每个地区的通信装置才能与其他地区联系。现在每个地区被抽象为一个点,按照 1,2,...,n1,2,...,n 标号。在线路完好的情况下,小蓝可以从第一个点按顺序依次联系到第 nn 个点,即 [1↔2↔...↔n][1↔2↔...↔n]。但是由于地震、暴雨等自然灾害的影响,可能部分点的通信装置被破坏。
例如当小蓝处在 55 号点时,如果仅有 33 号点被破坏,其他点正常,那么小蓝只能联络到 [4,n][4,n] 号点,即 [1↔2,4↔5↔n][1↔2,4↔5↔n]。当某个地区的通信装置被自然灾害破坏时,工作人员也会尽力抢修。
现在给定 qq 次操作,每次操作为破坏点、恢复点和查询当前点可以联络多少个点(包括自身在内)进行通讯,请你输出对应的查询结果。
注意:初始状态时,所有通讯点均为正常通讯点。
输入格式
输入共 q+1q+1 行:
第一行为两个正整数 n,qn,q,依次表示通讯点数量和操作次数。
接下来 qq 行,每行两个正整数 ins、xins、x。当 ins==0ins==0 时,若 点 xx 为正常通讯点,则破坏该点为中断点;若 xx 为中断点,则恢复该点为正常通讯点。当 ins==1ins==1 时,查询点 xx 可以至多通讯多少个点。
输出格式
输出所有 ins==1ins==1 时的查询结果,结果按查询先后顺序依次输出,结果仅包含一个整数且独占一行。
样例输入
5 5
1 1
0 2
1 1
1 4
1 2
样例输出
5
1
3
0
AC代码
import java.util.*;
public class exercise1{private static void update(int x) {}public static void main(String[] args) {Scanner scan = new Scanner(System.in);int n=scan.nextInt();int q=scan.nextInt();Set<Integer>s =new TreeSet<>();//TreeSet自动升序,去重复元素for(int i=1;i<=q;i++) {int ins=scan.nextInt();int x=scan.nextInt();if(ins==0) {if(s.contains(x))s.remove(x);else s.add(x);}else {if(s.contains(x)) {System.out.println(0);continue;}else {int last=0,next=0;for(int u:s) {if(x<u) {next=u;//只要找到离x最近的nextbreak;}last=u;}if(next==0) {System.out.println(n-last);}else {System.out.println(next-last-1);}}}}scan.close();}
}
7.蛋糕盛宴
问题描述
在一个奇幻的游戏世界中,你作为勇敢的冒险者,来到了一个神秘的蛋糕王国。这个王国以美味的蛋糕闻名于世,而你正准备挑战一个有趣的任务。
在王国的宫殿里,有一个特殊的矩形蛋糕盘子,它的大小为 n×mn×m。你的任务是在这个盘子里放置尽可能多的半径为 rr 的圆形蛋糕,但是要注意,蛋糕的每一部分都不能超出盘子的边界。
现在,请你告诉我,在这个挑战中,你能最多放置多少个圆形蛋糕?
输入格式
第一行输入三个整数 n,m,rn,m,r,表示蛋糕盘子的大小和圆形蛋糕的半径,其中 1≤n,m,r≤1001≤n,m,r≤100。
输出格式
输出仅一行,包含一个整数,表示你能放置的蛋糕的最大数量。
样例输入
1 2 3
样例输出
0
AC代码
import java.util.*;
public class exercise1{public static void main(String[] args) {Scanner scan = new Scanner(System.in);int n=scan.nextInt();int m=scan.nextInt();int r=scan.nextInt();System.out.println((n/(2*r))*(m/(2*r)));scan.close();}
}
8.蓝桥商场【算法赛】
问题描述
随着双十一的来临,蓝桥商场迎来了一场狂欢,共有 nn 家店铺开展了免费试吃活动。
活动结束后,每家店铺都还剩下一些试吃食物,第 ii 家店铺剩下 aiai 份食物未被消耗完。
商场保安小蓝接到指令要处理这些剩余食物,但他觉得浪费太可惜。因此,他决定亲自吃完这些食物。每分钟,小蓝可以选择以下操作之一:
- 选择一家仍有剩余食物的店铺,吃掉其中的一份食物。在下一分钟,小蓝不能再选择同一家店铺的食物。
- 休息,不吃任何食物。
请问,小蓝需要多少分钟才能吃完所有店铺剩余的食物呢?
输入格式
第一行输入一个整数 n(1≤n≤105)n(1≤n≤105) 表示店铺的数量。
第二行输入 nn 个整数 a1,a2,a3,⋯,an(1≤ai≤105)a1,a2,a3,⋯,an(1≤ai≤105) 表示每家店铺剩余的食物数量。
输出格式
输出一个整数表示答案。
样例输入
3
1 1 3
样例输出
5
AC代码
import java.util.*;
public class exercise1{public static void main(String[] args) {Scanner scan = new Scanner(System.in);int n=scan.nextInt();int[] a=new int[n+1];int maxx=0;int sum=0;for(int i=1;i<=n;i++) {a[i]=scan.nextInt();sum+=a[i];maxx=Math.max(a[i],maxx);}int num=maxx-(sum-maxx);if(num>1) {sum+=num-1;}System.out.println(sum);scan.close();}
}
9.最优操作
问题描述
有一个包含 nn 个元素的数组 aa ,我们将对其进行 mm 次操作。mm 次操作可以按任意顺序执行。每次操作给你两个整数 xx 和 yy,你需要在数组中选择 0∼x0∼x 个数,将它们永久变成 yy 。完成所有操作后,请问数组的元素和最大可能是多少。
输入格式
第一行包含两个整数 nn 和 mm ,表示数组的元素个数和操作次数。
第二行包含 nn 个整数,表示数组 aa 的元素。
接下来 mm 行,每行两个整数,表示操作中的 xx 和 yy 。
输出格式
输出一个整数,表示操作完成后,数组的最大元素和。
样例输入
3 2
5 1 4
2 3
1 5
样例输出
14
AC代码
import java.util.*;
public class exercise1{public static void main(String[] args) {Scanner scan = new Scanner(System.in);int n=scan.nextInt();int m=scan.nextInt();int[] a=new int[n];//优先队列默认最小堆,堆顶为最小值PriorityQueue<Integer>q =new PriorityQueue<>();//最大堆PriorityQueue<Integer> q = new PriorityQueue<>(Comparator.reverseOrder());long sum=0;for(int i=0;i<n;i++) {a[i]=scan.nextInt();sum+=a[i];q.add(a[i]);}for(int i=0;i<m;i++) {int x=scan.nextInt();int y=scan.nextInt();while(x>0) {if(q.peek()<y) {sum-=q.poll();q.add(y);sum+=y;}else {break;}x--;}}System.out.println(sum);scan.close();}
}
10.神秘括号匹配之谜
问题描述
在神奇的魔法大陆中,勇敢的冒险者小蓝和他的伙伴们进入了一座神秘的迷失森林。这个森林被古老的魔法所笼罩,隐藏着许多谜题和危险。小蓝希望通过解决这些谜题,找到通往宝藏的路径。
在迷失森林的某个地方,小蓝发现了一块神秘的石碑。石碑上刻有一串由括号组成的神秘字符串,只包含 ( 和 ) 两种字符。小蓝相信这个字符串中蕴含着通往宝藏的线索。他发现,只有当括号字符能够正确匹配时,才能解开谜题。
括号的匹配定义如下:对于每个 (,必须找到与之对应的 )。例如,对于字符串 (()) 和 ()(),都具有匹配的括号对,数量均为 22。
小蓝希望知道在这串神秘字符串中,最多能够匹配多少个括号对。请你帮助小蓝解决这个谜题。
输入格式
第一行输入一个整数 nn(1≤n≤1041≤n≤104),表示字符串的长度。
第二行输入一个长度为 nn 的字符串 ss,字符串中只包含 ( 和 ) 两种字符。
输出格式
输出仅一行,包含一个整数,表示在字符串中最多能够匹配的括号对数量。
样例输入
5
(()))
样例输出
2
AC代码
import java.util.*;
public class exercise1{public static void main(String[] args) {Scanner scan = new Scanner(System.in);int n=scan.nextInt();scan.nextLine();String s=scan.nextLine();//new Queue<>()不行,Queue是一个接口Queue<Character>q=new LinkedList<>();int ans=0;for(int i=0;i<s.length();i++) {if(s.charAt(i)=='(') {q.add('(');}else {if(q.size()>0) {q.poll();ans++;}}}System.out.println(ans);scan.close();}
}
相关文章:
2025蓝桥杯JAVA编程题练习Day2
1.大衣构造字符串 问题描述 已知对于一个由小写字母构成的字符串,每次操作可以选择一个索引,将该索引处的字符用三个相同的字符副本替换。 现有一长度为 NN 的字符串 UU,请帮助大衣构造一个最小长度的字符串 SS,使得经过任意次…...
《解锁GANs黑科技:打造影视游戏的逼真3D模型》
在游戏与影视制作领域,逼真的3D模型是构建沉浸式虚拟世界的关键要素。从游戏中栩栩如生的角色形象,到影视里震撼人心的宏大场景,高品质3D模型的重要性不言而喻。随着人工智能技术的飞速发展,生成对抗网络(GANs…...
es match 可查 而 term 查不到 问题分析
es 匹配逻辑 根本:es 的匹配是基于token 的。检索的query和目标字段在token 层级上有交集才能检索成功。对同样的文本,使用不同的分词器,所得token 不同。es 默认的analyzer(分词器)是standard模式,即按字切分。 基本上…...
【OpenCV实战】基于 OpenCV 的多尺度与模板匹配目标跟踪设计与实现
文章目录 基于 OpenCV 的模板匹配目标跟踪设计与实现1. 摘要2. 系统概述3. 系统原理3.1 模板匹配的基本原理3.2 多尺度匹配 4. 逻辑流程4.1 系统初始化4.2 主循环4.3 逻辑流程图 5. 关键代码解析5.1 鼠标回调函数5.2 多尺度模板匹配 6. 系统优势与不足6.1 优势6.2 不足 7. 总结…...
将有序数组转换为二叉搜索树(力扣108)
这道题需要在递归的同时使用双指针。先找到一个区间的中间值,当作子树的父节点,再递归该中间值的左区间和右区间,用于生成该父节点的左子树和右子树。这就是此题的递归逻辑。而双指针就体现在每一层递归都要使用左指针和右指针来找到中间值。…...
开放式TCP/IP通信
一、1200和1200之间的开放式TCP/IP通讯 第一步:组态1214CPU,勾选时钟存储器 第二步:防护与安全里面连接机制勾选允许PUT/GET访问 第三步:添加PLC 第四步:点击网络试图,选中网口,把两个PLC连接起…...
S4 HANA (递延所得税传输)Deferred Tax Transfer - S_AC0_52000644
本文主要介绍在S4 HANA OP中S4 HANA (递延所得税传输)Deferred Tax Transfer - S_AC0_52000644的后台配置及前台操作。具体请参照如下内容: 目录 Deferred Tax Transfer - S_AC0_52000644 1. 后台配置 1.1 Business Transaction Events激活- FIBF 2. 前台操作 …...
如何从0开始做自动化测试?
自动化测试是使用软件工具在应用程序上自动运行测试的过程,无需任何人为干预。这可以通过减少手动测试的需要来保存时间并提高软件开发过程的效率。由于人为错误或不一致性,手动测试可能容易出错,这可能导致错误未被检测到。自动化测试通过…...
DeepSeek服务器繁忙问题的原因分析与解决方案
一、引言 随着人工智能技术的飞速发展,DeepSeek 等语言模型在众多领域得到了广泛应用。然而,在春节这段时间的使用过程中,用户常常遭遇服务器繁忙的问题,这不仅影响了用户的使用体验,也在一定程度上限制了模型的推广和…...
C#,入门教程(10)——常量、变量与命名规则的基础知识
上一篇: C#,入门教程(09)——运算符的基础知识https://blog.csdn.net/beijinghorn/article/details/123908269 C#用于保存计算数据的元素,称为“变量”。 其中一般不改变初值的变量,称为常变量,简称“常量”。 无论…...
宏观经济:信贷紧缩与信贷宽松、通货膨胀与通货紧缩以及经济循环的四个周期
目录 信贷紧缩与信贷宽松信贷紧缩信贷宽松信贷政策对经济影响当前政策环境 通货膨胀与通货紧缩通货膨胀通货紧缩通货膨胀与通货紧缩对比 经济循环的四个周期繁荣阶段衰退阶段萧条阶段复苏阶段经济周期理论解释经济周期类型 信贷紧缩与信贷宽松 信贷紧缩 定义:金融…...
分层解耦.
三层架构 controller:控制层,接收前端发送的请求,对请求进行处理,并响应数据 service:业务逻辑层,处理具体的业务逻辑 dao:数据访问层(Data Access Object)(持久层),负责数据访问操作,包括数据的增、删、改…...
JAVA异步的TCP 通讯-客户端
一、客户端代码示例 import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.channels.AsynchronousSocketChannel; import java.nio.channels.CompletionHandler; import java.util.concurrent.ExecutorService; impo…...
MySQL的存储引擎对比(InnoDB和MyISAM)
InnoDB 特点: 事务支持:InnoDB 是 MySQL 默认的事务型存储引擎,支持 ACID(原子性、一致性、隔离性、持久性)事务。行级锁定:支持行级锁,能够并发执行查询和更新操作,提升多用户环境…...
【2025-02-06】简单算法:相向双指针 盛最多水的容器 接雨水
📝前言说明: ●本专栏主要记录本人的基础算法学习以及LeetCode刷题记录,主要跟随B站博主灵茶山的视频进行学习,专栏中的每一篇文章对应B站博主灵茶山的一个视频 ●题目主要为B站视频内涉及的题目以及B站视频中提到的“课后作业”。…...
2.6-组合博弈入门
组合博弈入门 组合游戏 要求 有两个玩家;游戏的操作状态是一个有限的集合(比如:限定大小的棋盘);游戏双方轮流操作;双方的每次操作必须符合游戏规定;当一方不能将游戏继续进行的时候…...
【教学】推送docker仓库
引言 Docker Hub 这个最常见的公共 Docker 仓库为例,本文将介绍如何把本地 Docker 镜像推送到公共 Docker 仓库 1. 注册 Docker Hub 账号 如果你还没有 Docker Hub 账号,需要先在 Docker Hub 官网 进行注册。注册完成后,记住你的用户名和密…...
【大数据技术】本机PyCharm远程连接虚拟机Python
本机PyCharm远程连接虚拟机Python 注意:本文需要使用PyCharm专业版。 pycharm-professional-2024.1.4VMware Workstation Pro 16CentOS-Stream-10-latest-x86_64-dvd1.iso写在前面 本文主要介绍如何使用本地PyCharm远程连接虚拟机,运行Python脚本,提高编程效率。 注意: …...
3060显卡掉帧是为什么?3060掉帧卡顿解决方法
NVIDIA GeForce RTX 3060是一款性能强劲的显卡,它可以在高画质的情况下运行大多数的游戏,但是也有一些用户反映,3060玩游戏时会出现掉帧和卡顿的现象,这让很多玩家感到困扰。那么,3060显卡掉帧是什么原因呢?…...
Kubernetes集群通过Filebeat收集日志
Filebeat收集容器日志,其中NODE_NAME配置,是将node信息添加到日志中,所以需要serviceAccount权限,如果不需要配置NODE信息,可以不创建serviceAccount,其他内容可根据实际情况修改 apiVersion: v1 kind: Ser…...
Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...
Linux简单的操作
ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...
MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...
MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...
