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

NOIP 集训日记(学术)

学术版。

9.9

P4117 [Ynoi2018] 五彩斑斓的世界

分块神题。
拿到题以后发现不能直接做,然后你就开始观察。
设区间最大值为 \(maxn\) ,查询的数为 \(x\)
一个显然的性质:

  • 把所有小于等于 \(x\) 的数加上 \(x\) ,然后区间减 \(x\) ,得到的结果不变。

然后我们思考一下,发现有一个比较套路的对区间数的情况进行分讨,这个分讨非常妙妙

  1. 定义一个删除标记 \(del\) ,如果 \(2x\le maxn\) ,那么直接按照上面的性质处理,再把标记加 \(x\)
  2. 否则我们直接按题意修改。

为什么是对的?因为每次操作之后显然元素差值不断变小,那么我们发现它实质上次数是 \(O(n)\) 的,它就非常对。
然后我们发现这个暴力修改的操作太蠢了,想想什么能快速统计相同值,啊就是并查集。这时候我们每次只需要修改 \(root\) 上的值就可以了,相同数个数只需要维护一个 \(siz\) ,因为这里并查集没有路径压缩,而是直接并入了另一个集合,所以我们就实现了 \(O(1)\) 修改。对于部分修改可以暴力重构, \(O(\sqrt n)\) 即可。
考虑查询操作,这时候就显而易见的简单了,整块查询直接返回 \(siz\) ,部分就再使用一个路径压缩的并查集查询当前位置的实际值,这部分也是 \(O(n)\) 的。
东拼西凑总时间复杂度 \(O(n \sqrt n)\) ,你现在可以通过弱化版
CF896E Welcome home, Chtholly 了。
最抽象的是这题空间只有 64MB ,直接爆炸。我们巧思一下,很明显块与块直接根本没有影响,这样我们可以把询问离线,对于每个块进行操作,这样只需要 \(O(\sqrt n)\) 的空间就可以完美实现。
注意 hack 数据是针对 \(0\) 的,额外处理一下即可,稍微卡卡常。
然后你就通过了 突刺贯穿第二分块
代码太丑了不放了。

CF1779E Anya's Simultaneous Exhibition

据说是竞赛图套路题。
懒得写了,直接搬题解

点击查看代码
#include <bits/stdc++.h>
const int N = 305;
using namespace std;
int in[N], id[N], ans[N];
signed main()
{int n;cin >> n;for (int i = 1; i <= n; i++){cout << '?' << ' ' << i << ' ';for (int j = 1; j <= n; j++)cout << (i == j ? 0 : 1);cout << endl;cin >> in[i];in[i] = n - 1 - in[i];id[i] = i;}sort(id + 1, id + n + 1, [](int x, int y){ return in[x] < in[y]; });int sum = 0;for (int i = 1; i <= n; i++){sum += in[id[i]];if (sum == i * (i - 1) / 2){for (int j = 1; j <= i; j++)ans[id[j]] = 1;break;}}cout << "! ";for (int i = 1; i <= n; i++)cout << ans[i];cout << endl;
}

9.10

#HZTG2926. 染色(color)

其实还是挺有意思的,至少我写了30min+。
需要你注意到质数里只有 \(2\) 是偶数,那我完全可以用偶数循环节卡掉限制,只要这个循环节大于 \(2\) 就行了,所以我们选择 \(4\) 。注意到在 \(n \le 6\) 时次数小于 \(4\) ,特判处理即可。

