当前位置: 首页 > news >正文

2023睿抗CAIP-编程技能赛-本科组省赛(c++)

RC-u1 亚运奖牌榜

模拟 AC:

#include<iostream>
using namespace std;
struct nation{int j,y,t;
}a[2];
int main(){int n;cin>>n;for(int i=1;i<=n;i++){int x,y;cin>>x>>y;if(y==1) a[x].j++;if(y==2) a[x].y++;if(y==3) a[x].t++;}cout<<a[0].j<<" "<<a[0].y<<" "<<a[0].t<<endl;cout<<a[1].j<<" "<<a[1].y<<" "<<a[1].t<<endl;if(a[0].j==a[1].j){if(a[0].y==a[1].y){if(a[0].t>a[1].t) puts("The first win!");else puts("The second win!");return 0;}if(a[0].y>a[1].y) puts("The first win!");else puts("The second win!");return 0;}if(a[0].j>a[1].j) puts("The first win!");else puts("The second win!");return 0;
}

RC-u2 出院

答案错误 未AC(13/15): STL map+哈希思想

#include<iostream>
#include<cstring>
#include<map>
using namespace std;
map<string,string>mapp;
int n,m;
int main(){cin>>n>>m;for(int i=0;i<n;i++){string a,b;cin>>a>>b;mapp[a]=b;}while(m--){string in;cin>>in;int lenn=in.size();if(mapp.count(in)) cout<<mapp[in]<<endl;else{int flag=0;string out;for(auto x:mapp){int len=x.first.size();if(len<=lenn&&in.substr(0,len)==x.first&&mapp.count(in.substr(len,lenn))){flag=1;out=x.second+mapp[in.substr(len,lenn)];break;}}if(flag==1) cout<<out<<endl;else cout<<"D"<<endl;}}return 0;
}

借此题型,复习一下c++中的 STL 哈希思想:

洛谷 P4305 [JLOI2011] 不重复数字(set+vector)

set 有序不重复集合

set.insert(x) 插入元素x

set.count(x) 查找元素x,存在为1,不存在为0

set.clear()    清空集合

vector 容器

vector.push_back(x) 向容器的末尾添加一个元素x

vector.pop_back()     移除容器中的最后一个元素

vector.clear()             清空容器

#include<iostream>
#include<vector>
#include<set>
using namespace std;
vector<int>ans;
set<int>s;
int T,n;
int main(){ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);cin>>T;while(T--){cin>>n;s.clear();ans.clear();for(int i=0;i<n;i++){int x;cin>>x;if(s.count(x)==0){s.insert(x);ans.push_back(x);}}for(int x:ans) cout<<x<<" ";cout<<endl;}return 0;
}

ACwing 3466. 清点代码库(map+vector)

#include<iostream>
#include<algorithm>
#include<vector>
#include<map>
using namespace std;
map<vector<int>,int>mapp;
int main(){ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);int n,m;cin>>n>>m;for(int i=1;i<=n;i++){vector<int>num;for(int j=1;j<=m;j++){int x;cin>>x;num.push_back(x);}mapp[num]++;}cout<<mapp.size()<<endl;vector<pair<int,vector<int>>>ans;for(auto p:mapp){ans.push_back({-p.second,p.first});}sort(ans.begin(),ans.end());for(auto x:ans){cout<<x.first*(-1)<<" ";for(auto y:x.second) cout<<y<<" ";cout<<endl;}return 0;
}

 ACwing 138. 兔子与兔子(字符串哈希)

#include<iostream>
#include<cstring>
using namespace std;
const int px=131,N=1e6+5;
unsigned long long h[N],p[N];
char s[N];
int n;
unsigned long long get_vlaue(int l,int r){return h[r]-h[l-1]*p[r-l+1];
}
int main(){scanf("%s",s+1);p[0]=1;int len=strlen(s+1);for(int i=1;i<=len;i++){h[i]=h[i-1]*px+s[i]-'a'+1;p[i]=p[i-1]*px;}scanf("%d",&n);while(n--){int l1,r1,l2,r2;scanf("%d %d %d %d",&l1,&r1,&l2,&r2);if(get_vlaue(l1,r1)==get_vlaue(l2,r2)) puts("Yes");else puts("No");}return 0;
}

 ACwing 4951. 整理账本(map+vector)

