2022.8.18 闲话

一半一半

《一半一半》

时间的微风吹过 缓缓拂过了耳畔

你的容颜一直悄悄改变 离去太久才发觉

回忆里面多少片段还能一一浮现在脑海

想要再重来 回到年少的姿态 你的白发也不再

生命的短暂 生活的阻碍

已经逝去的五分之三

还有多少安排 有多少期待

过去的梦何时捡起来

年轻的牵绊 老去的无奈

生命重复着因果循环

还有谁的身影能永远如此的伟岸

你的生命给了我一半 你的爱也给了我一半

夏天不懂冬日的严寒 未曾想过人生的辛酸

曾经有过多少的遗憾 最后全都微笑着释然

是否 爱就是要被他人欺诈未来

却不会悔改

没有任何的不凡也没有夺目光彩

我却明白你的意义所在 别人都无法替代

就算有时产生几许不快 你也很快就抛开

虽然很平淡 没有多少的波澜 却想时间过更慢

生命的短暂 生活的阻碍

已经逝去的五分之三

还有多少安排 有多少期待

过去的梦何时捡起来

年轻的牵绊 老去的无奈

生命重复着因果循环

还有谁的身影能永远如此的伟岸

无论我选择何种未来

无论你心中如何不安

最后还是放弃了愤慨

相信我已能独自承担

就算脾气总是特别坏

就算整天抱怨着不满

却也 怎么都无法放弃

这孤独港湾

年轻的牵绊 老去的无奈

生命重复着因果循环

还有谁的身影能永远如此的伟岸

你的生命给了我一半 你的爱也给了我一半

夏天不懂冬日的严寒 未曾想过人生的辛酸

曾经有过多少的遗憾 最后全都微笑着释然

谢谢你让我成为 最幸福的小孩

感谢你的爱


放一套普及(CSP-J)模拟题(不管 CCF 大纲)给大家练练手,不保证全为原创,不保证全为非原创 .


A. GCD Table

给一个序列 \(\{a_k\}\),问是否存在 \(i,j\),使得对任意 \(1\le l\le k\)\(\gcd(i,j+l-1)=a_l\) .

\(1\le k\le 10^4\)\(\forall i, 1\le a_i\le 10^{12}\) .


B. Divisors' Digit Count

给两个正整数 \(l,r\),对于所有整数 \(x\in[l,r]\),写出所有 \(x\) 的因子,并只保留十进制下最高位,问最后 \(1\dots 9\) 各留下多少 .

\(1\le l\le r\le 10^9\) .


C. 4-Tri Tuple

对于四个正整数 \(a,b,c,d\),取两数相加得到 \(e\),剩下两数记作 \(f,g\),若 \(e,f,g\) 能作为三角形的三边之长,则称四元组 \((a,b,c,d)\) 为 4-Tri .

给一个序列 \(\{a_n\}\),问有多少个 \(1\le i,j,k,l\le n\),使得 \((a_i,a_j,a_k,a_l)\) 是 4-Tri,对 \(998244353\) 取模 .

\(1\le n\le 10^6\)\(1\le a_i\le 100\) .


D. Range XOR-SSSP Queries

给一棵 \(n\) 个点的带权树,有 \(m\) 个操作,每个形如在 \(u\)\(v\) 间连一条边权为 \(w\) 的边,一段路径的权值定义为边权异或和 .

多组询问,每次询问给四个数 \(s,t,l,r\),问使用编号在 \([l,r]\) 间的操作,从 \(s\)\(t\) 的最小权值路 .

\(1\le n,m\le 3\times 10^5\) .


长空白下面是题解 .

\[\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px}\\\kern{1px} \]

题解:

A. GCD Table

\(x=\operatorname{lcm}(a_1,a_2,\dots,a_n)\),然后列出同余方程 .

excrt 解出 \(l\),然后回代判定即可 .


B. Divisors' Digit Count

首先可以发现一个前缀和性质:令 \(f(n,d)\) 表示 \(x\in[1,n]\) 时所有 \(x\) 的因子十进制下最高位为 \(d\) 的个数,则最高位为 \(d\) 的答案为 \(f(r,d)-f(l-1,d)\) .

于是我们考虑如何求 \(f(n,d)\),因子比较难处理,我们转而枚举倍数,对于一个数 \(k\),其 \([1,n]\) 内倍数个数即为 \(\left\lfloor\dfrac nk\right\rfloor\) .

考虑最高位为 \(d\) 的数只可能在区间:

  • \([d,d]\) .
  • \([10d, 10d+9]\) .
  • \([100d, 100d+99]\) .
  • \(\cdots\)

内,这个可以手玩一组 \(d\) 理解一下,于是我们用 \(O(\log n)\) 时间枚举区间,假设目前区间为 \([L,R]\),我们就是要求

\[F(L,R)=\sum_{k=L}^R\left\lfloor\dfrac nk\right\rfloor \]

这是经典整除分块问题了,可以 \(O(\sqrt n)\) 解决 .

于是求 \(f(n,d)\) 的问题被以 \(O(\sqrt n\log n)\) 的时间复杂度解决,回到原题我们就得到一个 \(O(\sqrt r\log r)\) 的解法(大常数).


C. 4-Tri Tuple

发现值域非常小,考虑从值域入手,我们考虑求一个 2-SUM:

\[f(x)=\sum_{i=1}^n\sum_{j=1}^m[a_i+a_j=x] \]

\(\displaystyle c_i=\sum_{k=1}^n[a_k=i]\),于是就有

\[f(x)=\sum_{i+j=x}c_ic_j \]

这就是一个卷积,可以 NTT \(O(n\log n)\) 解决 .

于是对于 \(e\) 的方案就求出来了,于是用类似方法求一个 2-SUM(需要分讨一下),即可得到原题描述中 \(e\) 一定,\(e=f+g\) 的答案 .

然后做一个后缀和并且把自己排掉就可以得到答案,总时间复杂度大概就是 \(O(n+m^4\log m)\)\(\displaystyle m=\max_{i\in[1,n]}\{a_i\}\) 是值域 .


D. Range XOR-SSSP Queries

根据 BZOJ2115 的结论得图上从 \(s\)\(t\) 的最小异或和可以拆成另外一条路径的异或和异或上几个环的异或和 .

所以我们先取初始值为 \(s\)\(t\) 树上路径的异或和,然后在把所有环的异或和放到线性基里,求最小异或和 .

这个 \([l,r]\) 的询问限制就考虑离线下来按 \(r\) 排序,对于每个位置 \(i\),记录所有 \(r=i\) 的询问,然后在插入线性基的时候,顺便维护上操作编号 .

对于每个询问,我们只考虑 \([1,r]\) 的操作,然后就只要满足修建计划的编号 \(\ge l\) 即可,线性基求最小异或和的时候顺便维护下就完了 .

posted @ 2022-08-18 20:49  Jijidawang  阅读(110)  评论(1编辑  收藏  举报
😅​