T1:下棋
题目大意:两个人人博弈,有k个同时进行的游戏,每次可以操作任意一个游戏。每个游戏由n*m的01棋盘组成,每次可以选择值为1的(x,y),把(x’,y’)(x’<=x,y<=y’)反转,求是先手必胜还是后手必胜。
考试时,AC
题解:
ans^=a[i][1][1];
ans== 1 lyp win
ans== 2 id win
讲题DL的方法:
2和4不变,1变,所以改变一个1(除了(1,1)上的),要偶数步。
所以(1,1) 有点就是先手必胜。
而毕业生老师给了一种更简单的证明:
(1,1)无论每次询问都会改变,所以…如果(1,1)=1,我先手就直接把它变成0,后手把他变成1,我还把它变成0,就必胜了。
T2:图书馆
题目大意:给一个有向无环图,求1到n的权值的最小方差。
方差的化简:
∑
(
a
i
−
a
v
e
)
2
n
\frac{\sum (a_i-ave)^2}{n}
n∑(ai−ave)2
=
∑
a
i
2
+
a
v
e
2
−
2
a
i
a
v
e
n
=\frac{\sum a_i^2+ave^2-2a_iave}{n}
=n∑ai2+ave2−2aiave
=
∑
a
i
2
n
+
∑
a
v
e
2
n
−
2
a
v
e
∑
a
i
n
=\frac{\sum a_i^2}{n}+\frac{\sum ave^2}{n}-\frac{2ave\sum a_i}{n}
=n∑ai2+n∑ave2−n2ave∑ai
=
∑
a
i
2
n
+
a
v
e
2
−
2
a
v
e
∑
a
i
n
=\frac{\sum a_i^2}{n}+ave^2-\frac{2ave\sum a_i}{n}
=n∑ai2+ave2−n2ave∑ai
=
∑
a
i
2
n
+
a
v
e
2
−
2
a
v
e
2
=\frac{\sum a_i^2}{n}+ave^2-2ave^2
=n∑ai2+ave2−2ave2
=
∑
a
i
2
n
−
a
v
e
2
=\frac{\sum a_i^2}{n}-ave^2
=n∑ai2−ave2
然后dp就行了(细节)
T3:连词成句
题目大意:给定两个数组,有一个操作可以把b[x]插y前面(x>y),求最小操作数。
DP(不太会贪心回溯)
T4:矩阵
题目大意:给n条线段,取图上的矩形个数。
打了个伪正解(约n^3)
枚举两条竖边,再枚举同时相交的横线,记有tot条,ans+=tot(tot-1)/2;
最多卡成O(200000000+)
600+ms$