#include<iostream>
#include<algorithm>
#include<vector>
#include<map>
using namespace std;
map<int,int>mapB;
map<int,int>mapS;
typedef pair<int,int> pii;
vector<pii>ansB;
vector<pii>ansS;
int n,m;
int main(){cin>>n>>m;for(int i=0;i<n;i++){char a;int b,c;cin>>a>>b>>c;if(a=='B'){if(mapB.count(b)) {mapB[b]+=c;continue;}mapB[b]=c;}else{if(mapS.count(b)) {mapS[b]+=c;continue;}mapS[b]=c;}}for(auto x:mapB) ansB.push_back({x.first,x.second});for(auto x:mapS) ansS.push_back({x.first,x.second});sort(ansS.begin(),ansS.end());int lenS=mapS.size();for(int i=min(lenS-1,m-1);i>=0;i--) cout<<"S "<<ansS[i].first<<" "<<ansS[i].second<<endl;sort(ansB.begin(),ansB.end());int lenB=mapB.size();for(int i=lenB-1;i>=max(0,lenB-m);i--) cout<<"B "<<ansB[i].first<<" "<<ansB[i].second<<endl;return 0;
}

RC-u3 骰子游戏

  • 如果有5个相同的数字(五个同点数),输出 0 0 1,表示不需要重骰。
  • 如果有4个相同的数字(四个同点数),输出 1 1 6,表示重骰1个骰子,概率为1/6。
  • 如果有3个相同的数字且有两个相同的数字(葫芦),输出 2 11 36,表示重骰2个骰子,概率为11/36。
  • 如果骰子结果为2到6的顺子(六高顺子),输出 4 19 324,表示重骰4个骰子,概率为19/324。
  • 如果骰子结果为1到5的顺子(五高顺子),输出 1 1 6,表示重骰1个骰子,概率为1/6。
  • 如果有3个相同的数字(三个同点数),输出 2 4 9,表示重骰2个骰子,概率为4/9。
  • 如果有两个对子(两对),输出 3 4 9,表示重骰3个骰子,概率为4/9。
  • 如果有一个对子(一对),输出 3 13 18,表示重骰3个骰子,概率为13/18。
  • 其他情况,输出 2 17 18,表示重骰2个骰子,概率为17/18。

手算+模拟 AC:

#include<iostream>
#include<cstring>
using namespace std;
int n,t,a[10],cnt[10],flag[10];
//a[10]   存储骰子的结果
//cnt[10] 计数每个数字出现的次数
//flag[10]计数出现特定次数的数字的数量
int main(){cin>>n;for(int i=1;i<=n;i++){memset(cnt,0,sizeof cnt);memset(flag,0,sizeof flag);for(int j=1;j<=5;j++){cin>>t;cnt[t]++;}for(int j=1;j<=6;j++)flag[cnt[j]]++;if(flag[5]==1) cout<<0<<" "<<0<<" "<<1;else if(flag[4]==1) cout<<1<<" "<<1<<" "<<6;else if(flag[3]==1&&flag[2]==1) cout<<2<<" "<<11<<" "<<36;else if(flag[1]==5&&cnt[1]==0) cout<<4<<" "<<19<<" "<<324;else if(flag[1]==5&&cnt[6]==0) cout<<1<<" "<<1<<" "<<6;else if(flag[3]==1&&flag[1]==2) cout<<2<<" "<<4<<" "<<9;else if(flag[2]==2) cout<<3<<" "<<4<<" "<<9;else if(flag[2]==1&&flag[1]==3) cout<<3<<" "<<13<<" "<<18;else cout<<2<<" "<<17<<" "<<18;cout<<endl;}return 0;
}

RC-u4 相对论大师

答案错误 未AC (23/25):  STL+BFS

一个有向图, 每两个顶点为一组,要求找到所有同一组内的顶点路径中的最短路径

