zoukankan      html  css  js  c++  java
  • CYJian的新春虐题赛

    题解:

    t1:

    算了一下发现乘法也是可以莫比乌斯反演的

    然后就直接对原式莫比乌斯反演了

    大概加法是$mu {(i)}*f(i)$ 乘法就是$f(i)^{mu {(i)}}$

    然后这个算法成功达到$nlog^2$

    两个log里面都加了除法分块依旧没卡过

    大概可以通过记忆化一下达到一个log但这题空间就8mb不太想写

    为啥大家的做法都是0~1个log啊

    t2:

    把中间空行删了这个是基本套路

    然后就是网络流的建图

    大概就是同一列上下连相邻边,行相同列相邻再连一条边

    我感觉我算的复杂度这样跑网络流就能过了

    题解的费用流的复杂度好奇怪。。。

    当然由于只有0/1边所以spfa可以替换成0/1bfs(不过复杂度应该是少一个log呀)

    t3:

    和题解做法不太一样

    直接打了个表

    然后高阶差分了一下

    发现是常数列

    所以这个东西应该有通项而且最高次数是k-1了

    然后就拉格朗日插值一下了

    通过记忆化一些东西就可以做到做$n^2$次了 加上求逆元$n^2logn$

    题解的做法也比较简单

    考虑把那个式子化成从上一行递推

    会发现可以列成乘上$(1+2x+2x^2+2x^3+...)$

    这个套个ntt+快速幂就行了

    $n*log^2n$的 好像比拉格朗日插值快不到哪里去

    t4:

    发现考虑组合数这个不太好做

    然后变成dp过去

    发现可以矩阵优化然后矩阵还是个循环矩阵

    于是复杂度就可以$k^2logn$了

  • 相关阅读:
    最大子串和
    [USACO1.5]数字金字塔 Number Triangles
    数字金字塔
    台阶问题
    取余运算
    数列分段pascal程序
    Java 集合-Collection接口和迭代器的实现
    Java 集合-集合介绍
    Java IO流-File类
    Git学习记录
  • 原文地址:https://www.cnblogs.com/yinwuxiao/p/10480172.html
Copyright © 2011-2022 走看看