BJTU第十六届大学生程序设计竞赛
作者:互联网
A 暗影岛的歌声
设 \(f_i\) 表示第 \(i\) 次的结果,若 \(s_i='-'\),则 \(f_i=f_{i-1}\),否则计算 \(f_i\)。
B 构造集合
\(a\) 的构造必然为 \(a_i=\text{lcm}(b) \cdot i+1\),只需要考虑如何构造 \(b\)。
假设:
\[\text{lcm}(b)=2^{k_1} \cdot 3^{k_2} \cdot 5^{k_3} \cdot 7^{k_4} \cdot 11^{k_5} \cdot 13^{k_6} \]只需要满足 \(\text{lcm}(b) \cdot 10^4\le 2 \cdot 10^{18}\),并且 \(\prod_{i=1}^{6}(1+k_i)>10^4\)。
dfs枚举 \(k_1 \sim k_6\),判断是否满足上述条件即可。
C 小丑竟在我身边
考虑构造可行方案:选一个未被删除的点,然后标记它,然后把它和它的相邻点都删了,所以任何一个连通块都是可行的。
所以大小大于 \(1\) 的连通块最多有一个,则可行。
D 三体·Round - 穿越光墓
扫描线建树,然后求树上两点间距离。
E 整理书柜
设 \(f_i\) 表示整理完前 \(i\) 个书柜后,结尾的最小值,则:
\[f_i=\max\{s_i-s_j \mid f_j \le s_i-s_j\}=s_i-\max\{s_j|f_j+s_j \le s_i\} \]线段树或者单调栈维护。
F 排队
分别算一下 \(a_i=b_i,a_i=b_{i-1}\) 的前缀和,然后枚举操作点。
G 铁憨憨骑士团的课后作业
考虑可以使用 \(1\),那么如果 \(n\) 不是素数的话可以构造分解:
\[n=k+n/k+1+1+\cdots+1=k \cdot n/k \cdot 1 \cdot 1 \cdot \cdots \cdot 1 \]H 精英班
I 三体·Round - 掩体计划
但这个是要求父亲节点编号小于当前节点,这样只需要把kruskal改成prim就行了。
J 完全不回文排列
K 铁憨憨骑士团的缎带分配
若 \(\max(a,c)<\min(b,d)\) 则可行。
标签:BJTU,le,10,第十六届,text,cdot,max,程序设计,lcm 来源: https://www.cnblogs.com/nekko/p/16690310.html