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

2025杭电多校(2)

F

https://acm.hdu.edu.cn/showproblem.php?pid=7996

题意

有两场比赛,统计对于每个 \(i\) ,有多少个人排在 \(i\) 的前面,需要去重。

思路

第一思路是统计每个位置 \(i\) 前面有多少人数,发现有个小容斥在这里,两场比赛排名前的总人数减去两场都在排名前的人数。

用树状数组统计第二场比赛在排名前的人数,也就是同时排在前面的人数。

代码

#include<bits/stdc++.h>
using namespace std;using ll = long long;void solve(){int n;cin >> n;vector<int> a(n + 1);vector<int> pos(n + 1);for(int i = 1; i <= n; i++){cin >> a[i];}for(int i = 1; i <= n; i++){int x;cin >> x;pos[x] = i;}vector<int> c(n + 5);auto lowbit = [&](int x){return x & -x;};auto add = [&](int k, int x){while(k <= n){c[k] += x;k += lowbit(k);}};auto find = [&](int k){int res = 0;while(k != 0){res += c[k];k -= lowbit(k);}return res;};vector<int> ans(n + 1);for(int i = 1; i <= n; i++){ans[a[i]] = i - 1 + pos[a[i]] - 1;ans[a[i]] -= find(pos[a[i]]);add(pos[a[i]], 1);}for(int i = 1; i <= n; i++){cout << ans[i] << " ";}
}int main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);ll t;cin >> t;while(t--)solve();
}

H

https://acm.hdu.edu.cn/showproblem.php?pid=7998

思路

先检查对角线,翻出 \(1\) 的概率为 \(1/n(1 + 2 + ... + n) = (n + 1)/2\), 翻出后花费两次确定方向,即 \((1 + 2)/2\),最后有 \(n - 2\) 次填充,共 \(3n/2\).

代码就不贴了,输出记得一定只能输出四位小数。

I

https://acm.hdu.edu.cn/showproblem.php?pid=7999

思路

题目求一颗树上 \(u\)\(v\) 路径上的最大值,并且要支持修改,那么自然想到重链剖分再加上线段树修改,查询。

但这里的修改并不是修改该点,而是该点周围的点,考虑到重链剖分的查询,我们发现链上的部分是已经在线段树上处理好的,修改需要 \(O(log\;n)\) 的时间复杂度。

而链头的部分可以单独的处理其新的增加,这里多开一个数组,记录链头的父亲有多少额外的增加,在查询时 \(O(1)\) 的时间复杂度就可以处理这个点。

代码

