P10644

Public NOIP Round #8 D. 矩阵

sol。

令 ,。如果能构造出合法的 ,就 arc135d 的方法。

分类讨论是否存在一个不全相同的行、一个不全相同的列。

arc189e

sol。

特判 。

归纳证明 不合法。对于 时 合法。将 分为 个集合 。集合内权值为 ,集合间权值为 的权值。可能不合法的方案要求其中一个集合至少大于等于为另外两个集合之和。令 。

CF1097E

记 为最大的 使得 。可以构造 使得 。

在 内划分任意一个排列。设最长上升子序列长为 。如果 ,取出,。否则由 Dilworth,存在 个下降子序列可以拼出原序列,贪心构造。

P9731

对于 ,一定有解。连边 ,把奇数度的点连向一个虚点,跑欧拉回路。可以保证原来奇数度的点入度出度差为 。

对于更大的 ,当作 对 个的处理,使得左右两边差值 。分治左右两边。

P11066

分为要向左的点和要向右的点。从后往前做,要向左的点先向右一步,要向右的点直接去要去的位置。再从前往后,要向左的点去要去的位置。问题是,对于只要向右走一步的点,会在这时挡到路。

先做一步调整。调整会把空位从最右移到最左,所以上面部分反过来。每次从后往前考虑 和 ,如果 为奇数就不考虑最后一个点。如果 和 在右移一格后需要调整,就交换 i+2,i+2,0,i+1,否则直接 i+2,i+1,把空位向左移。

理论上 ,常数较小。

CF538G

将坐标轴转 45 度,两维独立。将坐标替换为 ,每次加一或不动。

设一个循环节加 。对于 相邻的位置,,解不等式。

P7320

生成树。要么叶子,要么叶子两两匹配形成路径。dfn 序上有交的叶子对连成的路径有交。

agc037d

正反出发各做一次重排行,相当于把 看做一种颜色的通配符。希望重拍列之后每行变成相同的。

左部点 行,右部点 种颜色,连边为原来这一行有几种这个颜色,每个点 条入(出)边。求 组完美匹配,第 组若 则 颜色为 。

是 - 正则二分图,由霍尔定理一定存在完美匹配,删掉一组完美匹配后是 - 正则二分图。所以一定存在 组完美匹配。

可以由 loj180 做到 。

CF2138E2

可以用 造出 。 :

  1  1  0  0  0  0  0  0
 -1  1  1  0  0  0  0  0
  0  0  1  1  0  0  0  0
  0  0 -1  1  1  0  0  0
  0  0  0  0  1  1  0  0
  0  0  0  0 -1  1  1  0
  0  0  0  0  0  0  1  1
  0  0  0  0  0  0 -1  1

可以在此基础上 。:

  1  1  0  0  0  0  0  0
 -1  1  1  0  0  0  0  0
  0  0  1  1  0  0  0  0
  0  0 -1  1  1  0  0  0
  0 -1  0  0  1  1  0  0
  0  0  0  0 -1  1  1  0
  0  0  0  0  0  0  1  1
  0  0  0  0  0  0 -1  1
 

想选右下角的 ,左上的 选法唯一,有 的逆序对,右下任意。

多个 可以叠加。:

  1  1  0  0  0  0  0  0
 -1  1  1  0  0  0  0  0
  0  0  1  1  0  0  0  0
  0  0 -1  1  1  0  0  0
  0  0  0 -1  1  1  0  0
  0  0  0  0 -1  1  1  0
  0 -1  0  0  0  0  1  1
  0  0  0  0  0  0 -1  1

要求选法固定的矩形必须相互包含。

一行最多选 个,不能同时操作 和 。但是 ,一定存在合法操作。构造时从低位开始考虑每个 连续段。

agc064e

记 ,。则 ,只要 满足一定性质,就能反推一个 。

对 一行求和,。又因为 把整个 算了 遍,所以 。

只要满足整除,使得存在 即可。就是:,所有 和 模 同余。

现在是,存在一种构造 的方式,满足模 同余的性质,且可重集就是 。然后如果再不满足模 的性质,就调整一个数即可。

也就是,希望构造 ,使得每行每列之和都是 。要求 对互不相同。

这个可以是,构造 正交拉丁方,对于 都有解,不会。

对于 奇数,可以构造:,。

对于 偶数,再利用一点题目性质,由于模 ,所以 个数有两个同余,分别为 和 。可以,构造 和 分别在两个列中出现 次,剩下元素每行每列各一个。那就是 , 的第 和 行分别是 和 ,剩下再按某种方式排。

根本说不清是什么、为什么,下面是 和 的 :

0 0 1 1 2 2 
2 4 0 5 1 3 
3 2 4 0 5 1 
5 3 3 4 4 5 
1 5 2 3 0 4 
4 1 5 2 3 0 
0 0 1 1 2 2 3 3 
3 6 0 7 1 4 2 5 
5 3 6 0 7 1 4 2 
2 5 3 6 0 7 1 4 
4 4 5 5 6 6 7 7 
7 2 4 3 5 0 6 1 
1 7 2 4 3 5 0 6 
6 1 7 2 4 3 5 0 

感觉并没有很懂。