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,就相当于往左跳或者往右跳。

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

相关推荐
1000世界小札1 小时前
《大话数据结构》第9章精读:归并排序与快速排序完整 C++ 实现
数据结构·c++·算法
2601_956121974 小时前
背包基础篇(01、完全、分组、多重、混合)
c++·算法·动态规划
兴通物联科技5 小时前
SMT PCB 微小 DataMatrix 码扫不动问题分析 兴通 XT8601B 600 万像素工业读码器落地实践
大数据·人工智能·单片机·嵌入式硬件·算法·计算机视觉
月华路8 小时前
G1 GC 对数组与大对象(Humongous)的处理
java·jvm·算法
我想走路带风8 小时前
LRU和最长前缀和(计算机网络算法)
计算机网络·算法
M78佐菲8 小时前
Linux学习笔记:进程
linux·笔记·学习·算法
徐小夕10 小时前
表格、文档、甘特、大屏、表单一站打通:pxcharts超级表格4.0正式上线!
前端·算法·github
TechLee10 小时前
跨语言加解密总对不上?这个纯 Go 神库让 AES/RSA 与 PHP、Java 100% 互通
java·后端·算法
月华路12 小时前
G1 新生代对象晋升老年代:实现机制与 GC 日志
java·jvm·算法