#include<bits/stdc++.h>
using namespace std;
using ll = long long;const int N = 1e5 + 5;
struct node{int sum;int ma;node operator+(const node& b){node res;res.sum = sum + b.sum;res.ma = max(ma, b.ma);return res;}};node s[N<<2];void push_up(int n){s[n] = s[n<<1] + s[n<<1|1];
}void update(int ql, int qr, int x, int l, int r, int n){if(l == r && ql == l){s[n].sum = x;s[n].ma = x;return ;}int mid = (l + r) / 2;if(ql <= mid)update(ql, qr, x, l, mid, n<<1);if(qr > mid)update(ql, qr, x, mid+1, r, n<<1|1);push_up(n);
}node query(int ql, int qr, int l, int r, int n){if(ql <= l && r <= qr){return s[n];}int mid = (l + r) / 2;node res;res.ma = -1e9;res.sum = 0;if(ql <= mid)res = res + query(ql, qr, l, mid, n<<1);if(qr >  mid)res = res + query(ql, qr, mid+1, r, n<<1|1);return res;
}void solve(){int n, m;cin >> n >> m;vector<int> a(n + 1);vector<int> f(n + 1);vector<int> dfn(n + 1);vector<int> top(n + 1);vector<int> big(n + 1);vector<int> r(n + 1);vector<int> dep(n + 1);vector<int> sz(n + 1);vector<int> ad(n + 1);int idx = 0;vector<vector<int>> e(n + 1);for(int i = 1; i <= n; i++){cin >> a[i];}for(int i = 1; i < n; i++){int x, y;cin >> x >> y;e[x].push_back(y);e[y].push_back(x);}auto dfs1 = [&](auto&& dfs1, int u, int fa) -> void {sz[u] = 1;for(auto v : e[u]){if(v == f[u])continue;f[v] = u;dep[v] = dep[u] + 1;dfs1(dfs1, v, u);sz[u] += sz[v];if(sz[big[u]] < sz[v])big[u] = v;}};auto dfs2 = [&](auto&& dfs2, int u, int tp) -> void {dfn[u] = ++idx;r[idx] = u;top[u] = tp;if(big[u] != 0)dfs2(dfs2, big[u], tp);for(auto v : e[u]){if(v == big[u] || v == f[u])continue;dfs2(dfs2, v, v);}};f[1] = 0;dep[1] = 1;dfs1(dfs1, 1, 0);dfs2(dfs2, 1, 1);auto pre_query = [&](int u, int v) {node res;res.sum = 0;res.ma = -1e9;while(top[u] != top[v]){if(dep[top[u]] < dep[top[v]])swap(u, v);res = res + query(dfn[top[u]], dfn[u], 1, n, 1);res.ma = max(res.ma, query(dfn[top[u]], dfn[top[u]], 1, n, 1).ma + ad[f[top[u]]]);u = f[top[u]];}if(dfn[u] > dfn[v])swap(u, v);res = res + query(dfn[u], dfn[v], 1, n, 1);if(u == top[u]){res.ma = max(res.ma, query(dfn[u], dfn[u], 1, n, 1).ma + ad[f[u]]);}return res;};for(int i = 1; i <= n; i++){update(dfn[i], dfn[i], a[i], 1, n, 1);}for(int i = 1; i <= m; i++){int op;cin >> op;if(op == 1){int x, y;cin >> x >> y;cout << pre_query(x, y).ma << "\n";}else{int x, y;cin >> x >> y; ad[x] += y;if(f[x] != 0){int num = pre_query(f[x], f[x]).sum;update(dfn[f[x]], dfn[f[x]], y + num, 1, n, 1);}if(big[x] != 0){int num = pre_query(big[x], big[x]).sum;update(dfn[big[x]], dfn[big[x]], y + num, 1, n, 1);}}}
}int main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int t;cin >> t;while(t--)solve();return 0;
}

K

https://acm.hdu.edu.cn/showproblem.php?pid=8001

思路

对题意解读之后发现我们对于给定的 \(l\)\(r\) 区间,我们把 \(1\) 中间的 \(0\) 的个数记作一个数列,那么答案就是从最右边向左求一个尽可能长的一个公差为 \(1\) 的等差数列。

让找到的数列从右到左呈现 \(l_1,\;l_2,\;...,\;l_i\), 答案为 \(2 * (i - 1) + l_i\) .

最后我们用线段树维护等差数列即可。

代码

