2024 睿抗机器人开发者大赛CAIP-编程技能赛-本科组(国赛) 解题报告 | 珂学家
前言
题解
2024 睿抗机器人开发者大赛CAIP-编程技能赛-本科组(国赛)。
国赛比省赛难一些,做得汗流浃背,T_T.
RC-u1 大家一起查作弊
分值: 15分
这题真的太有意思,看看描述
在今年的睿抗比赛上,有同学的提交代码如下:
public void asfiasfgwef12() {int tsadflas=3;int masf11233=2;int[]wasdf1213= new int[10 +1];int[] vasf124l = new int[10 + I];int[][] ddasf1234p= new int[masf11233
你肯定很奇怪,这看上去代码似乎不像是正常写出来的代码呀?没错,这是这位同学在网络上购买了所谓的“保研综测套餐”,商家为逃避赛后查重,给这位同学发去了经过混淆的代码。然而经过技术支持方的努力,这位同学不仅被封禁,与 TA 购买了相同“套餐”的同学也利用技术手段全部查出,目前主办方已向警方报案,这些同学的“保研”梦很有可能会转变为“案底”梦……因此如果你在比赛前也购买了类似的服务,现在迷途知返还来得及——毕竟这个商家起码还做了一些努力,许多商家号称“一对一”,实际上将一份代码发给了数十位同学……
题外话,这个混淆方式是不是挺眼熟。
言归正传,这题已经构建一个模型,只要按要求编写即可,模拟。
#include <bits/stdc++.h>using namespace std;int judge(char c) {if (c >= 'a' && c <= 'z') return 1;else if (c >= 'A' && c <= 'Z') return 2;else if (c >= '0' && c <= '9') return 4;return 0;
}int main() {int score = 0;int tot = 0, cnt = 0;string line;while (getline(cin, line)) {int i = 0;int n = line.size();while (i < n) {if (judge(line[i]) == 0) {i++;continue;}int j = i + 1;while (j < n && judge(line[j]) != 0) {j++;}int mask = 0;for (int t = i; t < j; t++) {mask |= judge(line[t]);}if (mask == 7) {score += 5;} else if (mask == 6 || mask == 5) {score += 3;} else if (mask == 3) {score += 1;}cnt++;tot += (j - i); i = j;}}cout << score << '\n';cout << tot << " " << cnt << '\n';return 0;
}
RC-u2 谁进线下了?II
分值: 20分
题型: 阅读理解 + 模拟
需要注意:
- 不要输出未参赛的队伍分数
#include <bits/stdc++.h>using namespace std;int tabs[] = {0, 25, 21, 18, 16, 15, 14, 13, 12, 11, 10,9, 8, 7, 6, 5, 4, 3, 2, 1, 0};int main() {int t;cin >> t;vector<int> vis(30);vector<int> scores(30);while (t-- > 0) {for (int i = 0; i < 20; i++) {int c, r;cin >> c >> r;scores[c - 1] += tabs[r];vis[c - 1] = 1;}}vector<array<int, 2>> arr;for (int i = 0; i < 30; i++) {arr.push_back({i, scores[i]});}sort(arr.begin(), arr.end(), [](auto &a, auto &b) {if (a[1] != b[1]) return a[1] > b[1];return a[0] < b[0];});int m = arr.size();for (int i = 0; i < m;i++) {if (vis[arr[i][0]] == 1) {cout << (arr[i][0] + 1) << " " << arr[i][1] << '\n';}}return 0;
}
RC-u3 势均力敌
分值: 25 分
思路: 枚举 + 折半查找(meet in middle)
利用 c++自带的permutation函数簇,生成所有的排列
当n=4时,排列最多为24个
此时有常规的思路,0-1背包,但值域太大的
考虑到24个,可以运用位运算枚举,然后折半加速
#include <bits/stdc++.h>using namespace std;struct K {int64_t k;int v;bool operator<(const K&lhs) const {if (k != lhs.k) return k < lhs.k;return v < lhs.v;}
};int main() {int n;cin >> n;vector<int> arr(n);for (int& x: arr) cin >> x;sort(arr.begin(), arr.end());int64_t sum = 0;vector<int> vals;do {int w = 0;for (auto &v: arr) w = w * 10 + v;vals.push_back(w);sum += (int64_t)w * w;} while(next_permutation(arr.begin(), arr.end()));if (sum % 2 == 1) {return 0;}// meet in middle 的枚举技巧int cnt = vals.size() / 2;int mask = 1 << cnt;map<K, int> hp;for (int i = 0; i < mask; i++) {int64_t tsum = 0, z = 0;for (int j = 0; j < cnt; j++) {if ((i & (1 << j)) != 0) {tsum += (int64_t)vals[j+cnt] * vals[j + cnt];z ++;}}hp[K(tsum, z)] = i;}int ans1 = -1, ans2 = -1;for (int i = 0; i < mask; i++) {int64_t tsum = 0, z = 0;for (int j = 0; j < cnt; j++) {if ((i & (1 << j)) != 0) {tsum += (int64_t)vals[j] * vals[j];z ++;}}if (hp.find(K(sum/2 - tsum, cnt - z)) != hp.end()) {ans1 = i;ans2 = hp[K(sum/2 - tsum, cnt - z)];break;}}for (int i = 0; i < cnt; i++) {if ((ans1 & (1 << i)) != 0) {cout << vals[i] << '\n';}}for (int i = 0; i < cnt; i++) {if ((ans2 & (1 << i)) != 0) {cout << vals[i + cnt] << '\n';}}return 0;
}
RC-u4 City 不 City
分值: 30分
题型: 图论
其实就是变形版的Dijkstra,权值为(最短路径, 最小热度)
这边采用二分最小热度 + 最短路径验证
#include <bits/stdc++.h>using namespace std;struct K {int cost, idx;bool operator<(const K &lhr) const {return cost > lhr.cost;}
};int main() {int n, m, s, e;cin >> n >> m >> s >> e;s--; e--;vector<int> arr(n);for (int &x: arr) cin >> x;vector<vector<array<int, 2>>> g(n);for (int i = 0; i < m; i++) {int u, v, w;cin >> u >> v >> w;u--; v--;g[u].push_back({v, w});g[v].push_back({u, w});}// 引入二分算了int inf = 0x3f3f3f3f;function<int(int)> solve = [&](int limit) {vector<int> dp(n, inf);dp[s] = 0;priority_queue<K, vector<K>> pq;pq.push(K(0, s));while (!pq.empty()) {K cur = pq.top(); pq.pop();if (dp[cur.idx] < cur.cost) continue;if (cur.idx != s && arr[cur.idx] > limit) continue;for (auto &e: g[cur.idx]) {if (dp[e[0]] > cur.cost + e[1]) {dp[e[0]] = cur.cost + e[1];pq.push(K(dp[e[0]], e[0]));}}}return dp[e];};int base = solve(inf);if (base == inf) {cout << "Impossible\n"; } else {int l = 0, r = inf;while (l <= r) {int mid = l + (r - l) / 2;int ret = solve(mid);if (ret == base) {r = mid - 1;} else {l = mid + 1;}}cout << base << " " << l << "\n";}return 0;
}
RC-u5 贪心消消乐
分值: 30分
思路: 前缀和+最大子数组和问题转化
不过我觉得这题,
在消除格子后,上面的物体下滑规则没有述说清晰
这时间复杂度,其实我把控不住了,每次贪心获取最大子矩阵的和,已经优化到 O ( n 3 ) O(n^3) O(n3)
剩下的就是操作的次数了,感觉还是数据弱了
#include <bits/stdc++.h>using namespace std;const int64_t inf = 0x3f3f3f3f;
int solve(vector<vector<int>> &g, vector<int> &choice) {int n = g.size();// n * nvector<vector<int64_t>> pre(n + 1, vector<int64_t>(n + 1, 0));for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {pre[i + 1][j + 1] = pre[i + 1][j] + pre[i][j + 1] - pre[i][j];if (g[i][j] == 0) pre[i + 1][j + 1] += -inf * 2;else pre[i + 1][j + 1] += g[i][j];}}int64_t ansW = 0;// O(n^3)for (int j = 0; j < n; j++) {for (int k = 0; k <= j; k++) {int64_t acc = 0;int up = 0;for (int i = 0; i < n; i++) {int64_t d = pre[i+1][j+1] - pre[i+1][k] - pre[i][j+1] + pre[i][k];acc += d;if (acc < 0) {acc = 0;up = i + 1;continue;}vector<int> tmp = {k+1, up + 1, j+1, i+1};if (acc > ansW) {ansW = acc;choice = {k+1, up + 1, j+1, i+1};} else if (acc == ansW && tmp < choice) {choice = {k+1, up+1, j+1, i+1};}}}}return ansW;
}void fall(vector<vector<int>> &g, vector<int> &choice) {int n = g.size();for (int i = choice[1] - 1; i <= choice[3] - 1; i++) {for (int j = choice[0] - 1; j <= choice[2] -1 ; j++) {g[i][j] = 0;}} int h = choice[3] - choice[1] + 1;for (int i = choice[1] - 2; i >= 0; i--) {for (int j = choice[0] - 1; j <= choice[2] -1 ; j++) {g[i + h][j] = g[i][j];g[i][j] = 0;}}
}int main() {ios::sync_with_stdio(false);cin.tie(nullptr); cout.tie(nullptr);int n;cin >> n;vector<vector<int>> g(n, vector<int>(n));for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {cin >> g[i][j];}}int64_t acc = 0;while (true) {vector<int> choice;int64_t ans = solve(g, choice);if (ans == 0) {break;}cout << "(" << choice[0] << ", " << choice[1] << ") (" << choice[2] << ", " << choice[3] << ") " << ans << '\n';acc += ans;fall(g, choice);}cout << acc << '\n';return 0;
}
写在最后
相关文章:
2024 睿抗机器人开发者大赛CAIP-编程技能赛-本科组(国赛) 解题报告 | 珂学家
前言 题解 2024 睿抗机器人开发者大赛CAIP-编程技能赛-本科组(国赛)。 国赛比省赛难一些,做得汗流浃背,T_T. RC-u1 大家一起查作弊 分值: 15分 这题真的太有意思,看看描述 在今年的睿抗比赛上,有同学的提交代码如下࿱…...
【生成式AI文本生成实战】从GPT原理到企业级应用开发
目录 🌟 前言🏗️ 技术背景与价值🩹 当前技术痛点🛠️ 解决方案概述👥 目标读者说明 🧠 一、技术原理剖析📊 核心概念图解💡 核心作用讲解🔧 关键技术模块说明⚖️ 技术选…...
【目标检测】RT-DETR
DETRs Beat YOLOs on Real-time Object Detection DETR在实时目标检测任务中超越YOLO CVPR 2024 代码地址 论文地址 0.论文摘要 YOLO系列因其在速度与精度间的均衡权衡,已成为实时目标检测领域最受欢迎的框架。然而我们观察到,非极大值抑制…...
数据库行业竞争加剧,MySQL 9.3.0 企业版开始支持个人下载
最新发现,Oracle 官方网站放开了 MySQL 9.3.0 企业版下载链接,个人用户也可以免费下载,不过只能用于学习、开发或者原型测试,不能用于生产环境。 通常我们都是下载 MySQL 社区版,不过 MySQL 企业版可以支持更多高级功能…...
QMK宏全面实战教程:从入门到精通(附17个实用案例)(理论部分)
🎯 QMK宏全面实战教程:从入门到精通(附17个实用案例) 大家好!作为一名机械键盘DIY爱好者和QMK固件深度玩家,今天我要带大家彻底掌握QMK宏的使用技巧!无论你是刚接触机械键盘的新手,还是想提升定制化水平的老玩家,这篇包含17个实战案例的教程都能满足你的需求! 🔍…...
H3C网络设备(交换机、路由器、防火墙)常用命令整理
H3C网络设备(交换机、路由器、防火墙)的常用命令整理。 一、H3C交换机常用命令 1. 基础操作 命令说明system-view进入系统视图quit返回上一级视图save保存配置display current-configuration查看当前配置(类似 show run)display…...
从前序与中序遍历序列构造二叉树(中等)
先从前序遍历列表取出第一个元素,这个元素就是根节点,然后从中序遍历中找到这个根节点,节点左侧就是该节点的左子树的节点集合,右侧就是该节点的右侧节点集合,然后递归构建左右子树。 /*** Definition for a binary t…...
ASP.NET/IIS New StreamContent(context.Request.InputStream) 不会立即复制整个请求流的内容到内存
StreamContent 的工作原理与内存占用 New StreamContent(context.Request.InputStream) 不会立即复制整个请求流的内容到内存。这个操作只是创建一个包装器,将原始的请求流(context.Request.InputStream)封装在 StreamContent 对象中&#x…...
Java大师成长计划之第24天:Spring生态与微服务架构之分布式配置与API网关
📢 友情提示: 本文由银河易创AI(https://ai.eaigx.com)平台gpt-4-turbo模型辅助创作完成,旨在提供灵感参考与技术分享,文中关键数据、代码与结论建议通过官方渠道验证。 在微服务架构中,如何管理…...
Spring Security vs Shiro vs Sa-Token
一句话总结: Spring Security:大公司专业保安队,功能全面但配置复杂Shiro:轻便灵活的安保工具包,上手简单但功能有限Sa-Token:国产智能门禁系统,开箱即用,代码极简 对比表格&#x…...
MongoTemplate 基础使用帮助手册
前言 MongoDB 是一种流行的 NoSQL 数据库,适合存储大量的非结构化数据。MongoTemplate 是 Spring Data MongoDB 中的一个核心组件,它提供了一组丰富的 API 来与 MongoDB 进行交互。它封装了许多常见的数据库操作,使开发者能够轻松执行 CRUD 操…...
CCIE与HCIE哪个考试难度更大?
CCIE(思科认证互联网专家)与HCIE(华为认证ICT专家)的考试难度差异体现在技术体系、实验要求及评分标准。2023年全球数据显示,CCIE通过率约25%,HCIE通过率32%,但通过率不能完全反映实际挑战。 C…...
子查询对多层join优化记录
需求背景 查询某个用户是否具有某个角色 表 CREATE TABLE mdm_platform_role_user (ID bigint NOT NULL AUTO_INCREMENT,ROLE_ID varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,USER_ID varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci …...
容器编排利器-k8s入门指南
Kubernetes(K8s)入门指南:容器编排利器 什么是 Kubernetes? Kubernetes(常简称为K8s)是一个开源的容器编排平台,由 Google 开源并交由云原生计算基金会(CNCF)管理。它可以帮助我们自动化部署、扩展和管理容器化应用程序。 为什么需要 Kubernetes? 在微服务架构盛行的今…...
MyBatis—动态 SQL
MyBatis—动态 SQL 一、动态 SQL 的核心作用 动态 SQL 主要解决以下问题: 灵活性:根据不同的输入参数生成不同的 SQL 语句(如条件查询、批量操作)。 可维护性:减少重复代码,通过标签化逻辑提高 SQL 可读…...
解决“VMware另一个程序已锁定文件的一部分,进程无法访问“
问题描述 打开VMware里的虚拟机时,弹出"另一个程序已锁定文件的一部分,进程无法访问"如图所示: 这是VM虚拟机的保护机制。虚拟机运行时,为防止数据被篡改,会将所运行的文件保护起来。当虚拟机崩溃或者强制…...
如何创建一个不可变类
写在前面 如果对象在构造后无法更改,则该对象是不可变的。不可变对象不会以任何方式暴露其他对象来修改其状态; 对象的字段仅在构造函数内初始化一次,并且永远不会再次更改。 1.不可变类的用法 如今,每个软件应用程序的*“必备”规范都是分…...
outbox架构解说
Outbox 模式是一种用于实现数据一致性的架构模式,特别是在微服务架构中。 它确保在处理事务时,数据的原子性和最终一致性。 Outbox 模式的详细解说: 1. 概念与背景 背景:在微服务架构中,一个操作可能涉及多个服务&…...
PT2020 20触控I2C输出IC
1.产品概述 ● PT2020是一款电容式触摸控制ASIC,支持20通道触摸输入,I2C键值输出。可通过I2C调节灵敏度以及功能设置。算法带有走线自补偿功能,具有高抗干扰、宽工作电压范围的突出优势。适用于小家电,智能门锁等消费类…...
【GAN网络入门系列】一,手写字MINST图片生成
🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 博主简介:努力学习的22级本科生一枚 🌟;探索AI算法,C,go语言的世界;在迷茫中寻找光芒…...
数据备份与恢复方案
数据备份与恢复方案 一.背景 为确保公司信息安全,防止关键数据丢失,应对突发事件,特制定全面的数据备份与恢复方案。该方案将对公司的各类文件资料进行分级管理,并针对不同级别的数据设定相应的备份策略和恢复流程。 二…...
Go的单测gomock及覆盖率命令
安装gomock: go get github.com/golang/mock/gomockgo get github.com/golang/mock/mockgen 使用 mockgen 生成 mock 代码: 参考 mockgen -sourceservice/user.go -destinationservice/mocks/mock_user_service.go -packagemocks go test -coverprofilecoverage.out…...
淘宝商家层级存在流量上限怎么办,如何突破流量上限?
在淘宝平台运营中,许多商家都会遇到一个共同难题:随着店铺层级的提升,流量增长却逐渐触及天花板。这种现象背后隐藏着平台复杂的流量分配机制,但并非无法破解。 一、流量上限的底层逻辑 淘宝根据商家层级(1-7层&…...
【linux】Web服务—搭建nginx+ssl的加密认证web服务器
准备工作 步骤: 一、 新建存储网站数据文件的目录 二、创建一个该目录下的默认页面,index.html 三、使用算法进行加密 四、制作证书 五、编辑配置文件,可以选择修改主配置文件,但是不建议 原因如下: 自定义一个配置文…...
MySQL MCP 使用案例
## 概述 MySQL MCP(MySQL Multi-Channel Protocol)是MySQL的多通道协议实现,提供了高效的数据库连接池和负载均衡功能。本文档将介绍MySQL MCP的基本使用方法和常见案例。 ## 环境准备 ### 安装MySQL MCP bash pip install mysql-mcp ### 基…...
C#中UI线程的切换与后台线程的使用
文章速览 UI线程切换示例 后台线程使用示例 两者对比适用场景Application.Current.Dispatcher.InvokeTask.Factory.StartNew 执行同步性Application.Current.Dispatcher.InvokeTask.Factory.StartNew 一个赞,专属于你的足迹! UI线程切换 在WPF应用程序…...
实验-实现向量点积-RISC-V(计算机组成原理)
目录 一、实验内容 二、实验步骤 三、源代码 四、实现效果 五、实验环境 六、实验小结与思考 一、实验内容 首先,我们用一个简单的“向量点积”运算作为热身。你将拿到一个不完整的汇编代码“task2-向量点积”,我们的目标是按照C语言描述的功能&a…...
【软考 霍夫曼编码的文档压缩比】
霍夫曼编码的文档压缩比计算基于字符频率的最优编码分配,以下是详细步骤及相关案例: 一、压缩比计算公式 [ \text{压缩比} \frac{\text{压缩前总比特数}}{\text{压缩后总比特数 编码表存储开销}} ] 通常以 比率(如 3:1) 或 百分…...
skywalking使用教程
skywalking使用教程 一、介绍 skywalking 1.1 概念 skywalking是分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。SkyWalking 是观察性分析平台和应用性能管理系统,提供分布…...
Tor推出Oniux新工具:为Linux应用提供网络流量匿名化
Tor项目近日发布了名为Oniux的新型命令行工具,该工具可将任何Linux应用程序的网络流量安全地路由至Tor网络,实现匿名化连接。 基于Linux命名空间的隔离技术 与依赖用户空间技巧的torsocks等传统方法不同,Oniux利用Linux命名空间(…...
LLaMA-Factory微调大模型Qwen2.5
1、开始ModelScope社区GPU环境 训练或微调模型都是非常耗费算力的。如果电脑的配置不高,可使用一些云服务器来做这项工作。如ModelScope(魔搭)社区的GPU环境,目前提供36小时免费运算,足够微调一个大模型了。 注册ModelScope(魔搭)社区账号(可能还要注册或认证阿里云账号)…...
docker(四)使用篇二:docker 镜像
在上一章中,我们介绍了 docker 镜像仓库,本文就来介绍 docker 镜像。 一、什么是镜像 docker 镜像本质上是一个 read-only 只读文件, 这个文件包含了文件系统、源码、库文件、依赖、工具等一些运行 application 所必须的文件。 我们可以把…...
算法练习:19.JZ29 顺时针打印矩阵
错误原因 总体思路有,但不够清晰,一直在边调试边完善。这方面就养成更好的构思习惯,以及涨涨经验吧。 分析: 思路:找规律 两个坑: 一次循环的后半段是倒着遍历的是矩阵不是方阵,要考虑行列…...
如何使用 Solana Yellowstone gRPC 重新连接和重放插槽
Yellowstone gRPC 是一个功能强大、可用于生产环境且经过实战检验的工具,用于流式传输实时的 Solana 数据。但在实际条件下,网络中断或服务器重启可能导致连接中断。如果没有适当的重连策略,你的应用程序可能会错过区块链的关键更新。 为了防…...
踩坑:uiautomatorviewer.bat 打不开
错误信息 运行 sdk\tools\bin\uiautomatorviewer.bat 报错 -Djava.ext.dirs..\lib\x86_64;..\lib is not supported. Use -classpath instead. Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit. 原因 java版…...
天能股份SAP系统整合实战:如何用8个月实现零业务中断的集团化管理升级
目录 天能股份SAP系统整合案例:技术驱动集团化管理的破局之路 一、企业背景:新能源巨头的数字化挑战 二、项目难点:制造业的特殊攻坚战 1. 生产连续性刚性需求 2. 数据整合三重障碍 3. 资源限制下的技术突围 三、解决方案:S…...
oracle主备切换参考
主备正常切换操作参考:RAC两节点->单机 (rac和单机的操作区别:就是关闭其它节点,剩一个节点操作即可) 1.主库准备 检查状态 SQL> select inst_id,database_role,OPEN_MODE from gv$database; INST_ID DATA…...
PHP 与 面向对象编程(OOP)
PHP 是一种支持面向对象编程(OOP)的多范式语言,但其面向对象特性是逐步演进而非原生设计。以下是关键分析: 1. PHP 对面向对象编程的支持 核心 OOP 特性: 类和对象: PHP 支持通过 class 关键字定义类&…...
预测模型开发与评估:基于机器学习的数据分析实践
在当今数据驱动的时代,预测模型已成为各行各业决策制定的核心工具。本文将分享我在COMP5310课程项目中开发预测模型的经验,探讨从数据清洗到模型优化的完整过程,并提供详细的技术实现代码。 ## 研究问题与数据集 ### 研究问题 我们的研究聚焦…...
2026《数据结构》考研复习笔记四(绪论)
绪论 前言时间复杂度分析 前言 由于先前笔者花费约一周时间将王道《数据结构》知识点大致过了一遍,圈画下来疑难知识点,有了大致的知识框架,现在的任务就是将知识点逐个理解透彻,并将leetcode刷题与课后刷题相结合。因此此后的过…...
2025-5-16Vue3快速上手
1、reactive创建 对象类型的响应式数据 (1) (2)reactive包裹的对象类型数据是Proxy对象类型 2、ref 创建对象类型的响应式数据 (1)使用js修改ref的数据时依然要加.value (2)ref的底层是用reactive做响应式数据的,因为…...
Lua中使用module时踩过的坑
在lua中设置某个全局对象(假如对象名为LDataUser)为nil时, LDataUser并不会变成nil, 但在有些情况下设置LDataUser nil时却真变成了nil,然后会导致后续再使用LDataUser时会抛nil异常, 后来发现是使用module搞的鬼,下面看看豆包AI给的解释,还…...
WinSCP用户管理FTP详解
1、下载winscp 官方下载地址:https://winscp.net/eng/index.php 2、登录ftp 3、桌面快捷键 4、首页介绍 5、文件搜索 模糊查询,关键字两边必须加’ * ‘号 6、编码报错 报错原因:使用’936(ANS/OEM-简体中尉GBK)’编…...
python基础语法(三-中)
基础语法3: 2.列表与元组: <1>.列表、元组是什么? 都用来存储数据,但是两者有区别,列表可变,元组不可变。 <2>.创建列表: 创建列表有两种方式: [1].a 【】&#x…...
NLP双雄争霸:GPT与BERT的生成-理解博弈——从技术分野到产业融合的深度解码
NLP双雄争霸:GPT与BERT的生成-理解博弈——从技术分野到产业融合的深度解码 前言: 在自然语言处理(NLP)的版图上,GPT与BERT如双子星般照亮了智能时代的语言星空。一个是凭借千亿参数横扫生成任务的“文本造物主”&…...
JS手写代码篇---手写 instanceof 方法
2、手写 instanceof 方法 instancecof用于检测一个对象是否是某个构造函数的实例。它通常用于检查对象的类型,尤其是在处理继承关系时。 eg: const arr [1,2,3,4,5]console.log(arr instanceof Array); // trueconsole.log(arr instanceof Object); // true那这是…...
浮点数截断法:四舍五入的精确模拟
理论解释: 1. 目标 假设 a 3.14159,我们想四舍五入到 小数点后两位(即 3.14 或 3.15)。 2. 步骤拆解 (1) a * 100 把 a 放大 100 倍,让小数点后两位变成整数部分: 3.14159 * 100 314.159 (2) 0.5 关…...
c++ 类的语法3
测试下默认构造函数。demo1: void testClass3() {class Demo { // 没显示提供默认构造函数,会有默认构造函数。public:int x; // 普通成员变量,可默认构造};Demo demo1;//cout << "demo1.x: " << demo1.x << en…...
EasyExcel导出excel再转PDF转图片详解
封装EasyExcel导出工具类 相关的依赖自己网上搜索加上,这里不在阐述 Slf4j Service public class AgentExcelUtils {public String syncDynamicHeadWrite(String fileName,String sheetName,List<List<String>> headList,List<?> data) throws…...
【知识产权出版社-注册安全分析报告-无验证方式导致安全隐患】
前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 1. 暴力破解密码,造成用户信息泄露 2. 短信盗刷的安全问题,影响业务及导致用户投诉 3. 带来经济损失,尤其是后付费客户,风险巨大,造…...