Vanilla_chan

永远可爱 永远善良

软件版本

  • MATLAB R2023b
  • yalmip 2021-03-31
  • CPLEX 12.10

不求新,但求适配。此版本组合经过我在两台电脑上成功安装

阅读全文 »

7月,从军训到ACM。军训虽枯燥,但教官对我们很友好;如果说军训是身体上的考验,那么随后的ACM则是精神和耐心的考验了。希望我在个人能力上有些进步吧。

阅读全文 »

Problem

\(n\) 个人乘船过河,该船容纳人的上限为 \(R\),并且需要至少 \(L\) 个人才能操作。每次过河时所有人都需划船,使船上所有人的耐力值减 \(1\)。最初每个人的耐力值为 \(h_i\)

判断是否所有人都能过河。

\(1\le L<R\le n\le 5\times 10^5\)

\(1\le h_i\le 5\times 10^5\)

阅读全文 »

Problem

在两人竞技比赛中,对于任何正整数 \(a\) ,我们定义 \(BO(2 a-1)\) 如下:两名玩家继续竞争,直到其中一人获胜 \(a\) 次,那么他赢得整个比赛。\(BO(2 a-1)\) 最多包含 \(2a-1\) 小局游戏,最少包含 \(a\) 小局游戏。

现在两个人进行一场 DotA2 比赛,使用的是 \(BO(2b-1)\ \texttt{of}\ BO(2a-1)\) 赛制。该赛制由最多 \(2b-1\) 最少 \(b\)主要比赛组成,每个主要比赛都是一个 \(BO(2a-1)\),由最多 \(2a-1\) 最少 \(a\)次要比赛组成。

假如比赛的结果是预先确定的:有一个长度为 \(n\)\(0-1\)\(T\) ,其中 1 表示 A 获胜,0 表示 B 获胜。A 和 B 的每一局次要游戏结果都从串 \(T\) 中获取。假如从 \(T\) 串的每个位置开始重复获取次要游戏结果,求最后谁赢了?

\(1\le n,a,b\le 10^5\)

阅读全文 »

Problem

有一个魔方可能被拧了不超过三次,同时还弄丢了一个角块上的两个贴纸。现在把这两个贴纸贴回去,请问有没有贴错?

只可能拧侧面,不会拧中间层,且每次只能拧 \(90^\circ\)

魔方用一个 9 行 12 列的字符型矩阵表示:

输入格式
阅读全文 »

Problem

Neko has two integers \(a\) and \(b\). His goal is to find a non-negative integer \(k\) such that the least common multiple of \(a+k\) and \(b+k\) is the smallest possible. If there are multiple optimal integers \(k\), he needs to choose the smallest one.

Given his mathematical talent, Neko had no trouble getting Wrong Answer on this problem. Can you help him solve it?

\(k\ge 0\) 使 \(\min\operatorname{lcm}(a+k,b+k)\),若有多个 \(k\),取最小的。

\(1\le a,b\le10^9\)

阅读全文 »

Problem

There are \(2\cdot n\) cards arranged in a row, with each card numbered from \(1\) to \(n\) having exactly 2 copies.

Each time, Red can choose a subarray of consecutive cards (at least \(2\) cards) to remove from the deck. The chosen subarray must satisfy that the first and last cards have the same number. The score for this operation is: the number of cards multiplied by the number on the first card. Now Red wants to know what is the maximum value of the final score?

给你一个长度为 \(2n\) 的数组,\(1\) 到 $ n$ 每个数字恰好出现两次。你可以进行这样的操作:选择两个相同的数字 \(x\) (必须都还存在于数组中),将这两个数以及其间的所有数字(共计 \(cnt\) 个)全部拿走,并获得 \(x\cdot cnt\) 得分。求最终最多能够获得多少分?

\(1\le n\le 3\times 10^3\)

阅读全文 »

Problem

给一棵根为 1 的有根树,点 \(i\) 具有一个权值 \(A_i\)

定义一个点对的值 \(f(u, v)=\max \left(A_u, A_v\right) \times\left|A_u-A_v\right|\)

你需要对于每个节点 \(i\) ,计算 \(a n s_i=\sum_{u \in \operatorname{subtree}(i), v \in \operatorname{subtree}(i)} f(u, v)\) ,其中 \(\operatorname{subtree}(i)\) 表示 \(i\) 的子树。

请你输出 \(\oplus\left(a n s_i \bmod 2^{64}\right)\) ,其中 \(\oplus\) 表示 XOR。

\(n \leq 5 \times 10^5, 1 \leq A_i \leq 10^6\)

阅读全文 »

Problem

Sajin最近深入研究了最小生成树,现在他已经掌握了MST的算法。他渴望通过一系列查询来评估您对最小生成树概念的掌握程度。

您将面临一个加权无向图,该图包含没有任何自环的 \(n\) 个顶点和 \(m\) 条边。

Sajin提出 \(q\) 询问。对于每个顶点集,都给出了一个顶点集 \(S\) 。您的目标是确定 \(S\)诱导子图(induced subgraph)并找到其最小生成树的权重。如果 \(S\) 的诱导子图断开,则输出-1

图的诱导子图是另一个图,由图的顶点子集和原始图中的所有边组成,连接该子集中的顶点对。即,对于图 \(G=(V,E)\) ,给定 \(V^\prime\) ,则有 \(E^\prime=\{(u,v) \mid u,v\in V^\prime,(u,v)\in E\}\),诱导子图为 \(G^\prime=(V^\prime,E^\prime)\)

\(2\le n\le 10^5,1\le m,q\le10^5\)

\(1 \le |S_i|\le n,\sum S_i\le 10^5\)

阅读全文 »