//RCu4 23
#include<iostream>
#include<cstring>
#include<vector>
#include<queue>
#include<map>
using namespace std;
const int N=2e3+5;
map<pair<string,int>,int>mapsii;
map<int,pair<string,int>>mapisi;
vector<int>path;
int n,id,G[N][N],ans=(int)1e9,flag[N],pre[N];
int bfs(int start,int end){memset(flag,0,sizeof(flag));memset(pre,0,sizeof(pre));queue<pair<int,int>>q;q.push({start,0});flag[start]=1;while(q.size()){auto t=q.front();int point=t.first;int step=t.second;if(point==end){if(step<ans){ans=step;return 1;}return -1;}q.pop();for(int i=0;i<id;i++){if(G[point][i]==1&&flag[i]==0){step++;q.push({i,step});pre[i]=point;flag[i]=1;}}}return -1;
}
int main(){ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);cin>>n;id=0;for(int i=0;i<n;i++){string a,c;int b,d;cin>>a>>b>>c>>d;int x,y;if(mapsii.count({a,b})==0){x=id++;mapsii[{a,b}]=x;}else x=mapsii[{a,b}];if(mapsii.count({c,d})==0){y=id++;mapsii[{c,d}]=y;}else y=mapsii[{c,d}];G[x][y]=1;}for(auto t:mapsii){string a=t.first.first;int b=t.first.second;int start=t.second;mapisi.insert({start,{a,b}});if(mapsii.count({a,b==0?1:0})==0) continue;int end=mapsii[{a,b==0?1:0}];if(bfs(start,end)==1){path.clear();for(int i=end;i!=start;i=pre[i]) path.push_back(i);path.push_back(start);}}for(int i=path.size()-1;i>=1;i--){int t1=path[i];int t2=path[i-1];cout<<mapisi.find(t1)->second.first<<" "<<mapisi.find(t1)->second.second<<" ";cout<<mapisi.find(t2)->second.first<<" "<<mapisi.find(t2)->second.second<<" ";}cout<<"="<<" ";cout<<mapisi.find(path[path.size()-1])->second.first<<" "<<mapisi.find(path[path.size()-1])->second.second<<" ";cout<<mapisi.find(path[0])->second.first<<" "<<mapisi.find(path[0])->second.second;cout<<endl;return 0;
}

ACwing 847. 图中点的层次

#include<iostream>
#include<cstring>
#include<vector>
#include<queue>
using namespace std;
const int N=1e5+5;
int n,m;
vector<int>G[N];
bool flag[N];
int bfs(int a,int b){memset(flag,0,sizeof flag);queue<pair<int,int>>q;q.push({a,0});flag[a]=1;while(!q.empty()){auto t=q.front();int point=t.first;int step=t.second;if(point==b) return step;q.pop();for(int i=0;i<G[point].size();i++){int nextpoint=G[point][i];if(flag[nextpoint]==0){flag[nextpoint]=1;q.push({nextpoint,step+1});}}}return -1;
}
int main(){cin>>n>>m;while(m--){int a,b;cin>>a>>b;G[a].push_back(b);}cout<<bfs(1,n)<<endl;return 0;
}

RC-u5 相对成功与相对失败

最后的排序是根据若分数不上升的排列的

令参加比赛得一分,不玩手机游戏得一分

最少有多少人撒谎,就是最多有多少人没有撒谎,即最多有多少人是符合分数不上升排列的

所以本题的本质是:最长不上升子序列长度,即动态规划

因此最终 答案 == n - 下降子序列长度

超时 未AC(17/30): 暴力法求下降子序列

#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
const int N=1e5+5;
int T,n,a[N],b[N],dp[N];
int main(){ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);cin>>T;while(T--){cin>>n;for(int i=1;i<=n;i++){int x,y;cin>>x>>y;if(x==1&&y==0) a[i]=2;else if(x==0&&y==1) a[i]=0;else a[i]=1;}for(int i=1;i<=n;i++){int x;cin>>x;b[i]=a[x];dp[i]=1;}for(int i=1;i<=n;i++) for(int j=1;j<i;j++) if(b[j]>=b[i]) dp[i]=max(dp[i],dp[j]+1);sort(dp+1,dp+1+n);cout<<n-dp[n]<<endl;}return 0;
}

优化AC: 单调贪心+二分优化查找

#include<iostream>
#include<algorithm>
#include<cstring>
#include<vector>
using namespace std;
const int N=1e5+5;
int T,n,a[N],b[N];
int main(){ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);cin>>T;while(T--){cin>>n;for(int i=1;i<=n;i++){int x,y;cin>>x>>y;if(x==1&&y==0) a[i]=2;else if(x==0&&y==1) a[i]=0;else a[i]=1;}for(int i=1;i<=n;i++){int x;cin>>x;b[i]=a[x];}vector<int>stk;stk.push_back(b[1]);for(int i=2;i<=n;i++){if(stk.back()>=b[i]) stk.push_back(b[i]);else{int l=0,r=stk.size()-1;while(l<r){int mid=(l+r)/2;if(stk[mid]>=b[i]) l=mid+1;else r=mid;}stk[l]=b[i];}}cout<<n-stk.size()<<endl;}return 0;
}

