SDOI2019 总结

本文总结了SDOI2019中的三道题目:快速查询、热闹的聚会与尴尬的聚会、移动金币。快速查询利用Hash表和线性递推实现O(1)操作。热闹的聚会通过贪心策略求解最大独立点集问题。移动金币问题结合博弈论和计数DP解决,使用异或和与隔板法计算必胜策略。
摘要由CSDN通过智能技术生成

6423【SDOI2019】快速查询

标记维护序列信息, A d d , M u l , S u m , A n s Add,Mul,Sum,Ans Add,Mul,Sum,Ans

H a s h Hash Hash表维护单点信息,注意转换:

a [ x ] = M u l ⋅ v a l + A d d a[x]=Mul\cdot val+Add a[x]=Mulval+Add

∴ v a l = a [ x ] − A d d M u l \therefore val = \frac{a[x]-Add}{Mul} val=Mula[x]Add

逆元用线性递推求

每个操作复杂度 O ( 1 ) O(1) O(1),总复杂度 O ( q ⋅ t ) O(q\cdot t) O(qt)

6426【SDOI2019】热闹的聚会与尴尬的聚会

观察两个式子,可以写成: ( p + 1 ) ( q + 1 ) ≥ n + 1 (p+1)(q+1)\geq n+1 (p+1)(q+1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值