7.17模拟赛总结

Posted Flame♡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了7.17模拟赛总结相关的知识,希望对你有一定的参考价值。

(晚上九点四十):感觉自己忘了什么(挠头 点开lk的课件 一边看一边回忆)

(晃到yc旁边看他在干什么 发现他在写博客) (惊)


今天还挺开心的

感觉原因是昨天吃了榴莲披萨 早上吃了牛肉汤 中午吃了小碗菜

准备明早烤个面包 在学校食堂发现了吐司 感觉可以三明治

时间安排

8.00-10.00

看看题 感觉都不是很懂啊 然后细想T1 没有想到转换 开始按照质因数分解的想法乱做

想到一个想法 结果做着做着发现假了

于是换了个想法(但其实还是假的) 看着九点多了没有细想冲了一下

10.00-11.10

思考T2 想到这个东西维护的时候 显然只有 b 2 b2 b2: 最小次大值 b 1 b1 b1 最小次大值路径上对应的最大值 b 3 b3 b3 最小最大值有用

考虑可以用Floyd合并

这个时候我想 既然可以Floyd 就可以spfa啊

而且用spfa的话 b 1 b1 b1 就没有必要了 就更好维护了

但是我这里少考虑了一个情况 目前还是假算法

11.10-11.50

吃饭 推推写写T3 想了半天还是迫真 n 5 n^5 n5 最优是 n 4 n^4 n4 感觉不会了

11.50-12.40

构数据测T2 然后发现挂了 非常惊恐 头脑风暴了一下 发现除了保留 b 2 b2 b2 最小的路径 还需要再保留一条 b 3 b3 b3 最小的(可以证明其他的就没有意义了) 一顿改 交

题目分析

T1

假做法

( 1 + w x + w 2 x + . . . w ( x − 1 ) x ) = 1 + ( w + w 2 + w 3 ) x (1+w^x+w^2x+...w^(x-1)x)=1+(w+w^2+w^3)^x (1+wx+w2x+...w(x1)x)=1+(w+w2+w3)x

不好评价 真的不好评价 我是怎么能认为上面这个柿子是成立的

upd

首先考虑到 9 A ( X ) + 1 = 1 0 x 9A(X)+1=10^x 9A(X)+1=10x

也就是求 1 0 x = 1 ( m o d   9 p ) 10^x=1(mod~9p) 10x=1(mod 9p)

接着考虑这个东西是存在循环节的

求出循环节之后 设其为 ∏ i p i k i \\prod\\limits_ip_i^k_i ipiki

那么对于一个 m m m 当且仅当 ∏ i p i k i m ∣ x \\prod\\limits_ip_i^\\frack_im|x ipimkix

复杂度 t n t\\sqrt n tn

T2

考虑spfa 维护 b 2 , b 3 b2,b3 b2,b3 然后带一个 w w w 然后合并

为啥要再带一个小的 b 3 b3 b3 呢 是因为考虑如果他俩要同时经过同一条边 并且这个边比较大 那么对于一个原来 b 2 b2 b2 小的 那么新的这条边可能会比 b 3 b3 b3

但如果取了一个小的 b 3 b3 b3 那么可能答案最后可以取到新的这条边

upd

和我的想法无关 要考虑kruskal 重构树 然后二分答案 考虑只能经过小于等于的边 那么就相当于求一个区间能否到另一个区间

然后主席树/线段树合并维护

T3

考虑dp f [ i , x , y ] f[i,x,y] f[i,x,y] 表示前 i i i 个数 a a a 选了 x x x, b b b 选了 y y y

upd

考虑转换问题为找出所有 x x x 序列 满足 x i < = a i x_i<=a_i xi<=ai&& x i < = b i x_i<=b_i xi<=bi

那么可以考虑枚举 ∑ x \\sum x x 然后插板

然后考虑第二个限制 可以考虑枚举每个位置 a i , b i a_i,b_i ai,bi x x x 的差值

套个lucas C i − 1 k − 1 C n − i + 1 − 1 k − 1 C m − i + k − 1 k − 1 C_i-1^k-1C_n-i+1-1^k-1C_m-i+k-1^k-1 Ci1k1Cni+11k1Cmi+k1k1

然后考虑优化lucas的过程

lucas的原理是对p进制每一位分开做之后乘积

所以数位dp就好

以上是关于7.17模拟赛总结的主要内容,如果未能解决你的问题,请参考以下文章

7.13模拟赛总结

5.13模拟赛总结

4.11模拟赛总结

6.29模拟赛总结

7.16模拟赛总结

7.16模拟赛总结