2024ICPC网络赛1: C. Permutation Counting 4

题意:

给定 n n n个区间 L i , R i L_i,R_i Li,Ri设集合 A = { { p i } ∣ p i 为排列, L i < = p i < = R i } A=\{ \{ p_i\} | p_i为排列,Li<=p_i<=R_i\} A={{pi}∣pi为排列,Li<=pi<=Ri},让你求 ∣ A ∣ m o d    2 |A| \mod 2 ∣A∣mod2。

思路:

这道题在比赛的时候被卡了很久,我尝试猜各种结论,但是发现都行不通。导致了整个比赛的节奏很糟糕。

后面突然发现可以转换成行列式来做,就是第 i i i行的 L i L_i Li到 R i R_i Ri列全部填1,其它都是0,求这个行列式的奇偶性。

然后我就想着左端点相同的可以用最短的来消元,然后用线段树合并来维护。

赛后得知这是一个很常见的套路,但自己感觉能想到行列式已经非常的不容易。而且求解行列式可以建立n+1个点,给点 L i L_i Li和 R i + 1 R_i+1 Ri+1连边,判断是不是树即可。原理就是线性相关的几个行向量系数都是1和-1,就相当于往左跳或者往右跳。

最令人难过的是,我在一本竞赛书里面查积分表的时候发现旁边已经写了这个结论。。。

相关推荐
Navigator_Z14 小时前
LeetCode //C - 1254. Number of Closed Islands
c语言·算法·leetcode
deepseek2314 小时前
GPT-6 Astra 破解 FrontierMath 九年悬案拆解:调和熵投票规则反证核恒非空,局部搜索如何终结反例悬赏
人工智能·算法·ai agent
syagain_zsx14 小时前
算法基础篇 · 04 前缀和(C++ 题解)
c++·算法·前缀和
青山是哪个青山15 小时前
LeetCode 123:买卖股票的最佳时机 III
算法
Zane199416 小时前
写对二分查找有多难?Java集合框架的作者也曾栽在一行mid计算上
算法
Lokey86816 小时前
transformer结构
算法
罗斯83916 小时前
EMBER恶意软件基准数据集
人工智能·算法·安全·网络安全
0+11116 小时前
算法 --二分查找
c++·算法·leetcode
Omics Pro17 小时前
新型条件传输模型!虚拟细胞扰动预测
数据库·人工智能·算法·机器学习·自然语言处理
黄金龙PLUS17 小时前
5个800比特大状态置换算法的设计与分析
算法·网络安全·密码学·哈希算法·同态加密