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

5月杂题

臭不要脸的回到了机房,感觉大家越来越强了,膜拜。

想到什么写什么。

  • 多校清北营训练「清华场」B. 绕口令/gym100162B

题意:定义一个字符串为好的当且仅当其中没有两个相邻字符相同,问你对 \(k\in[1,n]\),能否删去原字符串中连续 \(k\) 个字符得到一个好的字符串。这里我们认为第一个和最后一个字符也是相邻的。

断环。删去一个长为 \(k\) 的段等于保留一个长为 \(n-k\) 的段。由于保留后不能出现相邻相同,所以可以把这个串中相邻相同的点作为分界点,把这个串分成若干个独立的问题,每个都只需要让开头结尾不同。然后思考一个 \(k\) 怎么才不合法:相当于这个串的任意一个长为 \(n-k\) 的子串都有首尾相同,即有长为 \(n-k-1\) 的循环节,kmp 即可。复杂度 \(\mathcal{O}(n)\)

  • A 【0518 A组】序列统计

\(p\) 是质数。记 \(min(l,r)=\min\{a_l\ldots a_r\}\)\(max(l,r)\) 同理。

考虑 \(f_{n,k}\) 表示长为 \(n\),取值范围 \([1,k]\) 的好序列数。考虑总的减不合法的,令 \(i\) 是最大的满足 \(max(1,i)=min(i+1,n)=x\)\(i\)。前面 \(a_1\ldots a_i\) 方案数就是 \(x^i-(x-1)^i\)。由于不存在 \(j>i,max(1,j)=min(j+1,n)\ge x\),且 \(max(1,i)=min(i+1,n)=x\),则 \(max(1,j)=max(i+1,j)\),即 \(a_{i+1}\ldots a_n\) 的取值范围为 \([x,k]\),方案数就是 \(f_{n-i,k-x+1}-f_{n-i,k-x}\)。直接递推能得到转移式

\[f_{n,k}=k^n-\sum\limits_{i=1}^{n-1}\sum\limits_{x=1}^k(x^i-(x-1)^i)(f_{n-i,k-x+1}-f_{n-i,k-x}) \]

考虑对 \(\mathcal{O}(n^4)\) 做法进行优化。记 \(g_{n,k,x,p=0/1}=\sum\limits_{i=1}^n(x-p)^{-i}(f_{i,k-x+1}-f_{i,k-x})\),这个可以 \(\mathcal{O}(nk^2)\) 求。把 \(f\) 写成 \(f_{n,k}=k^n-\sum\limits_{x=1}^k(x^ng_{n-1,k,x,0}-(x-1)^ng_{n-1,k,x,1})\) 就也可以 \(\mathcal{O}(nk^2)\) 了。

由于 \(k\le 10^9\),考虑容斥算 \(h_i\) 表示只用 \(i\) 种元素的好序列数,答案就是 \(\sum_i\dbinom{k}{i}h_i\),前面的 \(f_{n,k},g_{n,k,x,0/1}\) 也只需要 \(\mathcal{O}(n^3)\) 了,略卡常。

  • [ARC178C] Sum of Abs 2

思路比较简单,大概就是 \(b\) 排序后差分得 \(c_i=b_i-b_{i-1}\),则 \(\sum\limits_{i=1}^{L-1}\sum\limits_{j=i+1}^L|b_j-b_i|=\sum\limits_{i=1}c_i(i-1)(L-i+1)\)。目标是让上式等于 \(a\),求最小的 \(\sum c_i\)。注意到前面那个系数是对称的,可以前面取 0 后面再让 \(c_i>0\),这样就不需要满足个数为 \(L\) 的限制了,直接 dp 是 \(kA\) 的,其中 \(k\) 是满足 \(A\ge(i-1)(L-i+1)\)\(i\) 的个数,因为 \(A<(i-1)(L-i+1)\)\(c_i\) 一定是 0。则 \(A\ge(i-1)(L-i+1)\ge\dfrac{L^2}{4}\)\(k\le L\le 2\sqrt{A}\),复杂度 \(\mathcal{O}(A\sqrt{A})\)

  • A 【0521 A组】merge

首先 \(\lfloor\dfrac{x\mid y}{2}\rfloor=\lfloor\dfrac{x}{2}\rfloor\mid\lfloor\dfrac{y}{2}\rfloor\),所以定义 \(d_i\)\(a_i\) 右移的位数,不考虑删除的时候一定有 \(\sum\limits_{i=1}^n\dfrac{1}{2^{d_i}}=1\),答案就是 \(or_{i=1}^n\lfloor\dfrac{a_i}{2^{d_i}}\rfloor\)。加上删除操作后即能选出一个子集或起来等于 1,当 \(\sum\limits_{i=1}^n\dfrac{1}{2^{d_i}}\ge 1\) 时这一定是可以办到的,证明显然。不妨定义 \(f_{i,j}\) 表示前 i 个,或起来是 j 的最大的 \(\sum\limits_{i=1}^n\dfrac{1}{2^{d_i}}\)。找 \(f_{n,i}\ge 1\) 的最小的 i,复杂度 \(\mathcal{O}(Tnw2^w)\)

