• 2019暑假杭二day7测试总结


    T1

    题目大意

    (sum_{i=1}^nsum_{j=1}^nmu(gcd(i,j))\%998244253,nle 10^{10})

    sol

    [sum_{i=1}^nsum_{j=1}^nmu(gcd(i,j))\ =sum_{k=1}^nsum_{i=1}^nsum_{j=1}^nmu(k)[gcd(i,j)=k]\ =sum_{k=1}^nmu(k)sum_{i=1}^{lfloorfrac{n}{k} floor}sum_{j=1}^{lfloorfrac{n}{k} floor}[gcd(i,j)=1]\ =sum_{k=1}^nmu(k)sum_{i=1}^{lfloorfrac{n}{k} floor}sum_{j=1}^{lfloorfrac{n}{k} floor}sum_{d|i&d|j}mu(d)\ =sum_{k=1}^nmu(k)sum_{d=1}^{lfloorfrac{n}{k} floor}mu(d)sum_{i=1}^{lfloorfrac{n}{kd} floor}sum_{j=1}^{lfloorfrac{n}{kd} floor}\ 令sum(x)=sum_{i=1}^n1\ 则原式=sum_{k=1}^nmu(k)sum_{d=1}^{lfloorfrac{n}{k} floor}mu(d)sum({lfloorfrac{n}{kd} floor})^2\ 考虑枚举k imes d\ 原式=sum_{T=1}^nsum_{d|T}mu(d)mu(frac{T}{d})sum({lfloorfrac{n}{kd} floor})^2\ 令f(x)=sum_{i|x}mu(i)mu(frac{x}{i})=(mu*mu)\ 原式=sum_{T=1}^nf(T)sum(lfloorfrac{n}{T} floor)^2 ]

    后面明显可以整除分块,问题变成了如何快速求(f(x))的前缀和,题解说可以用杜教筛,可我就是不会筛((mu*mu)),只写出了线筛的分。

    T2

    题目大意

    给定一个只包含小写字母的字符串 , 求其本质不同的子序列的个数,(len le 10^6,ans)(998244353)取模。

    sol

    我当时想了一个用tire树维护有多少个子序列,很明显方案数爆炸。

    其实正解不需要任何数据结构,十分简单。

    考虑递推,设f[i]为前i个字母组成的本质不同的子序列的个数。(f[i]=2f[i-1])。但这会有很多重复的,设(s_i)为第i个字母,我们还需减去之前以(s_i)结尾的子序列的个数,这些都被重复算了一次。以(s_i)结尾的子序列的个数也可以递推,+=f[i]-f[i-1]就行,因为多产生了这么多贡献。

    T3

    题目大意

    请你维护一个初始为空的点的集合,支持以下操作:

    • A x y 加入点 (x,y)
    • Q l r x y 询问点 (x,y) 与第 l 个 r 到个点的匹配度的最大值

    点 (x,y) 与 (a,b) 的匹配度为 ax+by

    sol

    我只写了暴力。

    正解把这个问题转为了几何问题,设 ax+by=k ,则 (-frac{x}{y}a+frac{k}{y}=b),问题变成了给一个斜率固定的直线,过区间内的一些点使截距最小。然后变成了我不会的线段树维护凸壳。

  • 相关阅读:
    Core Animation简介
    objective-c 常用函数、变量
    NSString判断纯数字
    自定义对话框AlterView
    IOS 6 自动布局 入门-1(IOS中autolayout和之前版本autoresize的差异)
    真机调试问题 错误集合
    block使用小结、在arc中使用block、如何防止循环引用
    View和viewController的生命周期
    IOS侧滑和webview
    Linker Error、MRC与ARC、导航条背景
  • 原文地址:https://www.cnblogs.com/hht2005/p/11402646.html
Copyright © 2020-2023  润新知