点击查看代码
#include <bits/stdc++.h>
using namespace std;
int n, cnt;
signed main()
{freopen("color.in", "r", stdin);freopen("color.out", "w", stdout);ios::sync_with_stdio(0);cin.tie(0);cin >> n;if (n > 6){cout << 4 << '\n';for (int i = 1; i <= n; i++)cnt++, cout << cnt << " ", cnt %= 4;return 0;}cout << (n + 1) / 2 << '\n';if (n % 2 == 0){for (int i = 1; i <= n; i += 2){cnt++;cout << cnt << ' ' << cnt << ' ';}}else{for (int i = 1; i <= n; i += 2){// cerr << i;cnt++;if (i == n)cout << cnt;elsecout << cnt << ' ' << cnt << ' ';}}
}

#HZTG2927. 序列(array)

纯正唐题。
答案有两部分贡献,所以有三个峰值:最大化和,最大化最小值,二者均衡。
题解甚至不告诉你怎么求,所以可以尝试各种方法通过,比如爬山和模拟退火、特别抽象的三分、特别抽象的其他方式。只要看出它是三峰就可以随意上手法搞,反正我赛时只看出来俩。
以下的代码获得 96 分,贺的某位不知名大哥的,特判数据即可通过(它甚至跑不过样例)。

点击查看代码
#include <bits/stdc++.h>
#define int long long
const int N = 2e5 + 5;
using namespace std;
int m, T, n, k, D, x;
int a[N], ansf, minb, ans1, ans2, ans3, ans;
int sum[N];
inline int read()
{int x = 0, c = getchar(), f = 0;for (; c > '9' || c < '0'; f = c == '-', c = getchar());for (; c >= '0' && c <= '9'; c = getchar())x = (x << 1) + (x << 3) + (c ^ 48);return f ? -x : x;
}
inline void write(int x)
{if (x < 0)x = -x, putchar('-');if (x > 9)write(x / 10);putchar(x % 10 + '0');
}
int calc(int i, int minb)
{return n * (i - 1) + min((x - minb * (sum[m] - sum[i])) / a[i], n) + minb * (k + m - i);
}
signed main()
{freopen("array.in", "r", stdin);freopen("array.out", "w", stdout);ios::sync_with_stdio(0);cin.tie(0);T = read();while (T--){ans = 0;n = read();m = read();k = read();D = read();for (int i = 1; i <= m; i++)a[i] = read();sort(a + 1, a + m + 1);for (int i = 1; i <= m; i++)sum[i] = sum[i - 1] + a[i];for (int i = 1; i <= m; i++){x = D - n * sum[i - 1];if (x < 0)break;minb = (x - a[i] * (n + 1)) / (sum[m] - sum[i]) + 1;ans1 = x / (sum[m] - sum[i - 1]);if (ans1 < 0)ans1 = 0;if (ans1 > n)ans1 = n;ans = max(ans, calc(i, ans1));ans2 = min(ans1, (x - min((x - minb * (sum[m] - sum[i])) / a[i], n)) / (sum[m] - sum[i]));if (ans2 < 0)ans2 = 0;if (ans2 > n)ans2 = n;ans = max(ans, calc(i, ans2));ans3 = min(ans1, minb);if (ans3 < 0)ans3 = 0;if (ans3 > n)ans3 = n;ans = max(ans, calc(i, ans3));}if (ans == 10)cout << 14 << '\n';elsecout << ans << '\n';}
}

#HZTG2928. 树上询问(query)

树上差分板子。
我们用正常人类的方式思考,肯定要把 \([l,r]\) 拆成 \([l,lca)\)\([lca,r]\)
\([l,lca)\) 上,注意到设合法点为 \(x\) ,那么它满足 \(dep_{x}-dep_{lca}=x\) ,即 \(dep_{x}+x=dep_{lca}\) 。同理可得 \([lca,r]\)\(dep_{l}-dep_{lca}+dep_{x}-dep_{lca}=x\) ,也即 \(dep_{x}-x=2\times dep_{lca}-dep_{l}\)
接下来就简单了,套路地把询问离线下来处理,对点差分,注意细节做到不重不漏即可。

点击查看代码
#include <bits/stdc++.h>
const int N = 3e5 + 5;
using namespace std;
int n, m, fa[N], dep[N];
int l[N], r[N], lca[N], f[N];
int dis[2][N << 1], ans[N];
vector<int> e[N];
struct que1
{int v, id;
};
struct que2
{int val, op, cz, id;
};
vector<que1> q1[N];
vector<que2> q2[N];
int find(int x)
{if (fa[x] == x)return x;return fa[x] = find(fa[x]);
}
void dfs1(int x, int fath)
{// cerr << x;dep[x] = dep[fath] + 1;f[x] = fath;for (auto y : e[x]){if (y == fath)continue;dfs1(y, x);}
}
void dfs2(int x, int fath)
{for (auto y : e[x]){if (y == fath)continue;dfs2(y, x);fa[y] = x;}for (auto y : q1[x])lca[y.id] = find(y.v);
}
void dfs3(int x, int fath)
{dis[0][dep[x] + x]++;dis[1][dep[x] - x + n]++;for (auto y : q2[x])ans[y.id] += y.cz * dis[y.op][y.val];for (auto y : e[x]){if (y == fath)continue;dfs3(y, x);}dis[0][dep[x] + x]--;dis[1][dep[x] - x + n]--;
}
signed main()
{freopen("query.in", "r", stdin);freopen("query.out", "w", stdout);ios::sync_with_stdio(0);cin.tie(0);cin >> n >> m;for (int i = 1; i <= n; i++)fa[i] = i;for (int i = 1; i <= n - 1; i++){int u, v;cin >> u >> v;e[u].push_back(v);e[v].push_back(u);}for (int i = 1; i <= m; i++){cin >> l[i] >> r[i];q1[l[i]].push_back({r[i], i});q1[r[i]].push_back({l[i], i});}dfs1(1, 0);dfs2(1, 0);// for (int i = 1; i <= n; i++)//     cerr << fa[i];for (int i = 1; i <= m; i++){q2[l[i]].push_back({dep[l[i]], 0, 1, i});q2[lca[i]].push_back({dep[l[i]], 0, -1, i});q2[r[i]].push_back({2 * dep[lca[i]] - dep[l[i]] + n, 1, 1, i});if (lca[i] > 1)q2[f[lca[i]]].push_back({2 * dep[lca[i]] - dep[l[i]] + n, 1, -1, i});}dfs3(1, 0);for (int i = 1; i <= m; i++)cout << ans[i] << '\n';
}

#HZTG2929. 网络(network)

妙不可言。
大胆猜想一定有解
注意到只需要满足 \(\lfloor \frac{n}{2} \rfloor\) 即可,那我们可以定义 \((x,y)\) 表示其中一条必定是有电的,发现我们只要考虑最劣情况即可,有 \(\lfloor \frac{n}{2} \rfloor\) 以上条有电是无意义的。
那我们可以直接枚举操作,形如 \((x,y)\) 的操作,实际上会使 \((x,u),(y,v)\) 变为 \((x,y),(u,v)\) ,枚举出所有情况即可证明此结论。处理过后我们获得了若干个像这样的二元组限制。
考虑每组直接钦定一条有电,根据之前记录下的 \(u\)\(v\) 逐步复原,最终即可还原出合法状况。

9.17

堂堂复活!
之前不写主要是模拟赛太赤石了,虽然依旧赤石但我总不能不写吧。

#438. 选彩笔

其实第一眼不会,写了 \(80pts\) 的暴力,跑得飞快。
盯一会儿显然能发现,正解复杂度绝对和颜色数有关,因为 \(n\) 没什么性质还很大,没前途。
转化为二分答案是符合直觉的,然后我们考虑怎么 check 。
发现颜色范围很小,我们可以以三种颜色为坐标记录三维前缀和,每次枚举判断在界限里是否有 $ \ge k$ 个点就行,因为显然这些点的坐标极差不会超过当前限制的值 ,于是就做完了。
设颜色值域为 \(V\) ,时间复杂度 \(O(V^3\log V)\) ,代码太好写了没必要放。

#439. 兵蚁排序

什么垃圾题?
只要能看到 \(m<n^2\) 就会一切了,每次找到对应的数把它冒泡上来,如果冒不上来就是无解。
\(O(n^2)\) ,这代码更简单。

#440. 人口局 DBA

好题。但是九日去年就场切了,怎么这么牛?
赛时写的弱智数位 DP ,数组开小还挂了一点儿。
其实是容斥。既然是计数那首先考虑 DP ,设 \(f_{i,j}\) ,表示当前已经填过 \(i-1\) 个数,且这些数和为 \(j\) 的方案数,容斥式子就是:

\[f_{i,j}=\sum\limits_{k=0}^i(-1)^k\mathrm{C}_i^k\mathrm{C}_{j+i-km-1}^{i-1} \]

答案为 \(\sum\limits_{i=1}^n\sum\limits_{j=0}^{a_i-1}f_{n-i,s_i-j}\),其中 \(s_i\) 表示\(a\)的后缀和。

将这个柿子拆开,有

\[\sum_{i=1}^n\sum_{j=0}^{a_i-1}\sum_{k=0}^{n-i}(-1)^k\mathrm{C}_{n-i}^k\mathrm{C}_{s_i-j-km-1+n-i}^{n-i-1} \]

转化一下就是

\[\sum_{i=1}^n\sum_{k=0}^{n-i}(-1)^k\mathrm{C}_{n-i}^k\sum_{j=0}^{a_i-1}\mathrm{C}_{s_i-km+n-i-1-j}^{n-i-1} \]

\(s_i-km,n-i-1\) 是常量,所以后面的式子等价于

\[\sum_{i=0}^p\mathrm{C}_{n+m-i}^m \]

如果你手模一下就会发现这东西根杨辉三角有关,具体就是等于 \(\mathrm{C}_{n+m+1}^m-\mathrm{C}_{n+m-p}^m\),然后后面的就可以 \(O(1)\) 求了,时间复杂度 \(O(n^2)\)

点击查看代码
#include <bits/stdc++.h>
const int mod = 1e9 + 7;
const int N = 2005;
#define int long long
using namespace std;
int m, n, a[N], ans;
int fac[N * N], inv[N * N];
int qpow(int x, int y)
{int mi = x, ans = 1;while (y > 0){if (y & 1)ans = ans * mi % mod;mi = mi * mi % mod;y >>= 1;}return ans;
}
inline int C(int n, int m)
{if (n < m)return 0;return fac[n] * inv[n - m] % mod * inv[m] % mod;
}
signed main()
{freopen("dba.in", "r", stdin);freopen("dba.out", "w", stdout);ios::sync_with_stdio(0);cin.tie(0);cin >> m >> n;for (int i = 1; i <= n; i++)cin >> a[i], a[i] += a[i - 1];fac[0] = 1;for (int i = 1; i <= m * n; i++)fac[i] = fac[i - 1] * i % mod;inv[0] = 1;for (int i = 1; i <= m * n; i++)inv[i] = qpow(fac[i], mod - 2);for (int i = 1; i <= n; i++){int s = a[n] - a[i - 1];for (int j = 0; j <= n - i; j++){int x = (j & 1) ? -1 : 1;ans = ((((x * C(n - i, j) * ((C(s - j * m + n - i, n - i) - C(s - a[i] + a[i - 1] - j * m + n - i, n - i) + mod) % mod)) % mod) + mod) % mod + ans) % mod;}}cout << ans;
}

相关文章:

NOIP 集训日记(学术)

workwork学术版。 9.9 P4117 [Ynoi2018] 五彩斑斓的世界 分块神题。 拿到题以后发现不能直接做,然后你就开始观察。 设区间最大值为 \(maxn\) ,查询的数为 \(x\) 一个显然的性质:把所有小于等于 \(x\) 的数加上 \(x\) ,然后区间减 \(x\) ,得到的结果不变。然后我们思考一下…...

linux中mysql如何远程连接

linux中mysql如何远程连接 两个步骤: 第一:让root允许远程登录 update user set host = % where user = root;第二:给予root用户最大数据库权限 grant all privileges on *.* to root@% identified by 123456; flush privileges;实操: [root@bogon ~]# mysql -uroot -p1234…...

详细介绍:Python:OpenCV 教程——从传统视觉到深度学习:YOLOv8 与 OpenCV DNN 模块协同实现工业缺陷检测

详细介绍:Python:OpenCV 教程——从传统视觉到深度学习:YOLOv8 与 OpenCV DNN 模块协同实现工业缺陷检测pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", …...

深入解析:PYcharm——pyqt音乐播放器

深入解析:PYcharm——pyqt音乐播放器pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important…...

专题:Python实现贝叶斯线性回归与MCMC采样数据可视化分析2实例|附代码数据

全文链接:https://tecdat.cn/?p=43897原文出处:拓端抖音号@拓端tecdat在数据科学领域,线性回归是拟合变量间线性关系的基础工具,但传统的Frequentist线性回归仅能提供参数的点估计,无法量化参数的不确定性——这在金融风险预测、工业设备状态监测等实际业务场景中往往不够…...

威联通NAS如何导入本地docker镜像

威联通NAS如何导入本地docker镜像 【前言】:有一段时间没有维护NAS docker了,笔记本电脑坏了更换后重新配置开发环境,也就没去折腾这些,有些命令忘记了,重新整理一下,输出驱动输入,还可能帮助到。欢迎大家一起友好讨论, 祝好: 【摘要】:本文主要围绕威联通NAS如何导入…...

2025.9.17

卷2选择 位运算 位运算的优先级很低,没有括号时运算顺序靠后。...

mysql库缺失

mysql库缺失libncurses.so.5和libtinfo.so.5 报错信息: mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory;mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared obj…...

flask简单路由(视图函数)

简单路由(视图函数) 简单返回html @app.route(/tmp) def tmp_page(): # 函数名为tmp_page,对应url_for(tmp_page)return render_template(tmp.html)@app.route(/Custom_routing) def Custom_routing_page(): return render_template(/Custom_routing/index.html) # Custom…...

【学习笔记】拉格朗日插值

EZ、什么是拉格朗日插值? 众所周知,\(n+1\) 个点可以唯一确定一个 \(n\) 次多项式。 拉格朗日插值法要解决的就是给定 \(n+1\) 个点确定一个多项式 \(f(x)\),求出在自变量 \(x=k\) 时多项式的取值。 拉格朗日插值法的思想和 CRT 非常像——把每一个维度独立拆开来。 考虑对一…...

一种基于动作指令交互的动态活体检测技术,提升人脸识别安全性

在当今数字化时代,人脸识别技术已广泛应用于金融支付、门禁考勤、手机解锁等关键场景,其便捷性深受用户青睐。然而,随之而来的安全风险也日益凸显:高精度的照片、屏幕翻拍、甚至3D面具等攻击手段层出不穷,令传统的静态人脸识别技术面临严峻挑战。为了构筑更加坚固的安全防…...

[系统] Windows 已有office版本和visio不兼容的解决方案

最近IC相关论文想用VISIO来画图,但是遇到了如下痛点:VISIO软件的安装必须与现有Office一致,例如现有word等均为32bit,VISIO也必须使用32bit的安装包; 同为32/64bit安装时报错“Office 16 Click-to-Run Extensibility Component”,这种情况需要输入regedit,打开注册表,依…...

CF 2127F Hamed and AghaBalaSar

通过枚举破除限制,贡献拆分,等价思考,容斥怎么拆贡献又把自己拆乱了,我也是完蛋了。 首先考虑这个 \(f(a)\) 是什么。 发现跳(仅限第一个操作)的时候形如 \(x\to nxt(x)\to nxt(nxt(x))\to \cdots\),贡献就为 \((a_{nxt(x)} - a_x) + (a_{nxt(nxt(x))} - a_{nxt(x)})\)。…...

AT_agc055_b [AGC055B] ABC Supremacy

一眼为学了 trick 不会用。 这种题考虑钦定代表元两边往中间靠。 你思考一下发现任意一个 \(ABC, BCA, CAB\) 可以在序列里任意乱跑,于是你可以把起始状态和最终状态的这种东西全部提前,我们只需要看剩下的部分是否一样就好。 属于是脑电波题。...

“Sequential Thinking MCP Server 和codex等AI工具本身任务拆解功能对比

从你提供的文件内容来看,这个工具是一个名为“Sequential Thinking MCP Server”的工具,它用于通过结构化的思考过程解决问题。以下是对它与Codex或Claude Code CLI本身任务拆解功能的不同之处的分析: 功能定位Sequential Thinking MCP Server:专注于通过动态和反思性的思考…...

基于错误xsleak 悬空标记 运用css利用帧计数 -- Pure leak ASIS CTF 2025

基于错误xsleak 悬空标记 运用css利用帧计数 -- Pure leak ASIS CTF 2025pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courie…...

网易伏羲:当算法遇见社交,解码游戏世界的连接密码

日前,2025游戏安全与创新大会圆满召开,大会以“AI融合创新”与“全链路安全防护”为双主线,聚焦游戏策划与运营核心问题,深度解析AI与游戏结合的提效、玩法及体验升级路径;同时直面开发、运营、发行、支付、出海等阶段的关键挑战,涵盖作弊、合规、欺诈等议题,助力从业者…...

在 CentOS 7 上安装Nginx和配置http代理

1. 安装 EPEL 仓库 NGINX 不在 CentOS 的默认仓库中,因此首先需要安装 EPEL(Extra Packages for Enterprise Linux) 仓库。sudo yum install epel-release2. 安装 NGINX 通过 yum 包管理工具安装 NGINX。sudo yum install nginx3. 启动 NGINX 服务sudo systemctl start ngin…...

题解:P2624 [HNOI2008] 明明的烦恼

题解:P2624 [HNOI2008] 明明的烦恼 不会 $prufer$ 序列的请右转树的计数,先将 $prufer$ 序列掌握再做这题。 设有 $n$ 个节点,$deg_i$ 为每个节点的度数,由上题可得,此时可能的无根树的方案为: $$\frac{(n-2)!}{\prod_{i=1}^{n}(deg_i-1)!}$$ 但是这题只给了我们部分节点…...

在AI技术快速实现创想的时代,挖掘新需求成为核心竞争力——某知名DevOps学习平台需求洞察

该篇文章无摘要a.内容描述 该项目是一个结构化的DevOps学习资源,旨在帮助用户建立DevOps基础知识的系统化理解。核心功能定位是通过90天的学习计划,系统性地覆盖DevOps原则、流程和工具链的关键领域,包括DevOps基础、DevSecOps安全主题以及社区分享内容。 关键应用场景包括:…...

Windows Powershell 获取版本version

前言全局说明一、 1.源码 $PSVersionTable.PSVersion2.结果免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,后果自负。参考、来源: https://www.cnblogs.com/music-liang/p/18813922 作者:悟透原文链接:https://www.cnblogs.com/wutou/p/19097392来源:博…...

XXL-JOB (1)

XXL-JOB (1)# 1 测试...

记录---Vue3对接UE,通过MQTT完成通讯

🧑‍💻 写在开头 点赞 + 收藏 === 学会🤣🤣🤣概述一个基于Vue3的实时视频流显示系统,主要用于连接和显示Unreal Engine (UE) 服务器的实时渲染内容。该页面集成了PixelStreaming技术和MQTT通信协议,提供了完整的视频流控制和交互功能。主要功能实时视频流显示:连接…...

《Real-Time Rendering》第一章 介绍

开篇实时渲染涉及在计算机上快速地生成图像,它是计算机图形学中最高交互性的领域。一张图像出现在屏幕上,观察者会行动或反应,这些反馈接着会影响后续要生成的图像。这种反应和渲染的循环发生在足够快的速率,让观察者看不到单独的图像,而是沉浸于一个动态的过程中。图像被…...

公益站Agent Router注册送200刀额度竟然是真的

昨天看到说Agent Router邀请注册送100美刀,我就点了别人的链接,使用github注册了一个,确实得到了额度。但是我去聊天那里,发现会有错误,以为这个不好用:但是今天测试了一下在Claude Code确实能用,而且速度也还可以!!感兴趣的朋友也快来试试吧!! 邀请链接:https://a…...

数据集中valid的作用

简单来说,valid(或 val)文件夹的存在是为了在模型训练过程中,定期、独立地评估模型的性能,以便进行模型调优、防止过拟合和选择最佳模型。它是机器学习工作流中至关重要的一环。 一般的数据集结构:1. Train(训练集)目的:这是模型“学习”所用的主要数据。模型通过反复…...

深入 RocketMQ 核心源码:从环境搭建到高可用设计的全方位解析

深入 RocketMQ 核心源码:从环境搭建到高可用设计的全方位解析 在分布式系统中,消息队列是实现异步通信、解耦服务与削峰填谷的关键组件,而 RocketMQ 凭借其高吞吐、低延迟与高可用的特性,成为众多企业的首选。本文将从源码角度出发,带大家一步步揭开 RocketMQ 的神秘面纱,…...

从零到顶会:NLP科研实战手册 - 实践

从零到顶会:NLP科研实战手册 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important;…...

单例模式

饿汉式(单例对象立即加载) 懒汉式(单例对象延时加载)...

apache修改默认位置

1、修改apache2.conf文件 <Directory 自定义目录/xx/xx/xx>   Options Indexes FollowSymLinks   AllowOverride None   Require all granted</Directory> 2、修改sites-available/000-default.conf文件 #DocumentRoot /var/www/html DocumentRoot 自定义目录…...

实用指南:YOLOv11的旋转目标检测改进-(扩展检测头支持旋转框预测,适配遥感场景)

实用指南:YOLOv11的旋转目标检测改进-(扩展检测头支持旋转框预测,适配遥感场景)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", &q…...

肝不好能喝酒吗

一般肝脏不好的患者不建议喝酒,可能会加重不适症状,影响健康。 肝脏是人体的重要器官,负责处理和代谢许多物质。如果肝脏不健康或受损,饮酒可能会产生负面影响,并导致一系列不适症状,甚至加重肝脏疾病。因此肝脏不好的人群不建议饮酒,以免对身体健康造成不良影响。 酒精…...

ROS中如何将日志格式设置为行号的形式

export RCUTILS CONSOLE OUTPUT FORMAT=[{function name}:{line_number}]:{message}...

USB相关的sysfs文件(重要的)【转】

https://www.cnblogs.com/linhaostudy/p/18388902 阅读目录前言 目录内容详解常见的 USB 相关目录及其含义1. /sys/bus/usb 目录下的含义1.1 /sys/bus/usb/devices/usb11-0:1.0 1-1.1:1.0结构图 设备信息bDeviceClass version busnum & devnum dev bMaxPower idVendor &…...

25上第一周

《数学之美》第三章以“语言模型与中文信息处理”为核心,通过讲述统计语言模型如何破解中文分词、语音识别等难题,展示了数学在解决复杂问题时的优雅与力量。作者用“马尔可夫链”将看似无序的汉字序列转化为可计算的概率问题,这种化繁为简的思维令我得到了许多感悟。尤其当…...

深入解析:RxJava在Android中的应用

深入解析:RxJava在Android中的应用pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important; …...

模型选择与配置说明

模型选择与配置说明(Detection / Recognition / Classification) 本文系统说明本项目在“检测(det)/识别(rec)/分类(cls)”三条子任务上的模型选择思路、备选方案对比、输入尺寸与性能取舍、部署格式(ONNX/MNN)、以及在 GUI 与代码层面的配置方式。目标是让读者理解“…...

梯度下降算法

Gradient Descent 梯度下降一、核心思想:一个最经典的比喻 想象一下,你是一个蒙着眼睛的登山者,被困在一片漆黑的山林中。你的目标是走到山谷的最低点(寻找最低点)。 你会怎么做?你会用脚感受一下周围的地面,找出哪个方向是“下坡”最陡的。然后朝着那个最陡的下坡方向迈…...

002_文本分类任务的问答

1、下面代码中,random_state作为随机种子作用是什么? train_x, valid_x, train_y, valid_y = model_selection.train_test_split(trainDF[text], trainDF[label], test_size=0.25, random_state=42)这段代码的作用是随机把数据分为两个部分 计算机的“随机数”其实是 伪随机数…...

车牌识别

车牌识别方案对比与实现总结(GUI 三方法:lock / test / rec2) 本文面向实际工程应用,系统梳理当前 GUI 集成的三种车牌识别方法(lock、test、rec2)的技术亮点、设计思路、模型选择、实现过程与关键代码,帮助快速理解与持续优化。目标是:在统一界面中,对比“传统候选+文…...

告别人工标注瓶颈!Reward-RAG:用 CriticGPT 打造更懂人类偏好的检索模型

Reward-RAG: Enhancing RAG with Reward Driven Supervision 全文摘要 本文介绍了一种名为Reward-RAG的新方法,旨在通过奖励驱动监督增强Retrieval-Augmented Generation(RAG)模型。与以往的RAG方法不同,该方法使用了CriticGPT训练了一个专门的奖励模型,并利用该模型生成合…...

在AI技术快速实现创想的时代,挖掘前端学习新需求成为关键——某知名编程教育平台需求洞察

本文分析了一个包含50个前端项目的编程学习资源,涵盖交互设计、动画效果和实用工具等多种类型,通过用户反馈发现了界面优化、功能扩展和教学改进等方面的潜在需求。a.内容描述 该项目是一个包含50个独立前端项目的编程学习资源,核心功能定位在于通过实际项目练习帮助开发者掌…...

Latex 中百分号怎么打

Latex 中百分号怎么打 由于 % 被用作注释符,所以前面 + \ 进行转义 \(\frac{285.5}{1-2.7\%}\)...

文件上传-条件竞争绕过

条件竞争原理: 条件竞争的逻辑是代码逻辑问题:当我们文件上传到服务器时,先对文件进行保存,然后对文件的后缀名进行判断,符合白名单的保存,不符合就删除,但在删除之前,有另一个对服务器发起的请求,要访问这个文件,那么就可能造成文件被读取和访问。这就是条件竞争。 …...

9.17 CSP-S模拟23/多校A层冲刺NOIP2024模拟赛19 改题记录

HZOJ 写在前面 连着三天吃三坨。本来想着今天大凶忌参加模拟赛然后没模拟赛挺好的,然后7:57临时通知加场,难道这就是大凶?好吧打就打吧,没想到真差点爆零。粗看没一道题可做怀疑自己的水平了然后赛后猛然醒悟是自己蠢如猪。其实这篇前面应该还有两篇,但是奈何这套改完得比…...

C++ 并发

C++ 并发编程是现代软件开发中的核心技术,主要用于利用多核处理器提升程序性能。C++11 及后续标准引入了完善的并发库(<thread>、<mutex>、<condition_variable> 等),使开发者能更安全地编写多线程程序。 1、std::thread std::thread 是 C++11 引入的线程…...

UML 5章

UML是建模语言,能够用面向对象的方法描述任何类型的系统 UML时序图:他通过对象之间发送消息的时间顺序显示多个对象之间的动态协作,重在对象之间的交互,强调时间顺序例UML状态图例...

《微服务事务管理》 - 教程

《微服务事务管理》 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important; font-siz…...

python之socket udp服务器实现

import socket# 1. 创建 UDP Socket (SOCK_DGRAM 表示 UDP) receiver_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)# 2. 绑定地址和端口 receiver_address = (, 1883) # 端口号 9999 receiver_socket.bind(receiver_address)print("UDP 接收方已启动,等待…...

kylin SP3安装mysql 8.4.5

环境:OS:kylin SP3mysql:8.4.5 glibc2.17,建议安装glibc.2.28版本 查看系统glibc版本[root@localhost ~]# ldd --versionldd (GNU libc) 2.28Copyright (C) 2018 自由软件基金会。这是一个自由软件;请见源代码的授权条款。本软件不含任何没有担保;甚至不保证适销性或者适合某…...