注意到我们可以假设答案每一位全是 1,然后从高到低尝试将这一位改为 0,则合法当且仅当 \(a_i>>d_i\) 都是当前答案 ans 的子集,然后就 \(\mathcal{O}(Tnw^2)\) 了。

然后是神秘优化。寄一个 \(b_i\)\(b_i\) 的第 j 位为 1 表示 \(a_i>>j\) 不是 ans 的子集。如果要把 ans 第 t 位从 1 改成 0,把 \(b_i\) 或上 \(a_i>>t\) 即可。\(d_i\) 的取值就是 \(b_i\) 最低的 0 的位置,这个可以 \(\mathcal{O}(1)\) 求,然后就 \(\mathcal{O}(Tnw)\) 了。

  • B 【0515 A组】词典

很厉害的题。设 \(f_n=\sum\limits_{i=1}^n\lfloor1+\log_2 i\rfloor\)\(d_n\) 为答案。有转移式

\[d_1=1,d_n=f_n+\min\limits_{i=1}^{n-1}\{(i>1)f_i+d_i+d_{n-i}\}(n>1) \]

解释一下。可以把每个数丢到 trie 上,i 是左子树中数的个数。当 i>1 时,由于不能有一个是另一个的前缀,所以左儿子不能选,所以左儿子也要算一个 \(f_i\)。注意到 d,f 都是凸的,证明如下:

考虑用若干条斜率递增的一次函数刻画这个 d。注意到这样需要的一次函数很少,大概是 2000 条左右。题解说 \(f_n\)\(n\log n\) 级别,\(d_n\)\(n\log^2 n\) 级别,所以斜率是 \(\log^2 n\) 级别。对比较小的 n 暴力 dp 求出一些斜线,然后每次二分第一个不在这条直线上的点,这个可以二分。因为 d 是凸的,所以也可以二分斜率/三分。但是问题在于目前 \(d_i,d_{n-i}\) 可能还没求出来,怎么办捏?一种解决方法是我们假装当前已知的最后一条直线延伸到了无穷远,但是这样为什么是对的?

考虑分讨。如果 \(d_n\) 算对了显然不会有问题,所以只用看算错的情况。如果算错了说明前面必然有拐点,如果算出来没拐点就寄了。假设真正的 \(d_n\)\(d'_n\),由于斜率单增,所以 \(d_n-d'_n=k>0\)。假设是从 \(d_i,d_{n-i}\) 转移过来的,显然这个时候 \(d_{n-i}\) 应该也在新的直线上,因为 \(d_n\) 算错了。注意到此时 n-i 到 n 这一段的斜率就不满足单调递增的规律了,所以这种情况不可能存在。于是正确性得到证明。

分析一下复杂度。直线有 \(\log^2 n\) 条,二分拐点 \(\log n\),二分决策点 \(\log n\),找到对应直线 \(\log(\log^2 n)\),大概是 \(\mathcal{O}(\log^4 n)\)\(\mathcal{O}(\log^5 n)\)?可以提前打好表。

  • A 【0515 A组】整除

特判 x=1,其他时候同乘 (x-1) 转化成 \(f(x)\times (x-1)\) 能被 \(x^m-1\) 整除。记 \(f(x)\times (x-1)=\sum\limits_{i=0}^{m-1}a_ix^i\),注意到 \(x^y\) 等价于 \(x^{y\bmod m}\),于是可以求 \(a_i\) 了。考虑如何 check 一个 x 是否合法,考虑不断进行以下操作:

  • 找一个 \(a_i\ge x\),将 \(a_i\) 减去 \(x\),将 \(a_{(i+1)\bmod m}\) 加上 1;

  • 找一个 \(a_i\le -x\),将 \(a_i\) 加上 \(x\),将 \(a_{(i+1)\bmod m}\) 减去 1;

\(\forall i,|a_i|<x\) 时,容易发现满足条件当且仅当所有 \(a_i\) 都等于 0、x-1 或 -x+1。所以当初始时 \(a_i\) 都为 0,则有无数解;否则考虑枚举 x,直接拿个 map、set 什么的模拟上面的过程。因为 \(\sum|a_i|\)\(\mathcal{O}(n)\) 级别的,且我们只需要考虑不超过 \(\max|a_i|+1\) 的 x,且一次操作会让绝对值之和减少至少 x-1,复杂度 \(\mathcal{O}(n\log n\ln n)=\mathcal{O}(n\log^2 n)\)

  • A 【0522 A组】序列

终于场切一道题了,感动。

