ABC251 题解

典中典比赛 .

A - Six Characters

题面

给一个长度不大于 \(3\) 的字符串 \(S\),将它重复若干遍,使得其长度为 \(6\) .

暴力 .

B - At Most 3 (Judge ver.)

题面

\(n\) 个数,选不超过三个加到一起,问不大于 \(W\) 的有多少个 .

\(1\le n\le 300\) .

暴力,然后用 Hash 表去重计数即可 .

C - Poem Online Judge

题面

\(n\) 个字符串,每个字符串有权值,找出第一次出现有最大权值的字符串编号 .

\(n\le 10^5\) .

Hash 表去重然后扫一遍 .

D - At Most 3 (Contestant ver.)

题面

给一个 \(W\),构造一个长度不超过 \(300\) 的序列 \(\{a\}\),使得对于所有 \(x\in[1,W]\cap \mathbb Z\) 都有 \(\{a\}\) 中至多三个数的和等于 \(x\) .

\(W\le 10^6\) .

\(10^6\) 按十进制拆成三段,每段两位,对每位都暴力输出就行了 .

如果不懂就看代码,正好用了 \(297\) 个数 .

E - Takahashi and Animals

题面

一个环 \(\{a_n\}\),每次可以花 \(a_i\) 的代价将 \(i\)\(i+1\)(循环)都打上标记 .

问将所有位都打上标记所需的最小代价 .

\(2\le n\times 10^5\) .

DP .

就是环有点恶心,分开讨论对不对 \(n\) 操作最后取 min 即可 .

F - Two Spanning Trees

题面

给一张 \(n\)\(m\) 边无向图,构造两个生成树 \(T_1,T_2\),满足:

  • 如果 \((u,v)\) 不在 \(T_1\) 上,那么它们一定在 \(T_1\) 中有祖先关系 .
  • 如果 \((u,v)\) 不在 \(T_2\) 上,那么它们一定在 \(T_2\) 中没有祖先关系 .

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

根据我们学过的 Tarjan,我们知道 DFS 树不存在横叉边,那么 \(T_1\) 就是 DFS 树了 .

然而 \(T_2\) 要求全是横叉边,我们 BFS 一遍,如果 BFS 树有返祖边那么肯定会先走那条边,矛盾,于是 \(T_2\) 是 BFS 树 .

G - Intersection of Polygons

题面

给一个 \(n\) 顶点凸多边形,以及他的各种平移后的图形(\(m\) 个).

多组询问,每次问一个坐标是否交于所有图形 .

\(1\le n\le 50\) .
\(1\le m,q\le 2\times 10^5\) .

多边形求交?

把每个多边形拆成半平面交的形式,然后分开处理每条边,平移的直接取 min 筛掉,这样只剩下 \(n\) 条边 .

然后因为 \(n\) 只有 \(50\),询问的时候暴力判断是否在每个半平面里即可,这个可以直接初中解析几何掉,也可以用向量叉乘 .

Ex - Fill Triangle

题面

给一个游程编码 \(\{P\}\),表示序列 \(\{A_n\}\),序列 \(A\) 的每个元素都在 \(1\)\(6\) 之间 .

构造一个广义二项式系数 \(\{\{B\}\}\),满足:

  • \(\forall 1\le i\le n, B_{n,i} = A_i\) .
  • \(\forall 1\le j\le i\le n-1, B_{i,j}= (B_{i+1,j}+B_{i+1,j+1})\bmod 7\) .

\(\{B\}\) 的第 \(k\) 行 .

\(n\le 10^9\)\(k\le 5\times 10^5\) .

先鸽着 .

🕊

posted @ 2022-05-20 11:10  Jijidawang  阅读(107)  评论(0编辑  收藏  举报
😅​