Codeforces Round 959 (Div. 1 + Div. 2 ABCDEFG 题) 文字讲解+视频讲解
Problem A. Diverse Game
Statement
给定 n × m n\times m n×m 的矩形 a a a, a a a 中的每一个数均在 1 ∼ n m 1\sim nm 1∼nm 之间且互不相同。求出 n × m n\times m n×m 的矩形 b b b, b b b 中的每一个数均在 1 ∼ n m 1\sim nm 1∼nm 之间且互不相同,同时 a i , j ≠ b i , j a_{i,j}\ne b_{i,j} ai,j=bi,j。
Solution
注意到 a a a 如果拉长为一个序列,则是一个长为 n m nm nm 的排列。故,如果直接翻转 a a a,则长度为偶数的时候是可行的;长度为奇数的时候,中间的位置没变,只需将第一个位置与中间的位置交换即可。
Code
void solve() {int n, m, x;cin >> n >> m;std::vector<int> opt;for (int i = 1; i <= n * m; i ++) cin >> x, opt.push_back(x);if (n * m == 1) {cout << -1 << endl;return;}reverse(opt.begin(), opt.end());if (opt.size() & 1) swap(opt[0], opt[opt.size() / 2]);for (int i = 1; i <= n * m; i ++) {cout << opt[i - 1] << " ";if (i % m == 0) cout << endl;}
}
Problem B. Fun Game
Statement
给定一个长为 n n n 的二进制序列,接下来可以进行无限次操作:
- 选择 l , r l,r l,r,将 s i s_i si 变为 s i − l + 1 ⊕ s i s_{i-l+1}\oplus s_i si−l+1⊕si。
确定是否能从 s s s 序列变为 t t t 序列。
Solution
考察 s s s 中第一个出现 1 1 1 的位置,那么后面需要翻转的位置一定可以通过这个 1 1 1 来翻转状态。形式化的,若需要变换的位置为 i i i,第一次出现的位置为 j j j,则选择区间 l = i − j + 1 , r = i l=i-j+1,r=i l=i−j+1,r=i 即可在不改变其他位置的前提下(因为 j j j 前面全为 0 0 0),翻转 i i i 位置。最后 j j j 位置自己异或自己即可。
但是如果前面存在 i i i,使得 s i = 0 , t i = 1 s_i=0,t_i=1 si=0,ti=1,则必然不存在方案,输出 NO
;反之输出 YES
。
Code
void solve() {int n;string s, t;cin >> n >> s >> t;bool ok = 0;for (int i = 0; i < n; i ++) {if (s[i] == '0' && t[i] == '1') {cout << "NO" << endl;return;}if (s[i] == '1') {cout << "YES" << endl;return;}}cout << "YES" << endl;
}
Problem C. Hungry Games
Statement
给定长为 n n n 的序列 a a a 以及变量 g g g(初始为 0 0 0),选择 l , r l,r l,r,依次遍历 l ∼ r l\sim r l∼r 中的每一个数, g = g + a i g=g+a_i g=g+ai,若 g > x g>x g>x,则令 g = 0 g=0 g=0。问存在多少个 l , r l,r l,r 使得最终 g g g 的值不为 0 0 0。
Solution
考虑枚举每一个 l l l,那么第一个使得 g g g 变 0 0 0 的位置可以轻松通过二分得出(令其为 k k k),则 l ∼ k − 1 l\sim k-1 l∼k−1 的位置均可以作为右端点。那么 k + 1 ∼ n k+1\sim n k+1∼n 有哪些位置可以作为右端点呢?注意到 k k k 位置 g g g 变 0 0 0,即和 l ′ = k l'=k l′=k 时初始状态时相同的,也就是 l ′ = k l'=k l′=k 的所有可行的右端点, l l l 位置均可以。
故,列出转移方程: f l = f k + ( k − l ) f_l=f_k+(k-l) fl=fk+(k−l)。时间复杂度 O ( n log n ) O(n\log n) O(nlogn), log \log log 来源于找 k k k。
Code
void solve() {cin >> n >> x;for (int i = 1; i <= n; i ++)cin >> a[i], a[i] += a[i - 1];for (int i = n; i >= 1; i -- ) {int l = i, r = n, res = -1;while (l <= r) {int mid = l + r >> 1;if (a[mid] - a[i - 1] > x) r = mid - 1, res = mid;else l = mid + 1;}if (res == -1) dp[i] = n - i + 1;else dp[i] = dp[res + 1] + res - i;}int res = 0;for (int i = 1; i <= n; i ++) res += dp[i];cout << res << endl;for (int i = 1; i <= n; i ++) dp[i] = 0;
}
Problem D. Funny Game
Statement
给定 n n n 个点以及序列 a a a,接下来有若干次操作:
- 选择 u , v u,v u,v,其中 ∣ a u − a v ∣ |a_u-a_v| ∣au−av∣ 是 x x x 的倍数,连接 u , v u,v u,v。
通过进行 n − 1 n-1 n−1 次操作,是否能将 n n n 个点连接成为一棵树,是则输出方案。
Solution
观察 Observation
观察样例发现全部均是 YES
,回想抽屉原理的一个应用即为证明存在性。
深入探究 Investigate Deeply
∣ a u − a v ∣ |a_u-a_v| ∣au−av∣ 是 x x x 的倍数等价于 a u ≡ a v ( m o d x ) a_u\equiv a_v\pmod x au≡av(modx),考虑倒序操作,则进行第 x x x 次操作前有 x + 1 x+1 x+1 个连通块,即可选的数有 x + 1 x+1 x+1 个,而对 x x x 取模后可行的数只有 x x x 个,通过抽屉原理,不管前面如何操作,此时必然有至少 1 1 1 组 a u ≡ a v ( m o d x ) a_u\equiv a_v\pmod x au≡av(modx),通过并查集找出即可。
综上所述,答案永远都是存在的!
Code
int find(int x) {if (par[x] != x) par[x] = find(par[x]);return par[x];
}
void solve() {cin >> n;for (int i = 1; i <= n; i ++ ) cin >> a[i];for (int i = 1; i <= n; i ++) par[i] = i;for (int i = n - 1; i >= 1; i --) {for (int j = 1; j <= n; j ++) pos[a[j] % i].push_back(j);for (int j = 0; j < n; j ++) {sort(pos[j].begin(), pos[j].end(), [&](int a, int b) { return find(a) < find(b); });if (pos[j].size() <= 1) continue;if (find(pos[j][0]) != find(pos[j].back())) {par[find(pos[j][0])] = find(pos[j].back());res.emplace_back(pos[j][0], pos[j].back());break;}}for (int j = 0; j < n; j ++) pos[j].clear();}reverse(res.begin(), res.end());cout << "YES" << endl;for (auto v : res) cout << v.fi << " " << v.se << endl;res.clear();
}
Problem E. Wooden Game
Statement
给定 k k k 棵树,第 i i i 棵树有 n i n_i ni 个节点,每次可以将任意一棵树的一个子树删除,最终的权值即为删除的子树的大小按位或和。
Solution
观察 Observation
简化:如果只有 1 1 1 棵树,则答案必为这棵树的大小。
证明:对于 x 1 + x 2 + ⋯ + x k = n x_1+x_2+\dots +x_k = n x1+x2+⋯+xk=n,则 x 1 ∣ x 2 ∣ … ∣ x k ≤ n x_1|x_2|\dots |x_k\le n x1∣x2∣…∣xk≤n。所以这说明对于一棵树,至多只存在一个子树给答案是有贡献的,而一棵树便是特殊情况,必然是这棵树的大小
深入探究 Investigate Deeply
从观察中得出,一棵树只有一个子树给答案是有贡献的,考察这棵子树的大小取值范围,由于可以不断地删除叶子节点取剩余部分,所以大小地取值范围为 [ 1 , n i ] [1,n_i] [1,ni]。
问题转化为给定 k k k 个变量 x x x,第 i i i 个变量的取值范围为 [ 1 , n i ] [1,n_i] [1,ni],求 max ( x 1 ∣ x 2 ∣ … ∣ x k ) \max(x_1|x_2|\dots |x_k) max(x1∣x2∣…∣xk)。故变为了二进制的问题,使用经典方式拆位,对于第 i i i 位:
-
如果存在大于等于 2 2 2 个 n j n_j nj 使得第 i i i 位为 1 1 1,则一个 n i n_i ni 将这一位变为 1 1 1,其余的只需这一位取 0 0 0,后面所有位取 1 1 1 即可。
-
如果存在恰好 1 1 1 个 n j n_j nj 使得第 i i i 位为 1 1 1,则只需将第 i i i 位变为 1 1 1 即可。
Code
void solve() {cin >> n;for (int i = 1; i <= n; i ++) {cin >> a[i];int x;for (int j = 2; j <= a[i]; j ++) cin >> x;}for (int i = 1; i <= n; i ++)for (int j = 0; j < 30; j ++) cnt[j] += (a[i] >> j & 1);int res = 0;for (int i = 30; i >= 0; i --) {if (cnt[i] >= 2) res |= ((1ll << i) - 1) | (1ll << i);else if (cnt[i] == 1) {res |= (1ll << i);}}cout << res << endl;for (int i = 0; i <= 30; i ++) cnt[i] = 0;
}
Problem F. Stardew Valley
Statement
给定 n n n 个点 m m m 条边的无向图,边权为 1 1 1 的边必须选,边权为 0 0 0 的边可选可不选。求该图上的一条欧拉回路(经过选过的边恰好 1 1 1 次)
Solution
观察 Observation
由于欧拉回路的判定方式为所有点的度数均为偶数,故问题转化为在选择边权为 1 1 1 的边,每个点的度数的奇偶性组成 01 01 01 序列。现在可以加入若干条边,使得两个端点的奇偶性可以异或 1 1 1。给出 1 1 1 种选择方案,将选出的边加入后跑欧拉回路即可解决问题。
深入探究 Investigate Deeply
上述问题与 ABC155F - Perils in Parallel 化为 1 1 1 道题,具体过程此处不再赘述。
聪明的人能看到事物之间的联系,更聪明的人能看到联系之间的联系。
Code
void add(int a, int b) {e[idx] = b, ne[idx] = h[a], h[a] = idx ++;
}
void dfs(int u) {st[u] = d[u], vis[u] = true;for (auto v : g[u]) {if (vis[v]) continue;dfs(v);st[u] ^= st[v];if (st[v]) add(u, v), add(v, u);}
}
void Euler_Path(int u) {for (int &i = h[u]; ~i;) {if (has[i]) { i = ne[i]; continue; }int j = e[i];has[i ^ 1] = true, i = ne[i], Euler_Path(j);}res.push(u);
}void solve() {cin >> n >> m;for (int i = 1; i <= n; i ++) h[i] = -1, vis[i] = 0, st[i] = 0, d[i] = 0, g[i].clear();while (m -- ) {int u, v, c;cin >> u >> v >> c;if (!c) g[u].emplace_back(v), g[v].emplace_back(u);else add(u, v), add(v, u), d[u] ^= 1, d[v] ^= 1;}for (int i = 1; i <= n; i ++)if (!vis[i]) {dfs(i);if (st[i]) {cout << "NO" << endl;return;}}Euler_Path(1);cout << "YES" << endl;cout << res.size() - 1 << endl;while (res.size()) cout << res.top() << " ", res.pop();cout << endl;
}
Problem G. Minecraft
Statement
给定目标 01 01 01 串 s s s 和 n n n 个 01 01 01 串 a i a_i ai,求出 01 01 01 串 x x x 使得 ∑ a i ⊕ x = s \sum a_i\oplus x=s ∑ai⊕x=s。 01 01 01 串的长度均为 k k k。
1 ≤ n , k ≤ 2 × 1 0 6 1\le n,k\le 2\times 10^6 1≤n,k≤2×106, 1 ≤ n ⋅ k ≤ 2 × 1 0 6 1\le n\cdot k\le 2\times 10^6 1≤n⋅k≤2×106
Solution
观察 Observation
二进制问题——拆位,考虑对于每一位与 s s s 匹配的方案,不过注意到存在加法,所以需要同时处理进位问题。对于第 i i i 位,这一位上填的 1 1 1 的个数不会超过 2 n 2n 2n,所以可以直接存储( 1 ≤ n ⋅ k ≤ 2 × 1 0 6 1\le n\cdot k\le 2\times 10^6 1≤n⋅k≤2×106)
深入探究 Investigate Deeply
令 f i , j f_{i,j} fi,j 表示前 i i i 位,第 i i i 位填了 j j j 个 1 1 1 是否可行。考虑转移:
{ f i , ⌊ j 2 ⌋ + c n t i ← f i + 1 , j ⌊ j 2 ⌋ + c n t i m o d 2 = s i f i , ⌊ j 2 ⌋ + n − c n t i ← f i + 1 , j ⌊ j 2 ⌋ + n − c n t i m o d 2 = s i \begin{cases} &f_{i,\lfloor\frac{j}{2}\rfloor+\mathrm{cnt}_i}\leftarrow f_{i+1,j} \qquad \lfloor\frac{j}{2}\rfloor+\mathrm{cnt}_i\bmod 2 = s_i\\ &f_{i,\lfloor\frac{j}{2}\rfloor+n-\mathrm{cnt}_i}\leftarrow f_{i+1,j}\qquad \lfloor\frac{j}{2}\rfloor+n-\mathrm{cnt}_i\bmod 2 = s_i \end{cases} {fi,⌊2j⌋+cnti←fi+1,j⌊2j⌋+cntimod2=sifi,⌊2j⌋+n−cnti←fi+1,j⌊2j⌋+n−cntimod2=si
第一种情况即为当前位 x x x 为 0 0 0,第二种情况为当前位 x x x 为 1 1 1。从 i + 1 i+1 i+1 转移过来的原因主要是要从低位向高位做(因为进位是从低位向高位的)。
Code
void solve() {int n, k;cin >> n >> k;char x;std::vector<int> s(k), cnt(k, 0);std::vector<vector<int>> a(n + 1, vector<int>(k)), dp(k, vector<int>(2 * n + 1, 0));std::vector<vector<array<int, 3>>> pre(k, vector<array<int, 3>>(2 * n + 1));for (int i = 0; i < k; i ++) cin >> x, s[i] = x & 1;for (int i = 1; i <= n; i ++) for (int j = 0; j < k; j ++) cin >> x, a[i][j] = x & 1, cnt[j] += a[i][j];if ((cnt[k - 1] & 1) == s[k - 1]) dp[k - 1][cnt[k - 1]] = 1;if ((n - cnt[k - 1] & 1) == s[k - 1]) dp[k - 1][n - cnt[k - 1]] = 1;for (int i = k - 2; i >= 0; i --)for (int j = 0; j <= 2 * n; j ++) {if (!dp[i + 1][j]) continue;int put1 = ((j >> 1) + cnt[i] & 1), put2 = ((j >> 1) + n - cnt[i] & 1);if (put1 == s[i]) dp[i][(j >> 1) + cnt[i]] |= dp[i + 1][j], pre[i][(j >> 1) + cnt[i]] = {i + 1, j, 0};if (put2 == s[i]) dp[i][(j >> 1) + n - cnt[i]] |= dp[i + 1][j], pre[i][(j >> 1) + n - cnt[i]] = {i + 1, j, 1};}if (!dp[0][s[0]]) cout << -1 << endl;else {PII lst = {0, s[0]};std::vector<int> res;while (lst.fi != k - 1) {res.push_back(pre[lst.fi][lst.se][2]);lst = {pre[lst.fi][lst.se][0], pre[lst.fi][lst.se][1]};}if (lst.se == cnt[k - 1]) res.push_back(0);else res.push_back(1);for (auto v : res) cout << v;cout << endl;}
}
视频讲解 Video Tutorial
Codeforces Round 959 sponsored by NEAR (Div. 1 + Div. 2)(A ~ G 题讲解)
相关文章:
Codeforces Round 959 (Div. 1 + Div. 2 ABCDEFG 题) 文字讲解+视频讲解
Problem A. Diverse Game Statement 给定 n m n\times m nm 的矩形 a a a, a a a 中的每一个数均在 1 ∼ n m 1\sim nm 1∼nm 之间且互不相同。求出 n m n\times m nm 的矩形 b b b, b b b 中的每一个数均在 1 ∼ n m 1\sim nm 1∼nm 之间且互…...

WSL2 Centos7 Docker服务启动失败怎么办?
wsl 安装的CentOS7镜像,安装了Docker之后,发现用systemctl start docker 无法将docker启动起来。 解决办法 1、编辑文件 vim /usr/lib/systemd/system/docker.service将13行注释掉,然后在下面新增14行的内容。然后保存退出。 2、再次验证 可以发现,我们已经可以正常通过s…...
分布式锁-redisson锁重试和WatchDog机制
抢锁过程中,获得当前线程,通过tryAcquire进行抢锁,该抢锁逻辑和之前逻辑相同。 1、先判断当前这把锁是否存在,如果不存在,插入一把锁,返回null 2、判断当前这把锁是否是属于当前线程,如果是&a…...

ESP8266模块(2)
实例1 查看附近的WiFi 步骤1:进入AT指令模式 使用USB转串口适配器将ESP8266模块连接到电脑。打开串口终端软件,并设置正确的串口和波特率(通常为115200)。输入以下命令并按回车确认: AT如果模块响应OK,…...

Docker安装笔记
1. Mac安装Docker 1.1 Docker安装包下载 1.1.1 阿里云 对于10.10.3以下的用户 推荐使用 对于10.10.3以上的用户 推荐使用 1.1.2 官网下载 系统和芯片选择适合自己的安装包 1.2 镜像加速 【推荐】阿里镜像 登陆后,左侧菜单选中镜像加速器就可以看到你的专属地…...

《昇思25天学习打卡营第21天|Pix2Pix实现图像转换》
Pix2Pix 是一种图像转换模型,使用条件生成对抗网络(Conditional Generative Adversarial Networks,cGANs)实现图像到图像的转换。它主要由生成器(Generator)和判别器(Discriminator)…...

Python和MATLAB网络尺度结构和幂律度大型图生成式模型算法
🎯要点 🎯算法随机图模型数学概率 | 🎯图预期度序列数学定义 | 🎯生成具有任意指数的大型幂律网络,数学计算幂律指数和平均度 | 🎯随机图分析中巨型连接分量数学理论和推论 | 🎯生成式多层网络…...

在jsPsych中使用Vue
jspsych 介绍 jsPsych是一个非常好用的心理学实验插件,可以用来构建心理学实验。具体的就不多介绍了,大家可以去看官网:https://www.jspsych.org/latest/ 但是大家在使用时就会发现,这个插件只能使用js绘制界面,或者…...

机器学习·概率论基础
概率论 概率基础 这部分太简单,直接略过 条件概率 独立性 独立事件A和B的交集如下 非独立事件 非独立事件A和B的交集如下 贝叶斯定理 先验 事件 后验 在概率论和统计学中,先验概率和后验概率是贝叶斯统计的核心概念 简单来说后验概率就是结合了先验概…...

c生万物系列(面向对象:封装)
本系列博客主要介绍c语言的一些屠龙技,里面包含了笔者本人的一些奇思妙想。 该系列博客笔者只是用作记录。如果你偶然找到了这篇博客,但是发现不知所云,请不要过多投入时间,可能笔者本人那时候也看不懂了。 笔者决定用c语言模仿…...

当当网数据采集:Scrapy框架的异步处理能力
在互联网数据采集领域,Scrapy框架以其强大的异步处理能力而著称。Scrapy利用了Python的异步网络请求库,如twisted,来实现高效的并发数据采集。本文将深入探讨Scrapy框架的异步处理能力,并展示如何在当当网数据采集项目中应用这一能…...
React——useEffect和自定义useUpdateEffect
useEffect 是React的一个内置Hook,用于在组件渲染后执行副作用(例如数据获取、订阅或手动更改DOM)。它将在第一次渲染后和每次更新后都会执行。 useEffect(() > {// 这里的代码将在组件挂载和更新时执行。 }, [dependencies]); // depend…...
Hadoop大数据处理架构中ODB、DIM、DWD、DWS
在Hadoop的大数据处理架构中,ODS、DIM、DWD和DWS分别代表了数据仓库体系中不同的层次和功能。下面解释这几个概念: ODS (Operational Data Store) 想象你有一家超市,每天营业结束后,你会把当天所有的销售记录、顾客信息、商品库…...

【刷题汇总 -- 爱丽丝的人偶、集合、最长回文子序列】
C日常刷题积累 今日刷题汇总 - day0211、爱丽丝的人偶1.1、题目1.2、思路1.3、程序实现 2、集合2.1、题目2.2、思路2.3、程序实现 -- set 3、最长回文子序列3.1、题目3.2、思路3.3、程序实现 -- dp 4、题目链接 今日刷题汇总 - day021 1、爱丽丝的人偶 1.1、题目 1.2、思路 …...

基于vue3 + vite产生的 TypeError: Failed to fetch dynamically imported module
具体参考这篇衔接: Vue3报错:Failed to fetch dynamically imported module-CSDN博客 反正挺扯淡的,错误来源于基于ry-vue-plus来进行二次开发的时候遇到的问题。 错误起因 我创建了一个广告管理页面。然后发现访问一直在加载中。报的是这样…...

批量自动添加好友,高效拓展人脉圈.
随着微信使用数量的不断增加,手动添加好友成为了一项耗时且繁琐的任务。为了帮助大家解决这个问题,下面分享一款高效的微信管理系统,它能够帮助你实现批量自动添加好友,极大提升了人脉拓展的效率。 这款微信管理系统可以同时管理多…...

Web开发:一个可拖拽的模态框(HTML、CSS、JavaScript)
目录 一、需求描述 二、实现效果 三、完整代码 四、实现过程 1、HTML 页面结构 2、CSS 元素样式 3、JavaScript动态控制 (1)获取元素 (2)显示\隐藏遮罩层与模态框 (3)实现模态框拖动效果 一、需求…...
【深度学习】fooocusapi,docker,inpainting图像
基础镜像制作来源 fooocusapi接口官方写的: docker run -d --gpusall \-e NVIDIA_DRIVER_CAPABILITIEScompute,utility \-e NVIDIA_VISIBLE_DEVICESall \-p 8888:8888 konieshadow/fooocus-api会下载一些模型,下载完后推这个镜像 docker commit 4dfd1…...

算法017:二分查找
二分查找. - 备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/binary-search/ 二分查找,其实是双指针的一种特殊情况,但是时间复杂度极低&#…...

谷粒商城实战笔记-37-前端基础-Vue-基本语法插件安装
文章目录 一,v-model1,双向绑定2,vue的双向绑定2.1 html元素上使用指令v-model2.2 model中声明对应属性2.3,验证view绑定modelmodel绑定view 完整代码 二,v-on1,指令简介2,在button按钮中添加v-…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...

C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...
Java 8 Stream API 入门到实践详解
一、告别 for 循环! 传统痛点: Java 8 之前,集合操作离不开冗长的 for 循环和匿名类。例如,过滤列表中的偶数: List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...

用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...