注意到这个合法子序列的条件相当于你标记若干个格子,初始时你的分数是 A,从左往右走到一个没有被标记的格子时失去 X 的分数,否则得到 \(a_i\) 的分数,要让任何时刻分数都不小于 0。考虑每一段 \((b_{i-1},b_i]\) 可以独立考虑,定义 \(f_{i,j}\) 表示前 i 段,贡献和为 j 的目前最大的分数。如果想让这个段没有贡献那我们直接标记每个格子,否则我们从左往右扫,每次遇到不合法时贪心的从之前的还没被标记的格子中取出 \(a_i\) 最大的标记上。因为在当前位置之前的格子对后面的分数的贡献都是一样的了,所以这样直接贪很对啊。复杂度 \(\mathcal{O}(mn\log n)\)

  • [AGC001E] BBQ Hard

原题是简单的,显然的组合意义,然后就会了。考虑加强版本,\(\sum(a_i+b_i)\le 2\times 10^7=M\)

一种想法是根号分治。称 \(a_i+b_i\le B\) 的点为小点,否则为大点。小点到小点可以沿用原来的做法,\(\mathcal{O}(B^2+n)\);大点到大点可以枚举一对点 \((i,j)\),暴力 \(\mathcal{O}(\left(\dfrac{M}{B}\right)^2)\) 算组合数;小点到大点可以先枚举大点,注意到这样从小点开始一定会经过直线 \(y=-x\) 恰好一次,不妨枚举交点 \((x,-x)\),显然 \(x\in[-B,B]\),然后小点到他的方案在小对小得时候处理过了,他到大点的方案可以直接组合数,复杂度 \(\mathcal{O}(\dfrac{M}{B}\times B)=\mathcal{O}(M)\);大点到小点类似处理。取 \(B=\sqrt{M}\) 即可 \(\mathcal{O}(M)\)

另一种想法是范德蒙德卷积。

\[\sum_{i=1}^n\sum_{j=i+1}^n{a_i+b_i+a_j+b_j\choose a_i+a_j}=\sum_{i=1}^n\sum_{j=i+1}^n\sum_x{a_i+b_i\choose a_i+x}{a_j+b_j\choose a_j-x}=\sum_x\sum_{i=1}^n\sum_{j=i+1}^n{a_i+b_i\choose a_i+x}{a_j+b_j\choose a_j-x} \]

此时前面的 \(x\) 要满足 \(x\in[-a_i,b_i]\),后面的要 \(x\in[-b_j,a_j]\),拆成两部分,开个数组存对应 \(x\) 的和,扫一遍即可。复杂度 \(\mathcal{O}(M)\)

  • C 【0402 A组】乱斗之星(0524)/gym102394H

典。注意到 T 要么是 1 要么是 Tmax,考虑先选出一棵生成树,跑点分优化建图,剩下的 m-n+1 条边直接暴力贡献即可。这样就可以了 \(\ldots\) 吗?

当然不可以,这样做时间 2log,空间大常数 1log,完全过不去。注意到每个实点的出边边权都是一样的,考虑舍弃建图和 dij。以 T=1 为例,定义 \(f_i\) 表示 k=i 的答案,初始只确定了 \(f_1=0\),其它都不确定。建立点分树,优先队列维护 \(d_i\) 确定且 \(d_i+c_i\) 最大的 i,每次取出来,遍历它在点分树上的祖先。假设当前这一层分治结构代表的分支中心是 p,其中有点 j 的 \(d_j\) 未确定,如果 \(dist(i,p)+dist(p,j)\le a_i\) 则可以直接 \(d_j\gets d_i+c_i\) 然后在这一层删去 j。如果事先对每一个分治结构内每个点按到分治中心的距离从小到大排序,则上述过程可以简单用一个指针查询与维护,均摊复杂度 \(\mathcal{O}(n\log n)\)。对于多出的 m-n+1 条边 (u,v),我们依次钦定 u 和 v 为一个类分治结构的“分治中心”,内部的点就是 n 个点,类似上面那么做即可。求距离需要 \(\mathcal{O}(n\log n)/\mathcal{O}(n)-\mathcal{O}(1)\) lca 和 bfs。总复杂度 \(\mathcal{O}(n\log n+(m-n)n)\)

  • B 【0525 A组】简单题

题解声称可以证明最优解是 \(a_i=(2i-1)2^{\lfloor\log_3(2n/(2i-1))\rfloor}\)

但是这样太不牛了,考虑一个正常人在考场上能想到的做法。考虑 \(a_i=i+n\),这样一定合法了。然后从 n 到 1 枚举 x,看目前 a 中 x 的倍数是否只有一个,如果是的话就可以把它替换成 x,这样显然更优,而且效果是一样的。复杂度 \(\mathcal{O}(n\ln n)\)

  • A 【0525 A组】签到题

可以证明,当每种颜色都出现过,且任意相邻珠子的颜色都不同是有解的充要条件。必要性显然,下面的构造方法可以体现充分性。

n=3 时有解。当 n>3 时,我们考虑找到相邻的三个点 (x,y,z),使得 \(a_x,a_y,a_z\) 两两不同,且 \(a_y\) 在所有珠子中出现次数 \(c_{a_y}>1\),连接 (x,z) 就可以递归到一个 n-1 的子问题。

