Codeforces Round #536 (Div. 2) 题解

BG


cf昨晚竟然都卡成jzoj了=_=;打到一半变成unrated的div2场了没啥好说的,万年在2k下摸爬滚打。。

A Lunar New Year and Cross Counting


没啥好说的,直接n^2模拟。

一开始没判中间也要是X,qaq

B Lunar New Year and Food Ordering


我居然认为B比C要难。。讲一下我的sb做法吧

我们对食物排序建线段树,统计s1[x]和s2[x]分别表示食物的数量和、价格的和

然后单点修改、区间变0、区间查询、线段树上二分就可以了(数据结构学傻.jpg

第一次交没开LL

C Lunar New Year and Number Division


猜一个结论,直接排序然后最大匹配最小就可以了

证明的话就是,首先肯定是两两配一组,用四个数字的情况讨论一下做差就可以知道了。。

D Lunar New Year and a Wander


第一眼以为是noipd2t1,理解一波发现直接优先队列就可以了啊

E Lunar New Year and Red Envelopes


std怎么可以这么短啊。。stl还能这样用.jpg

我们把线段拆成+1和-1用扫描线维护每个位置能取的最大红包,然后f[i,j]表示位置i阻止了j次的答案,往后转移比较显然

F Lunar New Year and a Recursive Sequence


这题就没写代码了

由乘法的性质可知最终的答案肯定是 f k f_k fk作为底数,指数是关于 b i {b_i} bi的线性组合。

那么我们算指数用矩阵快速幂,最后实际上要求解形如 x a ≡ b ( m o d 998244353 ) x^a\equiv b \pmod {998244353} xab(mod998244353)这样一个方程的任意一解

注意到 998244353 998244353 998244353的特殊性,我们求出原根3然后转化成 3 k a ≡ 3 c ( m o d 998244353 ) 3^{ka}\equiv 3^{c}\pmod {998244353} 3ka3c(mod998244353)这样的形式

于是就变成了求解 k a ≡ c ( m o d 998244352 ) ka\equiv c\pmod{998244352} kac(mod998244352)这样可以exgcd解决的问题,对于指数上的k我们用BSGS搞定

然后就没了


总结一波:手速很重要,还得好好读题。。两个小时的场能有多难?要争取1A

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值