ICPC/CCPC好题精选

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)\)\(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\),定义:

\[f(l,r)=\begin{cases} 1,& \text{if}\;\sum\limits_{i=l}^r a_i > \frac{r-l+1}{2} \\ 0,&\text{otherwise} \end{cases} \]

定义一个\(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\),一个合法的子序列定义为“字符串依次相接后是一个回文串”,请问有多少种不同的子序列?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章