#include<bits/stdc++.h>
using namespace std;
using ll = long long;const int N = 5.1e5 + 10;
struct node{int l0, r0, len, cnt, over, st, ed;node(){};node(int x){len = 1;over = 0;st = ed = -1;if(x == 1){l0 = r0 = 0;cnt = 1;}else {l0 = r0 = 1;cnt = 0;}}
};node s[N << 2];int a[N];node merge(node l, node r){node ans;ans.l0 = l.l0;if(l.l0 == l.len)ans.l0 += r.l0;ans.r0 = r.r0;if(r.r0 == r.len)ans.r0 += l.r0;ans.len = l.len + r.len;ans.cnt = l.cnt + r.cnt;if(ans.cnt <= 1){ans.over = 0;ans.st = -1;ans.ed = -1;return ans;}if(r.over || l.cnt == 0){ans.over = r.over;ans.st = r.st;ans.ed = r.ed;return ans;}if(r.cnt == 0){ans.over = l.over;ans.st = l.st;ans.ed = l.ed;return ans;}int lnk = l.r0 + r.l0;if(l.cnt !=  1 && r.cnt != 1){if(l.ed == lnk + 1 && r.st == lnk - 1){ans.st = l.st;ans.ed = r.ed;ans.over = l.over;}else if(r.st == lnk - 1){ans.over = 1;ans.st = lnk;ans.ed = r.ed;}else {ans.over = 1;ans.st = r.st;ans.ed = r.ed;}return ans;}if(l.cnt == 1 && r.cnt == 1){ans.over = 0;ans.st = ans.ed = lnk;return ans;}if(l.cnt == 1){if(lnk == r.st + 1){ans.over = 0;ans.st = lnk;ans.ed = r.ed;}else {ans.over = 1;ans.st = r.st;ans.ed = r.ed;}return ans;}if(r.cnt == 1){if(lnk + 1 == l.ed ){ans.over = 0;ans.ed = lnk;ans.st = l.st;}else {ans.over = 1;ans.ed = lnk;ans.st = lnk;}return ans;}return ans;
}void push_up(int n){s[n] = merge(s[n<<1], s[n<<1|1]);
}void build(int l, int r, int n){if(l == r){s[n] = node(a[l]);return ;}int mid = (l + r) / 2;build(l, mid, n<<1);build(mid+1, r, n<<1|1);push_up(n);
}void update(int pos, int l, int r, int n){if(l == r && l == pos){s[n].l0 ^= 1;s[n].r0 ^= 1;s[n].cnt ^= 1;return ;}int mid = (l + r) / 2;if(pos <= mid)update(pos, l, mid, n<<1);else update(pos, mid+1, r, n<<1|1);push_up(n);
}node query(int ql, int qr, int l, int r, int n){if(ql <= l && r <= qr){return s[n];}int mid = (l + r) / 2;if(qr <= mid)return query(ql, qr, l, mid, n<<1);if(ql > mid)return query(ql, qr, mid+1, r, n<<1|1);return merge(query(ql, qr, l, mid, n<<1), query(ql, qr, mid+1, r, n<<1|1));
}void solve(){int n, m;cin >> n >> m;for(int i = 1; i <= n; i++){char c;cin >> c;a[i] = c - '0';}build(1, n, 1);for(int i = 1; i <= m; i++){int op;cin >> op;if(op == 1){int l, r;cin >> l >> r;node num = query(l, r, 1, n, 1);if(num.cnt == 0){cout << "0\n";}else if(num.cnt == 1 || num.ed != num.r0 + 1){cout << num.r0 << "\n";}else {cout << num.st + 2 * (num.st - num.ed + 1) << "\n";}}else {int x;cin >> x;update(x, 1, n, 1);}}
}int main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int t;cin >> t;while(t--)solve();return 0;
}

L

https://acm.hdu.edu.cn/showproblem.php?pid=8002

题意

给定 \(n\) 个非负整数 \(a_i\),不选相邻的数,使得选取的所有数的异或和最大。 ( \(n <= 50\), 内存限制 \(3MB\) )

思路

答案需要统计的异或和最大,想到线性基,然后模拟所有可能的选取情况,选取 \(i\) 之后 考虑选取 \(i + 2\)\(i + 3\), 同时由于线性基的性质,在中间本来不选的情况下,选取中间值是不会变劣的。

代码

#include<bits/stdc++.h>
using namespace std;
using ll = long long;
using ull = unsigned long long;void solve(){vector<ll> p(61);auto insert = [&](vector<ll>& p, ull x){for(int i = 60; ~i; --i){if(!(x >> i))continue;if(!p[i]){p[i] = x;break;}x ^= p[i];}};int n;cin >> n;vector<ll> a(n + 1);for(int i = 1; i <= n; i++){cin >> a[i];}ll ans = 0;auto dfs = [&](auto&& dfs, vector<ll> p, int id) -> void {if(id > n){ll temp = 0;for(int i = 60; ~i; --i){if((p[i] ^ temp) > temp){temp ^= p[i]; }}ans = max(ans, temp);return ;}insert(p, a[id]);dfs(dfs, p, id + 2);dfs(dfs, p, id + 3);};dfs(dfs, p, 1);// er();dfs(dfs, p, 2);cout << ans << "\n";}int main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int t;cin >> t;while(t--)solve();return 0;
}

