Problem J. Xingqiu’s Joke
你有一个两个正整数构成的二元组\((a,b),a,b\in[1,10^9]\),你可以进行如下操作:
- \((a,b)->(a-1,b-1)\)
- \((a,b)->(a+1,b+1)\)
- \(g\)是\(\gcd (a,b)\)的某个质因子,\((a,b)->({a\over g},{b\over g})\)
最少需要多少操作,可以使得\(a=1\)或者\(b=1\),多组询问\(T\le 300\)。
\(f(a,x)\)表示\((a,a+x)\)的答案,从\(f(\lfloor \frac a g \rfloor,\frac x g)\),\(f(\lceil \frac a g \rceil,\frac x g)\)转移过来,第二维状态很少,第一维状态在于上下取整的选择。而不管怎么选择,除出来的数总在全向下除和全向上除之间。因此状态数很少。
Problem I. Cloud Retainer’s Game
现在有一个高度为\(H\),长度无限的空间。你有一个小球,初始位置在\((0,0)\),初始速度为\((1,1)\)。然而在\(y=0\)和\(y=H\)和\((x_1,y_1)...(x_n,y_n),n\le 10^5\)有挡板,小球遇到挡板会\((v'_x,v'_y)=(v_x,-v_y)\)。此外,在\((x'_1,y'_1)...(x'_m,y'_m)\)有金币。小球碰到金币就得到这个金币。
你现在可以去除\((x_1,y_1)...(x_n,y_n)\)中任意多个, 问你最多可以得到多少金币?
Problem K. Circle of Life
有一个长度为\(n \le 10^7\)的01串,服从“生命游戏”规则,即:
-
某个0,如果相邻的位置恰好有一个1,下一轮变为1。
-
其他情况,无论\(1\)还是\(0\),下一轮都是\(0\)。
给定\(n\),请你构造一个串,使得这个串无穷轮也不是全\(0\)串
Problem H. Crystalfly
给定一棵\(n\le 10^6\)个节点的树,树的节点\(i\)上有萤火虫\(a_i\)只,你到达这个节点就可以获得其所有萤火虫。现在你在根节点,你可以沿着树边移动,每秒钟移动一条边。然而萤火虫十分滴珍贵,你到达任何一个节点,他所有相邻的节点\(u\)将被扰动,\(u\)节点的萤火虫(如果还有)将在\(t_u\le 3\)秒后消失。请问最多可以得到多少萤火虫?
J. Two Binary Strings Problem
给定\(n\le50000\)和\(a_i\)和\(b_i\),定义:
定义一个\(k\)是“十分珍贵的”,当且仅当对于所有\(i\),\(f(\max\{1,i-k+1\},i)=b_i\)
多组询问,\(T\le 50000,\sum n \le 50000\)
A. So Many Lucky Strings
给定一串字符串序列\(\{s_1,s_2\dots s_n\},n\le 100,\sum |s_i|\le 10^5\),一个合法的子序列定义为“字符串依次相接后是一个回文串”,请问有多少种不同的子序列?
C. Colorful Tree
给定一棵\(n\le 10^5\)个节点的树,每个叶子节点都有一个喜欢的颜色\(c_i\)。你是一个粉刷匠,每次可以粉刷一个节点及其子树内所有节点。你最少粉刷多少次可以使得所有叶子节点满意?
L. Karshilov's Matching Problem
你有一些十分珍贵的串\(\{t_1,t_2,\dots t_n\},\sum |t_i| \le 10^5,n\le 10^5\),每个串有个珍贵值\(w_i\)。王大队长给你一个串\(S,|S|\le 3\times 10^5\),和\(m\le 3\times 10^5\)个要求,要求分别为
- \(1 \quad l \quad c\):将\(S\)的后缀\(l\)个全部改为\(c\)
- \(2 \quad l\):查询\(S[1\dots l]\)的价值。其中价值定义为:$\sum w_i \times $$(t_i\(在\)S[1\dots l]\(的出现次数\))$。
请你支持这两个操作。
C. Assign or Multiply
你有一个数\(x\),一开始\(x=1\)。除此之外你还有\(n\le 10^6\)次操作,分为两种:
- \(x:=a_i\),\(x\)赋值为\(a_i\)
- \(x:=x\times a_i\),\(x\)赋值为\(x \times a_i\)
所有操作对\(p\le 2\times 10^5\)取模,\(a_i\in[0,p)\)
你可以随意打乱操作顺序,请问你可以得到多少种最终的\(x\)?
H. What logic for?
你有两个串\(S\)和\(T,|S|=|T| \le 10^5\)。司令说\(S\)和\(T\)是K-等价的当前仅当\(S\)可以被K-变换成\(T\)。
其中K-变换的定义为:
- 选取一个长度为\(2k\)的字符串段\(S[b\dots b+2k-1]\),对于\(i=0\dots k-1\)交换\(S[b+i]\)和\(S[b+k+i]\)。
有\(n\le 10^5\)组询问\((S,T,k)\),每组询问\(2k\le |S|\)此外\(\sum |S|+|T| \le 10^5\)
对于每个询问,回答是否是K-等价的
Problem M. Harmony in Harmony
有一块总面积为\(1\)的\(2D\)土地,定义这个土地的面积划分为\(S=\{s_1,s_2,\dots s_n\},n\le 500\),其中\(|s_1|=|s_2|=\dots=|s_n|=\frac 1 n\),\(s_i\)表示土地,\(|s_i|\)表示面积。并且\(s_i\cap s_j=\empty\quad (i\not =j)\)。值得高兴的是,划分出来的土地并不需要是某种特定形状,甚至可以不连续。因此\(2D\)土地的形状其实也无所谓。
其中\(S\)和\(A\)都是这个土地的面积划分,\(p\)是枚举排列。(即由你确定\(S\)和\(A\)的情况下,不断枚举排列\(p\)由上式得到一个值,使这个值最小化。)
E. Paimon Segment Tree
有一个长度为\(n\le 5\times 10^4\)的正整数序列,有\(m\le 5\times 10^4\)次修改操作和\(q\le 5\times 10^4\)次询问操作
- 修改操作\(l_i,r_i,x_i\ge 1\),将\(a_l\dots a_r\)加上\(x\)。记录修改后当前序列为一个版本\(a^{(i)}\)。
- 查询操作\(l,r,x,y\),查询$\sum_{j=x}^y \sum_{k=l}^r (a{(j)}_k)2 $
D. Degree of Spanning Tree
给定一个\(n\le 10^5\)个节点\(m\le 2\times 10^5\)条边的无向联通图,请你生成一个没有度数大于\(n\over 2\)的点的生成树。
送分题
给定一个有\(n\le 20\)个节点的有向图,每条边走路要\(t_i\),骑单车要\(c_i\le t_i\)的时间。每个节点都有可能有一个共享单车,概率为\(p_i\),价钱为\(p_i\)。由于时间就是金钱,你将一个单位的时间视作一个单位的金钱。你现在要从起点走到终点,最优策略下,期望最少花多少钱?