2020-team1-071

从 Trac 迁移的文章

这是从旧校内 Wiki 迁移的文章,可能存在一些样式问题,您可以向 memset0 反馈。

原文章内容如下:

[/wiki/2020-team1 返回]
== 概述 ==
solved: 8/14  dirt: 33%
rank: 46
[[Image(Rank.png,800px)]]
== 总结 ==

== 题解 ==
A: 对于每一位,假设这一位操作结果有>=3个1,将结果flip一下变成<=1个1,然后讨论1的数量分别是0,1,2三种情况
1的数量为0时,这一位随便怎么搞都行,反正结果一定是0
1的数量为1时,可以通过对A,B串这一位的变换,使得变成只有1和1运算时为1,就变成与操作
1的数量为2时,假设是类似10,11这2种运算得1,即结果一定是a,可以变成与操作,b这一位强制为1
              假设不是上面那种操作,则一定可以通过变换将这一位变成异或操作。
然后做fwt即可。
B: 
C: 打表观察相邻两项的差值,发现是-1,0,4,5,...,85,...,21845,...,相邻两个关键值求比值,发现是5,17,257,都是2^k^+1形式
D: 
E: 
F: 
G: 打表观察,奇数0,偶数2^n-2^*(n-1)!!*(n/2)^(n/2-2)^
H: 将所有点去掉x^2^*y^2^的势能后答案相当于路径上整点到原点距离的平方和;尽量走y=x附近或者直接曼哈顿距离过去两者取较短距离
I: 答案和两人操作无关
J: 不是二分图->no,否则每个连通块取较小的那一半
K: 
L: 
M: 考虑gcd(a_i,a_{i-1})这个序列,每次让它新加入的元素尽量小且满足条件,最后取ai=相邻两个gcd之积
N: 

[/wiki/2020-team1 返回]

概述

solved: 8/14 dirt: 33%

rank: 46

总结

题解

A: 对于每一位,假设这一位操作结果有>=3个1,将结果flip一下变成<=1个1,然后讨论1的数量分别是0,1,2三种情况

1的数量为0时,这一位随便怎么搞都行,反正结果一定是0

1的数量为1时,可以通过对A,B串这一位的变换,使得变成只有1和1运算时为1,就变成与操作

1的数量为2时,假设是类似10,11这2种运算得1,即结果一定是a,可以变成与操作,b这一位强制为1

假设不是上面那种操作,则一定可以通过变换将这一位变成异或操作。

然后做fwt即可。

B:

C: 打表观察相邻两项的差值,发现是-1,0,4,5,...,85,...,21845,...,相邻两个关键值求比值,发现是5,17,257,都是2k+1形式

D:

E:

F:

G: 打表观察,奇数0,偶数2n-2*(n-1)!!*(n/2)(n/2-2)

H: 将所有点去掉x2*y2的势能后答案相当于路径上整点到原点距离的平方和;尽量走y=x附近或者直接曼哈顿距离过去两者取较短距离

I: 答案和两人操作无关

J: 不是二分图->no,否则每个连通块取较小的那一半

K:

L:

M: 考虑gcd(a_i,a_{i-1})这个序列,每次让它新加入的元素尽量小且满足条件,最后取ai=相邻两个gcd之积

N:

附加文件