0%

A - Xor Battle

我们从后往前维护 \(0\) 的线性基,当遇到某一个属于 \(1\) 的数时,如果其不能被当前线性基内的数表示,则 \(1\) 必胜,反正是否异或这个数没有影响,如果扫完了都没有判断成功,则 \(0\) 必胜。

提交记录

阅读全文 »

注意到若 \(a_i=c^2r\),则让 \(a_i:=r\) 答案不会变。

则现在将问题转化为有 \(n\) 个有标号的不同颜色的球,问有多少种排列使得没有同色球相邻,设 \(a_i\) 为颜色为 \(i\) 的球的个数。

阅读全文 »

A - Takahashikun, The Strider

可以发现行走的路线在以 \((1,\frac{1}{2})\) 为圆心,半径为 \(1\) 的圆上,所以当再一次面向 \(y\) 轴合法,根据简单的数论知识可知答案为 \(\dfrac{360}{\gcd(n,360)}\)

提交记录

阅读全文 »

A - atcoder < S

随便做,我的做法是枚举 \(S\)\(\tt{atcoder}\) 的前缀,然后一次一定是把最靠近的目标字符转移过来。

提交记录

阅读全文 »

给定长为 \(n\) 的数列 \(a\),你需要构造一个长为 \(2n\) 的数列 \(b\),且 \(a_i=b_{2i-1}+b_{2i}\)\(b_i>0\),最小化将 \(b\) 的相同数字缩到一起后 \(b\) 的长度。\(n\leqslant 10^5\)\(2\leqslant a_i\leqslant 10^9\)

我们发现可以一开始让答案为 \(2n\),然后每有两个相邻的相同的数就让答案 \(-1\),故我们只需要最大化相邻的相同的数的数目。

阅读全文 »

给定 \(n\) 个点 \(m\) 条边的无向图,每条边有两个权值 \(a_i,b_i\),求一棵生成树使得 \[ \left(\sum\limits_{e\in T} a_e\right)\left(\sum\limits_{e\in T} b_e\right) \] 最小,输出乘积最小时的 \(\sum\limits_{e\in T} a_e\)\(\sum\limits_{e\in T} b_e\)\(n\leqslant 200\)\(m\leqslant 10000\)\(0\leqslant a_i,b_i\leqslant 255\)\(a_i,b_i\in N\)

阅读全文 »

\(f(i,j)\) 表示 \(i\) 是否能直接或间接到达 \(j\)

给定一个 \(n\times n\) 的矩阵 \(G\),求满足以下条件的有向图的最小边数:

  • \(G_{i,j}=\mathsf{A}\),则要求 \(f(i,j) \operatorname{and} f(j,i)=1\)
  • \(G_{i,j}=\mathsf{O}\),则要求 \(f(i,j) \operatorname{or} f(j,i)=1\)
  • \(G_{i,j}=\mathsf{X}\),则要求 \(f(i,j) \operatorname{xor} f(j,i)=1\)

\(n\leqslant 47\)

阅读全文 »