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

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

相关推荐
hahaha60168 分钟前
HLS高层次综合设计技巧--数组
开发语言·嵌入式硬件·算法·fpga开发
不会就选b13 分钟前
算法日常・每日刷题--<贪心>10
算法
南京兴帝文化传媒有限公司17 分钟前
本地生活服务商户GEO优化技术实践:AI大模型收录机制与地图POI权重算法拆解
大数据·人工智能·算法·生活·geo优化实操·csdn运营技巧·ai内容收录
linx2951 小时前
单元九 · 零基础路线图-第 7–9 周·类与 RAII
c语言·开发语言·数据结构·c++·嵌入式硬件·算法
布莱克6051 小时前
C++ 七大排序算法详解:选择、冒泡、插入、计数、堆、快速与归并排序
数据结构·c++·算法·排序算法
shehuiyuelaiyuehao2 小时前
算法44,模拟算法,数青蛙
算法·哈希算法·散列表
hanlin032 小时前
刷题笔记:力扣第287题-寻找重复数
笔记·算法·leetcode
kevin_kang2 小时前
第02章 对话时间线与延迟分析
算法
科学实验家2 小时前
最小生成树:Prim,kruskal
数据结构·c++·算法
学习智者2 小时前
《玄》IDE v3.6.3重磅发布:全功能修复与性能飞跃
开发语言·c++·ide·算法·中文语言 玄