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(x−1)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 i∏piki
那么对于一个 m m m 当且仅当 ∏ i p i k i m ∣ x \\prod\\limits_ip_i^\\frack_im|x i∏pimki∣x
复杂度 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 Ci−1k−1Cn−i+1−1k−1Cm−i+k−1k−1
然后考虑优化lucas的过程
lucas的原理是对p进制每一位分开做之后乘积
所以数位dp就好
以上是关于7.17模拟赛总结的主要内容,如果未能解决你的问题,请参考以下文章