ACwing 895. 最长上升子序列

//O(n^2)
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=1e3+5;
int n,a[N],dp[N];
int main(){cin>>n;for(int i=1;i<=n;i++) cin>>a[i],dp[i]=1;for(int i=1;i<=n;i++)for(int j=1;j<=i-1;j++)if(a[j]<a[i])dp[i]=max(dp[i],dp[j]+1);sort(dp+1,dp+1+n);cout<<dp[n]<<endl;return 0;
}//O(nlongn)
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
const int N=1e5+5;
int n,a[N];
vector<int>stk;//模拟堆栈
int main(){cin>>n;for(int i=0;i<n;i++) cin>>a[i];stk.push_back(a[0]);for(int i=1;i<n;i++) {//如果该元素大于栈顶元素,将该元素入栈if(a[i]>stk.back()) stk.push_back(a[i]);//否则替换掉第一个>=这个数字的那个数else *lower_bound(stk.begin(),stk.end(),a[i])=a[i];}cout<<stk.size()<<endl;return 0;
}

相关文章:

2023睿抗CAIP-编程技能赛-本科组省赛(c++)

RC-u1 亚运奖牌榜 模拟 AC: #include<iostream> using namespace std; struct nation{int j,y,t; }a[2]; int main(){int n;cin>>n;for(int i1;i<n;i){int x,y;cin>>x>>y;if(y1) a[x].j;if(y2) a[x].y;if(y3) a[x].t;}cout<<a[0].j<<&…...

现在国内的ddos攻击趋势怎么样?想了解现在ddos的情况该去哪看?

目前&#xff0c;国内的DDoS攻击趋势显示出以下几个特征&#xff1a; 攻击频次显著增加&#xff1a;根据《快快网络2024年DDoS攻击趋势白皮书》&#xff0c;2023年DDoS攻击活动有显著攀升&#xff0c;总攻击次数达到1246.61万次&#xff0c;比前一年增长了18.1%。 攻击强度和规…...

微服务到底是个什么东东?

微服务架构是一种架构模式&#xff0c;它提倡将单一应用程序划分成一组小的服务&#xff0c;服务之间互相协调、互相配合&#xff0c;为用户提供最终价值。 每个服务运行在其独立的进程中&#xff0c;服务和服务间采用轻量级的通信机制互相沟通&#xff08;通常是基于 HTTP 的…...

C++笔试强训5

文章目录 一、选择题1-5题6-10题 二、编程题题目一题目二 一、选择题 1-5题 x1&#xff0c;先x&#xff0c;再x–&#xff0c;while判断永远为真&#xff0c;故死循环 选D。 sizeof会计算\0,strlen不包括\0,并且strlen只计算\0之前的。 所以sizeof是10&#xff0c;strken是4 …...

初学51单片机之UART串口通信

CSDN其他博主的博文&#xff08;自用&#xff09;嵌入式学习笔记9-51单片机UART串口通信_51uart串口通讯-CSDN博客 CSDN其他博主的博文写的蛮好&#xff0c;如果你想了解51单片机UART串口可以点进去看看&#xff1a; UART全称Universal Asynchronous Receiver/Transmitter即通…...

数据结构——查找(线性表的查找与树表的查找)

目录 1.查找 1.查找的基本概念 1.在哪里找&#xff1f; 2.什么查找&#xff1f; 3.查找成功与否&#xff1f; 4.查找的目的是什么&#xff1f; 5.查找表怎么分类&#xff1f; 6.如何评价查找算法&#xff1f; 7.查找的过程中我们要研究什么&#xff1f; 2.线性表…...

MySQL入门学习-深入索引.组合索引

在 MySQL 中&#xff0c;组合索引&#xff08;也称为复合索引&#xff09;是在多个列上创建的索引。以下是关于组合索引的详细信息&#xff1a; 一、组合索引的概念&#xff1a; - 组合索引是基于多个列创建的索引结构。它可以提高在这些列上进行查询的效率。 二、深入理解组…...

RABBITMQ的本地测试证书生成脚本

由于小程序要求必须访问wss的接口&#xff0c;因此需要将测试环境也切换到https&#xff0c;看了下官方的文档 RabbitMQ Web STOMP Plugin | RabbitMQ里面有这个信息 然后敲打GPT一阵子&#xff0c;把要求输入几个来回&#xff0c;得到这样一个脚本&#xff1a; generate_cer…...

记录些Redis题集(4)

Redis 通讯协议(RESP) Redis 通讯协议&#xff08;Redis Serialization Protocol&#xff0c;RESP&#xff09;是 Redis 服务端与客户端之间进行通信的协议。它是一种二进制安全的文本协议&#xff0c;设计简洁且易于实现。RESP 主要用于支持客户端和服务器之间的请求响应交互…...

JVM:垃圾回收器

文章目录 一、介绍二、年轻代-Serial垃圾回收器三、老年代-SerialOld垃圾回收器四、年轻代-ParNew垃圾回收器五、老年代-CMS&#xff08;Concurrent Mark Sweep&#xff09;垃圾回收器六、年轻代-Parllel Scavenge垃圾回收器七、Parallel Old垃圾回收器八、G1垃圾回收器 一、介…...

Golang | Leetcode Golang题解之第228题汇总区间

题目&#xff1a; 题解&#xff1a; func summaryRanges(nums []int) (ans []string) {for i, n : 0, len(nums); i < n; {left : ifor i; i < n && nums[i-1]1 nums[i]; i {}s : strconv.Itoa(nums[left])if left < i-1 {s "->" strconv.It…...

单目3D和bev综述

文章目录 SOTA2D 检测单目3d检测3d bev cam范式1 Transformer attention is all you need 20172 ViT vision transformer ICLR 2021google3 swin transformer 2021 ICCV bestpaper MS4 DETR 20205 DETR3D 20216 PETR 20227 bevformerLSSbevdetcaddn指标 mAP NDS标注&#xff1a…...

每日Attention学习11——Lightweight Dilated Bottleneck

模块出处 [TITS 23] [link] [code] Lightweight Real-Time Semantic Segmentation Network With Efficient Transformer and CNN 模块名称 Lightweight Dilated Bottleneck (LDB) 模块作用 改进的编码器块 模块结构 模块代码 import torch import torch.nn as nn import to…...

EM32DX-E4 IO 扩展模块

输入&#xff1a;0x6000-01 // 输入 0-15 6020H——00H IN0 计数【0~7】 ——01H IN0_SetCountMode S32 r/w 初始值默认为 0 设置 IN0 的计数方式&#xff1a;0 电平下 降沿&#xff0c;1 电平上升沿&#xff0c; 2 电平任意沿 ——02H IN0_Set…...

【数据结构与算法】选择排序篇----详解直接插入排序和哈希排序【图文讲解】

欢迎来到CILMY23的博客 &#x1f3c6;本篇主题为&#xff1a;【数据结构与算法】选择排序篇----详解直接插入排序和哈希排序 &#x1f3c6;个人主页&#xff1a;CILMY23-CSDN博客 &#x1f3c6;系列专栏&#xff1a;Python | C | C语言 | 数据结构与算法 | 贪心算法 | Linux…...

SpringBoot实战:多表联查

1. 保存和更新公寓信息 请求数据的结构 Schema(description "公寓信息") Data public class ApartmentSubmitVo extends ApartmentInfo {Schema(description"公寓配套id")private List<Long> facilityInfoIds;Schema(description"公寓标签i…...

解决mysql,Navicat for MySQL,IntelliJ IDEA之间中文乱码

使用软件版本 jdk-8u171-windows-x64 ideaIU-2021.1.3 mysql-essential-5.0.87-win32 navicat8_mysql_cs 这个问题我调试了好久&#xff0c;网上的方法基本上都试过了&#xff0c;终于是解决了。 三个地方结果都不一样。 方法一 首先大家可以尝试下面这种方法&#xff1a…...

虚拟环境操作

1、对虚拟环境的操作 查看虚拟环境列表 conda env list 创建虚拟环境 conda create -n 虚拟环境名称 python3.x 激活虚拟环境 conda activate 虚拟环境名称 退出虚拟环境 conda deactivate 删除虚拟环境 conda remove -n 虚拟环境名称 all 2、对虚拟环境下的包的操作…...

企业网三层架构

企业网三层架构&#xff1a;是一种层次化模型设计&#xff0c;旨在将复杂的网络设计分成三个层次&#xff0c;每个层次都着重于某些特定的功能&#xff0c;以提高效率和稳定性。 企业网三层架构层次&#xff1a; 接入层&#xff1a;使终端设备接入到网络中来&#xff0c;提供…...

node.js的安装及学习(node/nvm/npm的区别)

一、什么是node、nvm和npm 1.Node.js node.js 一种Javascript编程语言的运行环境&#xff0c;能够使得javascript能够脱离浏览器运行。以前js只能在浏览器&#xff08;也就是客户端&#xff09;上运行&#xff0c;node.js将浏览器中的javascript运行环境进行封装的&#xff0c;…...

避坑!这些毕设太好抄了,3000+毕设案例推荐第1038期

381、基于Java的对外公告智慧管理系统的设计与实现(论文&#xff0b;代码&#xff0b;PPT)对外公告智慧管理系统主要功能包括&#xff1a;会员管理、公告管理、审核任务、审核节点、审核日志、回复管理、通知管理、通知接收者、工作流管理、组织机构、消息推送、消息推送接收者…...

WeChatMsg终极方案:构建个人微信数据管理中心

WeChatMsg终极方案&#xff1a;构建个人微信数据管理中心 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeChatMsg …...

Modelsim 10.7/2019.5 破解后启动报错:HostID格式异常排查与修复

1. 破解后启动报错的典型现象 最近在折腾Modelsim 10.7和2019.5版本时&#xff0c;遇到了一个让人抓狂的问题&#xff1a;明明按照网上的破解教程一步步操作&#xff0c;环境变量也设置正确&#xff0c;但启动软件时还是弹出了license报错。这个错误提示特别有意思&#xff0c;…...

数字记忆守护者:GetQzonehistory实现QQ空间数据本地备份全攻略

数字记忆守护者&#xff1a;GetQzonehistory实现QQ空间数据本地备份全攻略 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 社交媒体数据备份的紧迫性&#xff1a;我们面临的三大核心痛点…...

基于Django REST framework的共享充电桩后台管理系统架构设计与实现

1. 为什么选择Django REST framework构建充电桩后台 第一次接触共享充电桩项目时&#xff0c;我对比了Node.js、Spring Boot和Django三个技术栈。最终选择Django REST framework&#xff08;DRF&#xff09;的原因很实在——它用30%的代码量就能实现其他框架80%的功能。特别是在…...

【紧急预警】边缘固件OTA升级因编译产物ABI不兼容导致大规模回滚?立即执行这5项ABI稳定性检查

第一章&#xff1a;边缘C编译优化概览在资源受限的边缘设备&#xff08;如嵌入式控制器、IoT网关、车载ECU&#xff09;上运行C应用时&#xff0c;编译阶段的优化决策直接影响内存占用、启动延迟与实时响应能力。与云端服务器不同&#xff0c;边缘场景通常面临固定ROM/RAM容量、…...

零成本解锁游戏串流新姿势:Sunshine自托管服务器全攻略

零成本解锁游戏串流新姿势&#xff1a;Sunshine自托管服务器全攻略 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 价值定位&#xff1a;打破游戏设备边界的开源方案 痛点-方案-收…...

TranslucentTB终极指南:Windows任务栏透明化专业解决方案

TranslucentTB终极指南&#xff1a;Windows任务栏透明化专业解决方案 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB TranslucentTB是一款…...

DuiEditor入门指南:从零开始构建duilib界面(DuiDesigner替代方案)

1. DuiEditor&#xff1a;重新定义duilib界面开发体验 第一次接触duilib界面开发的朋友&#xff0c;往往会被手写XML的繁琐劝退。作为一个从2013年就开始使用duilib的老开发者&#xff0c;我深刻理解这种痛苦——每次调整布局都要反复修改XML文件&#xff0c;一个属性拼写错误就…...

若依RuoYi-Vue集成wangEditor:从零到一构建富文本内容管理模块

1. 为什么选择wangEditor与若依框架组合 在前后端分离的开发模式中&#xff0c;富文本编辑器是内容管理系统的核心组件。我实测过市面上主流的编辑器&#xff0c;wangEditor以其轻量级、易扩展的特性脱颖而出。特别是对于使用若依(RuoYi-Vue)框架的开发者来说&#xff0c;这个组…...