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-…...
mybatis中的缓存(一级缓存、二级缓存)
文章目录 前言一、MyBatis 缓存概述二、一级缓存1_初识一级缓存2_一级缓存命中原则1_StatementId相同2_查询参数相同3_分页参数相同4_sql 语句5_环境 3_一级缓存的生命周期1_缓存的产生2_缓存的销毁3_网传的一些谣言 4_一级缓存核心源码5_总结 三、二级缓存1_开启二级缓存2_二级…...
实现自动化采购:食堂采购系统源码开发详解
本篇文章,笔者将详细介绍食堂采购系统的开发过程,从需求分析、系统设计到实现和测试,为您全面解析如何构建一个高效的自动化采购系统。 一、需求分析 1.采购计划管理 2.供应商管理 3.订单管理 4.库存管理 5.财务管理 6.数据分析与报告 …...
linux、windows、macos清空本地DNS缓存
文章目录 Linux:Windows:macOS: Linux: 对于使用systemd的操作系统(如CentOS 7、Ubuntu 16.04),可以使用以下命令重启systemd-resolved服务来清除缓存: sudo systemctl restart sys…...
领夹麦克风哪个品牌好,电脑麦克风哪个品牌好,热门麦克风推荐
在信息快速传播的时代,直播和视频创作成为了表达与交流的重要方式。对于追求卓越声音品质的创作者而言,一款性能卓越的无线麦克风宛如一把利剑。接下来,我要为大家介绍几款备受好评的无线麦克风,这些都是我在实际使用中体验良好…...
【第5章】Spring Cloud之Nacos服务注册和服务发现
文章目录 前言一、提供者1. 引入依赖2.配置 Nacos Server 地址3. 开启服务注册 二、消费者1. 引入依赖2.配置 Nacos Server 地址3. 开启服务注册 三、服务列表四、服务发现1. 获取服务列表2. 测试2.1 获取所有服务2.2 根据服务名获取服务信息 五、更多配置项总结 前言 本节通过…...
Springboot 启动时Bean的创建与注入(一)-面试热点-springboot源码解读-xunznux
Springboot 启动时Bean的创建与注入,以及对应的源码解读 文章目录 Springboot 启动时Bean的创建与注入,以及对应的源码解读构建Web项目流程图:堆栈信息:堆栈信息简介堆栈信息源码详解1、main:10, DemoApplication (com.xun.demo)2…...
单调栈(随缘复习到了,顺手刷了)
也是不知道为什么突然又复习到单调栈了,所以顺手刷了三道题,总结一下 P6503 [COCI2010-2011#3] DIFERENCIJA 思路:这题是要求每个子区间里面的最大值和最小值的差,我们一开始想的必然是纯暴力呀,但是一看这数据&#…...
学习测试10-3自动化 web自动化
web自动化 chrome驱动下载地址: https://registry.npmmirror.com/binary.html?pathchromedriver/ https://googlechromelabs.github.io/chrome-for-testing/#stable观察Google版本,下相应的驱动 运行代码试试,成功Google就会弹出 from se…...
安防视频监控EasyCVR视频汇聚平台修改配置后无法启动的原因排查与解决
安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台基于云边端一体化架构,兼容性强、支持多协议接入,包括国标GB/T 28181协议、部标JT808、GA/T 1400协议、RTMP、RTSP/Onvif协议、海康Ehome、海康SDK、大华SDK、华为SDK、宇视SDK、乐橙SDK、萤石云SD…...
爬虫学习2:爬虫爬取网页的信息与图片的方法
爬虫爬取网页的信息与图片的方法 爬取人物信息 import requestshead {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0" } # 这是get请求带参数的模式…...
可以做空股票的网站/百度有钱花人工客服
有点散乱, 将就着看吧. 首先是博弈论的基础, 即 N 和 P 两种状态: N 为必胜状态, P 为必败状态. 对于N, P两种状态, 则有 1. 没有任何合法操作的状态, P; 2. 可以移动到P局面的情况为N状态; 3. 可以移动到的所有状态均为N状态, 则当前情况为P状态. 然后就可以引入SG函数了…...
郑州大学现代远程教育 《网页设计与网站建设》个人主页/短视频seo软件
近期开发工程的感触很深,发现通过这几年来我构建自己的知识体系趋于完善的同时出现的分支,这个类似树。深刻理解古代智慧和自然哲学原理。 从无序中寻找有序,这是我对图像的一句总描述。前段时间由于一个项目初步计划和赵博晚上聊了一下&…...
wordpress禁用编辑器/网站建设策划书
配置EPEL(企业版Linux软件附加包) yum install epel-release.noarch yum repolist 如果显示的信息里面有epel,则安装成功。 安装MySQL Workbench yum install mysql-workbench-community 确认后,系统下载依赖的包,然后安装。 安装完成后&am…...
wordpress 获取当前位置/无锡百度推广开户
目录 前言 一、ImportBeanDefinitionRegistrar 方式一 方式二 二、EnableDubboConfig与DubboComponentScan 三、DubboConfigConfigurationRegistrar与DubboComponentScanRegistrar 扫描并注册Service Bean 扫描并注册Reference Bean 四、EnableDubbo 五、要点总结 前…...
做网站服务销售/网站推广工具有哪些
当前主流编程语言的垃圾收集器基本上都是依靠可达性分析算法来判定对象是否存活的,可达性分析算法理论上要求全过程都基于一个能保障一致性的快照中才能够进行分析,这意味着必须全程冻结用户线程的运行。 在根节点枚举这个步骤中,由于 GC Ro…...
温州市手机网站制作哪家好/项目优化seo
前言 Java是目前应用最为广泛的软件开发平台之一。随着Java以及Java社区平台的不断壮大,Java也早已不再是简简单单的一门计算机语言了,它更是一个平台、一种文化、一个社区。 作为一个平台,Java虚拟机扮演者举足轻重的作用,依赖于…...