The 2024 ICPC Asia East Continent Online Contest (I) C. Permutation Counting 4(二分图完美匹配奇偶 模拟高斯消元/并查集)

题目

每次给定n(n<=1e6),有n个限制,

第i个限制是(li,ri),要求第i个数位于[li,ri]之间

问有多少排列同时满足n个限制,答案对2取模,也就是只需要知道奇偶性即可

实际t(t<=1e6)组样例,保证sumn不超过1e6

思路来源

菜菜园子群+daydreamers群

题解

首先,问题转化成二分图的完美匹配计数问题

左边点[1,n],右边点[1,n],左边点i向右边点[li,ri]里的每个点连边,问有多少种完美匹配

这个东西可以用积和式求,矩阵的构造方法是a[i][j]=1(如果左i和右j之间有边),否则为0

 

根据积和式的定义,

这个就是n行n列里选n个1出来,任意两个数不在同一行同一列,n!种方案都求和的值

 

而根据行列式的定义,n行n列里选n个1出来,任意两个数不在同一行同一列,

对于这n!种方案,其中逆序对为奇数的排列是减,逆序对为偶数的排列是加

3d6cb9e6e1e544878d29e6e9367123b2.png

而每项要么是1要么是0,所以这俩东西模2的值是相同的

 

01矩阵(F2上的矩阵/全幺模矩阵)里行列式的值只可能是0,-1,1三种情况,

F2即只有0和1的域(mod 2的域)

线性相关(秩为0)时行列式值是0,单位矩阵E的行列式值是1,给1的两行换一换行列式是-1

所以,问题等价于判断矩阵对应的行列式的值是否为0,即是否线性相关

 

做法是对于每个[l,r],连边l-1和r,如果出现环,说明线性相关,否则线性无关

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小衣同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值