然后是满足条件的 n 个点中一定能找到这样的 (x,y,z)。因为三种颜色都出现过,所以一定能找到 \(a_x,a_y,a_z\) 两两不同的位置。如果 \(c_{a_y}>1\) 就找到了,否则考虑 z 的下一个珠子 w,\(a_z\neq a_w\),因为 \(c_{a_y}=1\),所以 \(a_w\neq a_y\),所以 \(a_y,a_z,a_w\) 也两两不同,这样递归找一下一定能找到 \(c_{a_y}>1\) 的 y。实现很简单,直接做,随便做。

  • B 【0402 A组】勾股计数(0524)

移项即 \(a^2=(c-b)(c+b)\),考虑 \(d\mid a^2\),当 \(d\equiv\frac{a^2}{d}\pmod 2\)\(a\neq d\) 时,c,b 有正整数解。所以当 \(a\bmod 2=1\) 时,答案为 \(\frac{d(a^2)-1}{2}\),否则一定有 \(d\equiv\frac{a^2}{d}\equiv 0\pmod 2\),答案就是 \(\frac{d(\frac{a^2}{4})-1}{2}\)。于是核心在于求 \(\sum\limits_{i=1}^{\lfloor n/2\rfloor}d(i^2)\)\(\sum\limits_{i=1,2\nmid i}^nd(i^2)\)

先看 \(\sum\limits_{i=1}^nd(i^2)\) 形式的式子怎么求:

\[\begin{aligned} \sum\limits_{i=1}^nd(i^2)&=\sum\limits_{i=1}^n\sum\limits_{x\mid i}\sum\limits_{y\mid i}[\gcd(x,y)=1]\\ &=\sum\limits_{x=1}^n\sum\limits_{y=1}^n[\gcd(x,y)=1]\lfloor\dfrac{n}{\text{lcm}(x,y)}\rfloor\\ &=\sum\limits_{t=1}^n\mu(t)\sum\limits_{x=1}^{\lfloor\frac{n}{t}\rfloor}\sum\limits_{y=1}^{\lfloor\frac{n}{t}\rfloor}\lfloor\dfrac{n}{(xt)(yt)}\rfloor\\ &=\sum\limits_{t=1}^{\sqrt{n}}\mu(t)\sum\limits_{x=1}^{\lfloor\frac{n}{t^2}\rfloor}\sum\limits_{y=1}^{\lfloor\frac{n}{t^2}\rfloor}\lfloor\frac{\lfloor\frac{n}{t^2}\rfloor}{xy}\rfloor\\ \end{aligned} \]

其中第三到第四步是因为需要 \(n/t^2\ge 1\)。记 \(h(n)=\sum\limits_{i=1}^n\lfloor\frac{n}{i}\rfloor=\sum\limits_{i=1}^nd(i)\),则上式等于 \(\sum\limits_{i=1}^{\sqrt{n}}\mu(t)\sum\limits_{x=1}^{\lfloor\frac{n}{t^2}\rfloor}h(\lfloor\frac{n}{xt^2}\rfloor)\)。暴力枚举 t,整除分块算 x 和 h,预处理 \(\le n^{2/3}\) 的 h,可以证明复杂度是 \(\mathcal{O}(n^{2/3})\) 的。

考虑算 \(\sum\limits_{i=1,2\nmid i}^nd(i^2)\),过程是类似的:

\[\begin{aligned} \sum\limits_{i=1,2\nmid i}^nd(i^2)&=\sum\limits_{i=1}^n\sum\limits_{x\mid i}\sum\limits_{y\mid i}[\gcd(x,y)=1]\\ &=\sum\limits_{x=1,2\nmid x}^n\sum\limits_{y=1,2\nmid y}^n[\gcd(x,y)=1]\lceil\dfrac{\lfloor\frac{n}{\text{lcm}(x,y)}\rfloor}{2}\rceil\\ &=\sum\limits_{t=1,2\nmid t}^{\sqrt{n}}\mu(t)\sum\limits_{x=1,2\nmid x}^{\lfloor\frac{n}{t^2}\rfloor}\sum\limits_{y=1,2\nmid y}^{\lfloor\frac{n}{t^2}\rfloor}\lceil\dfrac{\lfloor\frac{n}{t^2xy}\rfloor}{2}\rceil\\ \end{aligned} \]

\(H(n)=\sum\limits_{i=1,2\nmid i}^n\lceil\frac{\lfloor\frac{n}{i}\rfloor}{2}\rceil=\sum\limits_{i=1,2\nmid i}^nd(i)\),上式等于 \(\sum\limits_{i=1}^{\sqrt{n}}\mu(t)\sum\limits_{x=1,2\nmid x}^{\lfloor\frac{n}{t^2}\rfloor}H(\lfloor\frac{n}{xt^2}\rfloor)\),也可以做到 \(\mathcal{O}(n^{2/3})\)

  • A 【0529 A组】苦痛之路

赛时想到做法,感觉时间复杂度不对没敢写,后面来不及了/fn