相关文章:

2025杭电多校(2)

F https://acm.hdu.edu.cn/showproblem.php?pid=7996 题意 有两场比赛,统计对于每个 \(i\) ,有多少个人排在 \(i\) 的前面,需要去重。 思路 第一思路是统计每个位置 \(i\) 前面有多少人数,发现有个小容斥在这里,两场比赛排名前的总人数减去两场都在排名前的人数。 用树状…...

latex 打印生僻字

默认的字体格式很难打出生僻字. 我们可以使用ctex的其他字体. 首先要知道有哪些字体, 参考: https://www.cnblogs.com/wodedow/p/13845213.html. 比如我们要使用字体名称为AR PL KaitiM GB, 我们需要在usepackage区域加入下面的代码 \setCJKfamilyfont{font01}{AR PL KaitiM GB…...

CSP-S 2025 游记(The Last CSP ver.)

【洛谷专栏】。 前言 前作:CSP-S 2024 游记。 上一篇文章:2025 年南京大学计算机学科体验专题营 游记。 停课最早的一次,但是没有去年写的早,不过小问题。 与文化课告别的不突然,但仍有些不舍吧。也许未来不会再担任化学课代表了,化学老师真的对我很好(可怜。如果不是现…...

电机ADC采集

正点原直流有刷驱动板的硬件解说_直流有刷电机电流检测电路-CSDN博客电平移位电路设计(常用于将双极性的宽动态范围信号变成单极性窄动态范围的信号供ADC采集)-CSDN博客运放实现交流信号的放大与平移-CSDN博客...

道德经

1.道可道,非常道。名可名,非常名。无名天地之始;有名万物之母。2.天下皆知美之为美,斯恶已。皆知善之为善,斯不善已。3.有无相生,难易相成,长短相形,高下相盈,音声相和,前后相随。恒也。4.不尚贤,使民不争;不贵难得之货,使民不为盗;不见可欲,使民心不乱。是以圣…...

TokenFlow: Unified Image Tokenizer for Multimodal Understanding and Generation - jack

https://github.com/ByteVisionLab/TokenFlow https://arxiv.org/abs/2412.03069...

digitalworld.local: TORMENT - 实践

digitalworld.local: TORMENT - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important;…...

8.25-9.2周报六

1111...

Go by Example(3.Variables)

package mainimport "fmt"func main() {var a = "initial"fmt.Println(a)var b, c int = 1, 2fmt.Println(b, c)var d = truefmt.Println(d)var e intfmt.Println(e)f := "apple"fmt.Println(f) }运行结果: $ go run variables.go initial 1 2 …...

小程序分包方法

1、 图片上云 2、 删除不用的代码、函数和文件 3、 只有子包需要的接口移到子包中 4、 代码复用。效果不明显,实现两个页面复用一个大组件,可减少10kB大小 5、 还未实践见到效果的备选方案:把node_modules、uni_modules(在微信开发者工具的依赖分析看项目依赖这两个目录中的…...

9.3-9.10周报七

111111...

pyinstaller打包整个文件文件夹和相关exe,三方库

#打包目的:完全脱离环境,只copy hello.exe去其他机器就可以完美运行#打包命令: pyinstaller --onefile .\xxx\hello.py --hidden-import "tkinter" --hidden-import=glob --hidden-import=lxml --add-data ".\xxx\*;." --distpath output_dir --add-…...

学习心得

初次接触Hadoop时,我被其庞大的生态系统所震撼 学习过程中,我最大的感悟是理论与实践的结合至关重要。单纯阅读MapReduce的原理或HDFS的架构设计,总感觉隔着一层迷雾。直到亲手搭建环境、编写第一个WordCount程序,看到分布式计算如何将大任务拆解到多个节点并行处理,那种豁…...

Web前端入门第 87 问:JavaScript 中 setInterval 和 setTimeout 细节

setInterval 和 setTimeout 两者都是用于控制 JS 函数延迟执行,但是在执行机制和用途上还是有点儿差异。 虽然说两者功能上有区别,但在使用上却可以相互模拟各自的功能,大胆的猜测下:也许浏览器内核底层都是同一个方法,只是上层封装出的两个语法糖而已。 语法 两者在语法上…...

基于Python+Vue开发的农产品商城管理系统源码+运行

项目简介该项目是基于Python+Vue开发的农产品商城管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的农产品商城管理系统项目,大学生可以在实践中学…...

多人多次并发

在测试行业一年多,接触到多人多次并发首先创建线程组在JMeter中添加线程组,设置线程数、Ramp-Up时间和循环次数,然后添加HTTP请求:配置目标服务器的IP、端口和路径,模拟用户的具体操作。通过CSV Data Set Config加载用户数据,实现动态参数化。 查看结果树收集测试数据。合…...

B. Alternating Current

https://codeforces.com/problemset/problem/343/B 题意:给定两根线,告诉你每个节点的两根线的上下位置,问两根线能否无损解开 思路:如果连续的一段一个都在另一个上面或者下面,那么这一段就可以回到他本身的位置。根据这个思路,可以将问题转化为消消乐问题,只要有连续的…...

虚拟电厂运行机制

虚拟电厂(VPP)对电力资源的调节是其最核心、最精妙的功能。它本质上扮演着一个“全能电力调度员”的角色,但其调度对象不再是几个大电厂,而是成千上万个分散的、类型各异的分布式资源。 1. 察:全面感知与实时监测 这是调节的基础。虚拟电厂通过安装在各类终端资源上的智能…...

创建我第一个带记忆能力的langchain机器人

以下内容由AI对话生成带记忆的聊天机器人实现 下面是完整的代码实现,包含详细注释: # chatbot_with_memory.py import os from langchain_openai import ChatOpenAI from langchain.memory import ConversationBufferMemory from langchain.chains import ConversationChain …...

Reinforcing Image Generation with Collaborative Semantic-level and Token-level CoT - jack

https://arxiv.org/pdf/2505.00703 https://github.com/CaraJ7/T2I-R1...

GitHub超 30000+ star , 超强大的开源项目Supervision

Roboflow 的 Supervision 项目已于近期突破 30,000 个 GitHub Stars,是视觉工程师常用的辅助库,让你告别重复造轮子。 Supervision 是 Roboflow 出品、基于 MIT 协议的开源库,用于解决视觉项目中常见的可视化、跟踪、计数、格式转换等需求。可与 YOLO、Detectron2、Transfor…...

深入解析:【JavaEE】网络原理初识

深入解析:【JavaEE】网络原理初识pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important; f…...

Office文档投毒技术:SHVE中的会话劫持视觉利用新突破

本文深入解析SHVE工具如何通过Office文档投毒技术,利用XSS漏洞和用户对可信网站的信任,在文档下载过程中自动注入恶意宏,实现隐蔽的攻击载荷交付,揭示了现代网络攻击中技术利用与心理信任结合的新型威胁模式。Office文档投毒在SHVE中的应用 大家好!我们带来了会话劫持视觉…...

爬虫逆向--Day22Day23--核心实战案例【荔枝网】【WASM学习】

案例地址链接:https://gdtv.cn/channels/2 案例爬取链接:https://gdtv-api.gdtv.cn/api/channel/v1/news?beginScore=0&channelId=246&pageSize=11 一、入口定位 首先当我们拿到网站,并且找到我们需要爬取的目标url以后,我们首先复制url到【https://curlconverter…...

简洁美观!一款值得 Star 的 Java 博客项目!

OneBlog —— 一个简洁美观、功能强大并且自适应的 Java 博客。基于 SpringBoot + Bootstrap 开发,支持移动端自适应,配有完备的前台和后台管理功能。大家好,我是 Java陈序员。 今天,给大家介绍一个简洁美观的开源 Java 博客系统。关注微信公众号:【Java陈序员】,获取开源…...

数据结构与算法-33.图-加权有向图最短路径

一、加权有向图 1、加权有向图 边的表示 代码实现 2、加权有向图的实现 二、最短路径 1、定义及性质 2、API设计 3、松弛技术4、Dijkstra算法实现 测试以上仅供参考,如有疑问,留言联系...

白子的情人节礼物

新题崭新出炉题面背景 我永远喜欢砂狼白子! ----MyShiroko 白子最近有点烦恼,因为她敏锐的嗅觉闻到了星野前辈身上有老师的味道。(详见《一日一星野》) 在多次询问星野无果的情况下,她打算直接去夏莱找老师问个清楚。 不过最近情人节快到了,白子决定拿着一些礼物,所以她…...

白子的情人节礼物 题解

咕咕点击查看代码 #include<bits/stdc++.h> #define int long long #define Blue_Archive return 0 #define con putchar( ) #define ent putchar(\n) using namespace std; constexpr int N = 5e5 + 7; constexpr int M = 8e5 + 7; constexpr int INF = 1e18;int n; in…...

Ubuntu上进行Zookeeper集群部署

Ubuntu系统上Zookeeper集群部署安装目录1.zookeeper下载2.zookeeper安装与使用3.zookeeper启动4.zookeeper是什么?为什么要用它?为什么不用Hbase自带的? 1.zookeeper下载 版本无特别要求,一般最新稳定版即可。 这里给出3.8.4的下载链接。(点击即可直接下载) zookeeper官网…...

The Landscape of Agentic Reinforcement Learning综述 - jack

The Landscape of Agentic Reinforcement__Learning for LLMs.pdf https://medium.com/data-science-in-your-pocket/the-landscape-of-agentic-reinforcement-learning-for-llms-a-survey-ed96182d3ed1...

A Survey of Reinforcement Learning for Large Reasoning Models - jack

https://arxiv.org/abs/2509.08827 https://huggingface.co/papers/2509.08827...

r-nacos支持mcp,内置mcp server支持让注册到r-nacos的普通http接口通过r-nacos直接转化成mcp服务对外提供服务。

r-nacos支持mcp,内置mcp server与接口转发;支持让注册到r-nacos的普通http接口通过r-nacos直接转化成mcp服务对外提供服务。r-nacos支持mcp,内置mcp server与接口转发;支持让注册到r-nacos的普通http接口通过r-nacos直接转化成mcp服务对外提供服务。 适用场景 如果你有一个…...

MacOS下微信小程序抓包教程

前言 换mac了,折腾一天抓包,终于成功抓上了。 BurpSuite下载: https://www.52pojie.cn/thread-2005151-1-1.html proifier下载:https://www.proxifier.com/ proifier注册机:https://github.com/y9nhjy/Proxifier-Keygen 一、安装proifier 先正常安装proifier本体,打开注册…...

nvm – nodejs版本管理工具

下载 Releases coreybutler/nvm-windows nvm-setup.exe nvm list available #查看可安装版本 如果报错Could not retrieve https://nodejs.org/dist/index.json: Get "https://nodejs.org/dist/index.json": dial tcp xxx.2x.xx.xxx:xxx: i/o timeoutnvm proxy http…...

财务系统里面,怎么合并使用两个经费本号

财务系统里面,怎么合并使用两个经费本号 把一个经费本号填好之后,正常填写,到提交的那个界面,不要提交。 一直点击 上一步, 到可以填写经费本号的那个界面。再填写第二个经费本号。点击下一步,再填写。最后提交即可。...

【火电机组、风能、储能】高比例风电电力系统储能运行及配置分析(Matlab代码实现) - 详解

【火电机组、风能、储能】高比例风电电力系统储能运行及配置分析(Matlab代码实现) - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&qu…...

新范式-LLaDA-VLA 基于扩散模型 VLA模型 - jack

https://mp.weixin.qq.com/s/fwOGuKy2Wtz_xXx3nCT28w 论文题目:LLaDA-VLA: Vision Language Diffusion Action Models 论文链接:https://arxiv.org/abs/2509.06932 项目主页:https://wenyuqing.github.io/llada-vla/ 论文时间:Sep, 8, 2025 作者单位:中科大,南京大学,原…...

Redis是如何进行内存管理的?缓存中有哪些常见问题?如何实现分布式锁?

Redis内存管理 Redis的内存用完了会怎样? 如果达到设置的上限,Redis的写命令会返回错误信息(但是读命令还可以正常返回)。 也可以配置内存淘汰机制,当Redis达到内存上限时会冲刷掉旧的内容。 Redis如何做内存优化? 可以好好利用Hash,list,sorted set,set等集合类型数据,…...

5 遥感与机器学习第三方库安装 - 详解

5 遥感与机器学习第三方库安装 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important…...

移远OPENCPU笔记

OPENCPU 支持的操作系统:Linux、ThreadX 芯片平台:国产ASRqq:505645074...

2025.9.16——1绿

普及+/提高 P3155 [CQOI2009] 叶子的染色 昨天用贪心写只拿了部分分,wpmx告诉我要用DP,但当时因为要赶作业没时间写。 今天补上了。...

Unity游戏开发:互动小游戏的技术实现与运营盈利之道

在数字化娱乐飞速发展的当下,互动小游戏凭借其独特的趣味性与强交互性,深受广大用户喜爱。从热闹非凡的线下活动,到流量庞大的线上平台,互动小游戏都展现出了强大的影响力与商业价值。在众多游戏开发引擎中,Unity以其卓越的性能和广泛的适用性,成为了互动小游戏开发的首选…...

如何实现主线程捕获子线程异常

一、基础概念...

LGP5688 [CSP-S-JX 2019] 散步 学习笔记

LGP5688 [CSP-S-JX 2019] 散步 学习笔记 Luogu Link 前言 一题多解这一块。 题意简述 \(n\) 个人在公园内散步。公园可以看作一个环形,上有 \(m\) 个出口,按逆时针顺序记作 \(1\) 号口到 \(m\) 号口。 环总长 \(V\) 米。记 \(a_i\) 为 \(i\) 号出口从 \(1\) 号口按逆时针走到…...

少儿练字控笔字帖

握笔和控笔是写好字的基础 准备了一些基本的控笔练习字帖少儿练字控笔字帖下载...

架构师必备:缓存更新模式总结

大家好,我是Java烘焙师。如何更新缓存和DB、做到性能和一致性的取舍,是一个很常见的话题。下面结合笔者的经验和思考,系统性地总结一下缓存更新模式,讲透讲明白。 1、旁路缓存(cache-aside) 实现方案查询:先查缓存,查不到缓存时再查DB,并把DB内容写入缓存、设置合适的…...

为什么不能在try-catch中捕获子线程的异常 ?

一、基础概念...

sensitive-word 敏感词性能提升14倍优化全过程 v0.28.0 - 实践

sensitive-word 敏感词性能提升14倍优化全过程 v0.28.0 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New"…...

2025 PHP 开发者必看得 25 个容易犯的常见错误 90% 的开发者都踩过

2025 PHP 开发者必看得 25 个容易犯的常见错误 90% 的开发者都踩过 前言 PHP 发展到今天,新特性层出不穷,最佳实践也在不断更新。写出干净、高效、好维护的代码,对每个 PHP 开发者来说都很重要。 这篇文章总结了 PHP 开发中最容易踩的坑,以及对应的解决方案。 不管你是刚入…...

一款带有AI功能的markdown工具

大家好,我是晓凡。 写在前面 关注晓凡的同学都知道,晓凡是一名程序员。 平常有空的时候会写写博客,将一些技术干货或者踩过的坑分享给大家。 和我一样写技术博客的小伙伴都知道,平常素材来源太杂:脑子里突然而来的灵感 群里的一张梗图 随手的一张截图 读书看到的一段文字 …...