\(n=\prod\limits_{i=1}^k p_i^{e_i}\),原问题即给若干个数安排指数 \(e'_i\),使 \(\min e'_i=0,\max e'_i=e_i\)。考虑 \(e'_i\) 只有 0、\(e_i\) 和其他三种取值,容斥可以做到大概是 \(4^kk\) 左右的复杂度。进一步发现 \(e'_i\) 中有 0 没有 \(e_i\) 和有 \(e_i\) 没有 0 是本质相同的,精细一点就是 \(\mathcal{O}(3^k)\) 了。多测就把 \(\{e_i\}\) 记忆化一下即可,实测发现本质不同 \(\{e_i\}\) 只有大约 30000 种。

(一个优化是把相同的 \(e_i\) 合并到一起算,容斥的时候枚举每一种情况的个数。题解宣称这样做可以大幅减小常数,但实测比较粗放的实现是完全打不过精细实现的不优化的方法的,因为这个要算组合数什么的。感觉更细节的处理也无法优太多。)

  • B 【0529 A组】丝之歌

超级无敌原神大王无敌题解。

\(\mathcal{O}(m2^n)\) 的暴力 dp 你是会的,考虑优化。就类似 meet-in-the-middle 的做法,把原点集分成两个,分别 dp,然后暴力枚举横跨两个点集的边选取情况,复杂度 \(\mathcal{O}(m2^m+2^c)\),其中 m 是两个点集中较大的的大小,c 是横叉边条数。那么,怎么确定一个较优的划分方案呢?答案是,直接随机化即可。

题解给了一个很有理有据的证明,似乎证明了在题目数据下 c 的期望不超过 26。实际实现中可以先随便划分一下,然后类似爬山那样调整几次,似乎就可以通过了?常数还是比较稳的。

相关文章:

5月杂题

一点骨灰?臭不要脸的回到了机房,感觉大家越来越强了,膜拜。 想到什么写什么。多校清北营训练「清华场」B. 绕口令/gym100162B题意:定义一个字符串为好的当且仅当其中没有两个相邻字符相同,问你对 \(k\in[1,n]\),能否删去原字符串中连续 \(k\) 个字符得到一个好的字符串。…...

uv,下一代Python包管理工具

uv,下一代Python包管理工具 https://segmentfault.com/a/1190000047202911 什么是uv uv(Universal Virtual)是由Astral团队(知名Python工具Ruff的开发者)推出的下一代Python包管理工具,使用Rust编写。它集成了包管理、虚拟环境、依赖解析、Python版本控制等功能,它聚焦于…...

阅读 |《虚空》观后感以及一些想法——万物简史

保持学习,保持记录,保持思考—————— 啊啊啊,真的有好多想要去做的事情,好多想要体验的事情,真的没法同时去学习所有的事物,那是多么的令人感到幸福 这篇文主要就记下看完《虚空》之后的想法以及之后和AI的讨论 首先呢我初读这本书感觉很枯燥,但一整篇看下来之后还是…...

Python进阶必看:深入解析yield的强大功能

https://segmentfault.com/a/1190000045317342?utm_source=sf-similar-article Python进阶必看:深入解析yield的强大功能 头像 涛哥聊Python 2024-10-22 四川 阅读 3 分钟 头图 大家好,我是涛哥,本文内容来自 涛哥聊Python ,转载请标原创。 更多Python学习内容:http://ip…...

polyglot,一个有趣的 Python 库!

https://segmentfault.com/a/1190000045317129 polyglot,一个有趣的 Python 库! 头像 涛哥聊Python 2024-10-02 四川 阅读 4 分钟 头图 大家好,我是涛哥,本文内容来自 涛哥聊Python ,转载请标原创。 更多Python学习内容:http://ipengtao.com 今天为大家分享一个有趣的 Py…...

个人介绍与博客初建

大家好!我是 李祺,很高兴能通过博客园这个平台和大家交流。我是一名计算机相关专业的学生,在平时生活里,音乐、旅途和美食是三大支柱。耳机里永远循环着不同语言的旋律:华语流行的细腻歌词、K-pop 的强劲节奏、英文歌的叙事感,都能让我在忙碌时快速切换状态。 旅游是我探…...

PySimpleGUI,一个神奇的 Python 库!

https://segmentfault.com/a/1190000045317132?utm_source=sf-similar-article#item-3-3 大家好,我是涛哥,本文内容来自 涛哥聊Python ,转载请标原创。 更多Python学习内容:http://ipengtao.com 今天为大家分享一个神奇的 Python 库 - PySimpleGUI。 Github地址:https://…...

c++ 的拷贝构造函数

当类成员变量有指针类型的时候,要自定义拷贝函数,不要使用默认的拷贝构造函数.因为默认的拷贝构造构造函数是浅拷贝是位拷贝的,只拷贝指针指向的空间而没有把空间里的内容一起拷贝过来,这样会导致改变其中的一个,另一个也会跟着一起改变(老婆也都一样的了)class Teacher{ publi…...

变异

n可以理解成特征的对比 是的,完全可以这么理解!✅ 一句话总结:n 就是“你用多少种不同的视角/特征去衡量这两段区间的关系”。✅ 举个例子: 你把两条 150 kb 区间(X 和 Y)拿来比较,可以问:视角(特征) 具体问法 对应通道覆盖度视角 “X 和 Y 哪边 reads 更多?” read…...

【笔记】类欧几里得算法

类欧几里得算法(之后或许会加上万欧)直接用例子开始吧: \[给定 a,b,c,n,求解\sum_{i = 0}^n\left\lfloor\frac{ai+b}{c}\right\rfloor \]我们记 \(f(a,b,c,n) = \sum_{i = 0}^n\left\lfloor\frac{ai+b}{c}\right\rfloor\) 首先考虑 \(a \ge c\) 或 \(b \ge c\) 的情况: 先…...

AQS的一些思考

AQS-AI问答AQS是怎么实现CountDown AQS 为 CountDownLatch 提供了核心的 状态管理(state 作为计数器) 和 线程排队 / 唤醒机制(CLH 队列):通过 tryAcquireShared 检查计数器是否为 0,决定线程是否需要等待; 通过 tryReleaseShared 原子递减计数器,当计数器归零时唤醒所…...

DearPyGui-最强大的一款Python GUI工具

https://zhuanlan.zhihu.com/p/200754892 其实,在Python中不乏知名的UI构建工具包,例如,Tkinter,PyQT / PySide,wxPython,Kivy,PySimpleGui。这些工具包都很强大,但是,也非常繁琐。 开发一个框架要付出的精力和代码量几乎和核心逻辑相差无几,这与Python崇尚的简单是相…...

2 模型评估与选择

目录P18P23P25 P18 可以好好想一下ROC曲线是如何形成的:我们设置不同的二分类的阈值,就会有不同的(TPR,FPR)对;如果我们将所有数据按照其置信度从大到小排序,然后让阈值逐渐减小,并在ROC曲线上进行描点,那么我们可以发现,如果遇到一个正例,那么当前点会竖直向上走\(\fr…...

TY-290ES计算器屏幕逆向

刷拼多多时看到个便宜的TY-290ES计算器,到手价只需要人民币11块多,还是个点阵屏,真是难以想象国产计算器能做这么便宜,买一个来研究下。廉价小商品大本营(浙江)发的货,,,先点亮看看,功能很少,比82ES还差点意思。屏幕点阵粗略估了下,应该是96x31像素的,顶部有一行图标…...

CF1559E

时间限制 \(2\,\text{sec}\) 空间限制 \(256\,\text{MB}\) 题目来源 CodeForces。 题目大意 给定 \(n\) 个区间 \([l_i,\, r_i]\) 和一个常数 \(m\) ,在每个区间内选出一个正整数 \(a_i\) 构成一个数列 ,满足\(\displaystyle\sum^{n}_{i=1}a_i \leq m\) , \(\gcd \{a_i \} …...

笔记 哈希

A - Description 给定字符串 \(S\) 和 \(T\),问你在 \(S\) 中 \(T\) 出现了几次。 \(1\le |S|,|T|\le 2\times 10^6\) A - Solution 首先暴力地来想。在 \(S\) 中找出所有长度为 \(|T|\) 的子串,然后暴力逐字符匹配,复杂度显然是 \(O(n^2)\) 的,考虑优化。(此处假设 \(|T|…...

题解:CF566A Matching Names

题意 有 \(n\) 名同学,每位同学有一个真名与一个笔名,都是一个由小写英文字母组成的字符串。每位同学可以选择一位同学,使自己的真名与那位同学的笔名相匹配,产生的贡献为其最长公共前缀,每位同学的笔名只能与一人匹配,求贡献总和的最大值。 思路 把笔名插入字典树,并在…...

Tarjan 求连通性相关

复健发现自己对于 Tarjan 的一些东西都有些搞不清了啊。整理一下。 如有错误/不足,欢迎指出。 先给一些定义:\(u\) 表示某个子树的根节点。 \(v\) 表示与 \(u\) 相连的点。如果是无向图那么不包含父亲。 \(fa\) 表示 \(u\) 在 DFS 生成树上的父亲节点。 \(dfn_u\),表示 \(u\…...

暑假学习笔记

Hadoop 生态:实时 + 离线一体化 Flink on YARN 初体验 使用 Flink 1.17.1 提交 yarn-session 模式,队列 queue.stream 独享 4G 堆、2 vcore;编写 Kafka → Hive 的流式入湖作业,消费 user_behavior Topic,Checkpoint 30 s,Exactly-Once 写入 Hive 表 ods_log_rt,实现分钟…...

qoj #8557. Goldberg Machine 题解

有意思原题:https://qoj.ac/problem/8557 弱化版:https://www.luogu.com.cn/problem/P7830 但是弱化版要求做到更优复杂度,但是没有修改。 本文的 参考文章钦定树以 \(1\) 为根。钦定所有点 \(u\neq 1\) 的 \(e,t\) 循环位移成 \(e_{u,k_u-1}=fa_u\),就是把父亲丢到最后。 …...

centos7云主机磁盘清理过程纪要

云主机总磁盘大小为120G,在阿里云控制台配置了磁盘使用达90%告警 1. 收到告警短信 2. 当前磁盘占用情况 df -h | grep dev 已达到 89% 3. 开始排查 3-1. 查看哪个目录占用最大 du -sh /* 或者 du -sh /* | sort -h 发现 /www 目录占用 69G 3-2. 查看 /www du -sh /www/* /ww…...

『随笔』我的唱歌练习史

继续加油!因为热爱。...

2025浙江省信息通信业职业技能竞赛-数据安全管理员竞赛-决赛wp

通信证-签到flag{data_security_is_very_interesting}数据加密与解密-KeekKey题目描述:在数据安全领域,弱密钥和不安全的加密方式如同数字世界的 "隐形杀手",可能引发严重安全漏洞,威胁个人、企业甚至国家网络安全。如金融交易系统使用弱密钥,会被黑客暴力破解篡…...

Java基础核心问题解析

Java基础核心问题解析:方法、数组与类的深度探讨 在Java学习过程中,方法参数传递、数组特性、类与对象的关系等是基础且核心的知识点,也是容易产生困惑的地方。本文将围绕课前提出的一系列问题,逐一解析,帮助大家深入理解这些概念。 一、方法相关问题解析 先看这段代码,我…...

2025年浙江省信息通信业职业技能竞赛-数据安全管理员竞赛-初赛WriteUp

数据传输-网恋需谨慎:你是一个管理员,在一个名为orwell.freenode.net的服务器上结识了用户RiotCard85,RiotCard85主动联系了你,询问近况并提到他最近在做一个项目想让你看看。项目中隐藏了一些有趣的信息和内容,不幸的是黑客截获了你们的的网恋聊天记录,请分析找出RiotCa…...

九三阅兵实时记录+次日补

激动啊!情绪有点激动。...

铸网-2025”山东省工业互联网网络安全职业技能竞赛wp(职工组)

ICS失窃的工艺下载后test.PCZ文件,需要使用力控软件打开。但电脑没有安装这个软件,尝试把后缀名改为.zip,解压后直接搜索flag文本:成功在文件中找到flag:flag{D076-4D7E-92AC-A05ACB788292}。工控协议分析WireShark打开分析,追踪TCP流,flag被逐字符藏在流量中:拼凑起来…...

视洞R33定制版改造自制IPC网络摄像头(可rtsp可web)

这期的主角是视洞R33智能摄像头,LT定制版。我们通过修改启动命令让它运行开放系统,并且搭建rkipc平台,通过WEB/VLC预览视频画面 硬件配置很高啊,主控使用RV1106G2(带0.5T NPU),传感器gc4023,宽视角分辨率2560x1440@30fps,实测4M分辨率能跑满。能连WiFi,支持双向对讲、红…...

二十一、流水线的冒险与处理

目录总览:冒险的类型1. 结构冒险 (Structural Hazard)2. 数据冒险 (Data Hazard)3. 控制冒险 (Control Hazard)总结表流水线的冒险(Hazard)是破坏流水线顺畅执行,导致流水线不得不停顿(Stall)或清空(Flush)的主要因素。处理这些冒险是流水线设计的核心挑战。我们将详细…...

java线程的一些思考

java线程AI问答join是怎么实现的 1.join() 方法被 synchronized 修饰,意味着当前线程调用 t.join() 时,必须先获取目标线程 t 的对象锁(即进入 t 的同步代码块)。 2.方法内部通过 while (isAlive()) 循环检查目标线程是否存活: -若存活,当前线程调用 wait(0)(在目标线程…...

2025智能数据分类分级产品选型指南:构建数据治理的智能基座

2025智能数据分类分级产品选型指南:构建数据治理的智能基座在《数据安全法》《个人信息保护法》以及《数据安全技术 数据分类分级规则》(GB/T 43697-2024)等法规标准的推动下,数据分类分级已从“可选项”变为企业数据安全治理的“必答题”。面对金融、运营商、政务等行业中…...

这是我的第一个博客

这是我的第一个博客...

3

12...

eqw

qwe...

第一个c语言项目

1.打开vs 2.创建项目 3.创建源文件 .c 源文件 .h 头文件 注意后缀: .cpp 编译器会按照C++语法来编译代码 .C 编译器会按照C语言来编译代码 4.写代码 C语言一定要有(主函数)main函数 C语言规定:main函数是程序的入口 一个工程中nain函数有且仅有一个 include.h s…...

GitHub Copilot 2025年8月最新更新!

GitHub Copilot 2025年8月最新更新!GitHub Copilot迎来2025年8月重大更新,新增自动模型选择功能,可根据可用性智能匹配最优AI模型,提升开发效率。安全方面增加敏感文件编辑确认机制,同时优化了代理工作流程和终端自动批准功能。更新还支持AGENTS.md文件指导团队协作,并改…...

NOIP 模拟赛十五

Ds+计数DP+计数DP/容斥+根号重构range 将所有值以及除以二所能得到的所有值插入一个数据结构里,如果变为 \(0\) 就停止。 那么答案即为第 \(m+1\) 大的值减去第 \(m\) 大的值和前缀最小值取 \(\min\) 的差。 维护这个使用权值树状数组做到小常数 \(O(n\log^2 n)\) 。 注意查排…...

面试必备进程调度:fg,bg,jobs,ctrl+z,

面试必备进程调度:fg,bg,jobs,ctrl+z,& linux提供的fg和bg命令,可以让我们轻松调度正在运行的任务 假如你发现前天运行的一个程序需要很长的时间,但是需要干前天的事情,你就可以用ctrl-z挂起这个程序,然后可以看到系统的提示: [1]+ Stopped /root/bin/rsync.sh然后我们…...

完整教程:计算机毕设 java 多媒体教室管理系统 基于 Java+SSM 的多媒体教室运维平台 Java+MySQL 的教室预约与设备管理系统

完整教程:计算机毕设 java 多媒体教室管理系统 基于 Java+SSM 的多媒体教室运维平台 Java+MySQL 的教室预约与设备管理系统pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "C…...

笔记一

大家好!我是一名计算机相关专业的学生,平常做的最多的事情就是坐在电脑前敲代码解决各种 “小难题”。但写代码让我养成了 “遇到问题不逃避” 的思维,毕竟调试 BUG 时,多试一次可能就会有新突破。 说到值得分享的记忆,那就是我对于一些体育项目的热衷,比如打排球比赛,你…...

二十、指令流水线的基本实现

目录一、设计原则 (Design Principles)二、逻辑结构 (Logical Structure)三、时空图表示 (Space-Time Diagram Representation)总结一、设计原则 (Design Principles) 流水线的设计遵循几个核心原则,以确保其正确性和高效性。任务分解 (Decomposition)原则: 将指令的完整执行…...

物料模板匹配成功后,自动跟随的逻辑

问题简介 在对物料进行模板匹配时,往往是去匹配物料最突出的部分。然后在根据匹配到的位置。再去找我们需要测量或者检测部分。那么,这里就涉及到一个问题。该如何根据我们模板匹配到的特定位置,计算偏差值,并进行一些测量工具(卡尺,ROI)的跟随移动。 获取相对位置 此处…...

TCL t508n 关闭电话语音王提醒/改用4G

先吐槽一波( TCL的系统真的比原生还毛坯,到目前为止部分功能没有完善由于学业压力本文缺少部分图片说明,请见谅改用4g 打开拨号界面输入 ##4636## 设置首选网络类型 NR就是5G ,LTE是4G,WCDMA 3G 只用4g就选择LTE only 按照自己的需求选择 https://pic1.imgdb.cn/item/68c5…...

完整教程:Markdown 编辑器 语法

完整教程:Markdown 编辑器 语法pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important; fon…...

天地图的带洞多边形操作

/** 往 polygon 中添加一个洞 */ function addHole(polygon: T.Polygon) {const handler = new T.PolygonTool(map)handler.open()handler.addEventListener(draw, ({ currentPolygon }) => {const oldLnglats = polygon.getLngLats()map.removeOverLay(currentPolygon)poly…...

k8s集群中一台etcd的pod异常

k8s集群中一台etcd的pod异常 记一次etcd报错2380bind already in use杀掉容器依然无效 起初通过命令:kubectl get pod -n kube-system 发现etcd容器异常在主节点通过kubectl logs查看pod日志发现很明显的报错端口被占用当时查看2380端口确实有在占用通过nerdctl stop指令试着停…...

深入解析:基于51单片机电子称称重压力检测阈值报警系统设计

深入解析:基于51单片机电子称称重压力检测阈值报警系统设计pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New",…...

手撕大模型|KVCache 原理及代码解析

在大型语言模型(LLM)的推理过程中,KV Cache 是一项关键技术,它通过缓存中间计算结果显著提升了模型的运行效率。本文将深入解析 KV Cache 的工作原理、实现方式,并通过代码示例展示其在实际应用中的效果。 一、为什么需要 KV Cache? 在 Transformer 进行自回归推理(如文…...

Kuby免疫学读书笔记01——造血干细胞

造血干细胞(HSC, Hematopoietic stem cell) 血细胞的起源造血干细胞位置骨髓(主要) 脾和肝(少量)分裂与分化正常状态多部份沉默 小部分分裂并分化 分裂得到的daughter cells部分依旧保持分裂分化潜力 另一部分分化为祖细胞,自我更新能力下降,并更倾向于分化为血细胞感染状态和…...

微信群机器人开发

使用微信云pad协议来开发微信机器人,可以开发的项目很多,例如一些娱乐机器人、云发单系统,私域流量的智能管理和营销拓客,还有一些自动采集和发朋友圈的云端系统等。每个行业都有需求这样的系统应用,在线教育、金融、电商已经一些个人微商应用。 可开发的功能包括但不限于…...