• 省选模拟测试24


    我裂开了呀,三道题全是数学题。

    你让我这个数学菜鸡怎么活。

    由于这几道题这个菜鸡都看不懂,所以就把题解都搬过来了。

    T1 数字

    题目内容

    给定 (n,p) 以及长度为 (p-1) 的数列 (a_0,a_1,cdots,a_{p-2}),其中 (p) 是个质数。你需要求出:

    (displaystylesum_{i=1}^na_{imod (p-1)}cdotvarphi(i) mod p)

    其中 (varphi) 是欧拉函数,即 (varphi(i)) 表示小于等于 (i) 且与 (i) 互质的正整数个数,(p) 给定,且 (p) 是个小质数,满足 (2 le p le 23)

    总共会给定 (T) 组数列 (a_i),你需要对于它们分别算出答案。

    注意常数对于程序运行时间的影响,尽量减少取模运算,预处理两个数乘法取模的结果可以大幅度加快运算。

    数据范围:(1 le n le 10^9,1 le T le 10^4,0 le a_i < p,2 le p le 23)(p) 是质数

    solution

    数论数学+单位根反演。

    先考虑单位根反演一下:

    (displaystylesum_{i=1}^{n} a_{i ext{mod} (p-1)} imes varphi(i))

    (=displaystylesum_{i=0}^{p-2}a_isum_{j=1}^{n} [j equiv ipmod {p-1}] varphi(j))

    (=displaystyle {1over p-1}sum_{i=0}^{p-2}a_isum_{j=1}^{n}varphi(j) imes sum_{k=0}^{p-2} w_{p-1}^{k(j-i)})

    (displaystyle ={1over p-1}sum_{i=0}^{p-2}a_i sum_{k=0}^{p-2}w_{p-1}^{-ki} sum_{j=1}^{n} varphi(j) imes w_{p-1}^{kj})

    然后对于每一个 (b=0...p-2) 要求出:(sum_{j=1}^{n} varphi(j) imes (w_{p-1}^k)^j)

    设:(S(n,k) = displaystylesum_{j=1}^{n}varphi(j) imes k^j)

    (displaystyle S(n,k) = sum_{i=1}^{n}k^i(i-sum_{jmid i,j<i} varphi(j) = sum_{i=1}^{n} k^ii-sum_{d=2}^{n}sum_{j=1}^{nover d} varphi(j)-k^{dj} = sum_{i=1}^{n}k^ii-sum_{d=2}^{n}S({nover d},k^d))
    数论分块时需要计算类似于 ([l,r]) 中每个 (k^d mod p) 出现了多少次。由于 (k^d mod p) 是以 (p-1) 为循环节的,因此可以 (O(p)) 算出,复杂度 (O(n^{2over 3}p^2))
    但是注意到长度小于 (p) 的段没必要 (O(p)) 统计,暴力即可。而长度 (>= l) 的段个数是 (O(sqrt{nover l})) 的,因此总复杂度为 (O(n^{2over 3}p^{3 over 2}))

    
    

    T2 糖果

    题意描述

    (n) 箱糖果,其中第 (i) 箱里有 (a_i) 堆糖果,每堆糖果都有 (2_i) 个,如果拿了 (k) 个,得到的快乐值为 (displaystyle sum_{j=max(k,i)}^{2i}(-1)^{j-k}inom jkinom{i}{j-i}-[k=0])。其中 ([k=0]) 表示当 (k=0) 时值为 (1),否则为 (0)。最终可以从每箱中的每堆里面各拿出一些糖果放在一起,得到的快乐值为每堆糖果的快乐值的乘积(注意可以是负数)。例如 (n=2,a_1=a_2=1),从第一堆里拿 (0) 个,第二堆里拿 (3) 个,获得的快乐值为 ((-1) imes(-2)=2)

    对于每一种拿法,你都需要把这些糖果分给 (m) 个小朋友,小朋友可以不分到糖果,但是 (m) 个糖果必须分完。

    你需要算出所有方案下,快乐值的总和是多少。两种方案不同当且仅当从某堆里拿出的糖果数量不同,或者某个小朋友分到的糖果数量不同。小朋友都是有区别的,糖果是没有区别的。

    由于答案很大,你只需要输出快乐值总和 (mod 99824435) 的结果即可。

    数据范围:(1 le n,m le 10^5,0 le a_i < 998244353)

    solution

    数论数学+期望+多项式。

    设第 (i) 箱没推糖果的 (OGF)(F_i), 则相当于求:

    (displaystyle sum_{i}{(i+m-1choose m-1)}[x^i]prod_{j=1}^{n}F_{j}^{a_i})

    把组合数写成关于 (i) 的下降幂多项式,不难发现只需要算右边算式的 (0sim m-1) 解导数的系数和。余数只需要求出每个 (F) 的高阶导的 (EGF) 即可。

    (displaystyle sum_{j=k}^{2^i}j^{underline k} sum_{l=max(j,i)}^{2i}(-1)^{l-j}{lchoose j}{ichoose l-i}-[j=0])

    (=displaystyle k!sum_{l=i}^{2i}{ichoose l-i}sum_{j=k}^{l}(-1)^{l-j}{jchoose k}{lchoose j}-[k=0])

    (displaystyle =k!sum_{l=i}^{2i}{ichoose l-i}{lchoose k}sum_{j=k}^{l}(-1)^{l-j}{l-kchoose j-l}-[k=0])

    注意到后面的求和符号不为 (0), 当且仅当 (l=k), 因此值为:

    ([kgeq i]k!{ichoose k-i}-[k=0])

    因此 (EGF) 恰好为 (x^i(x+1)^i-1), 于是我们就相当于计算下式的前 (m) 项:

    (displaystyle prod_{i=1}^{n}(x^i(x+1)^i-1)^{a_i}=(-1)^{sum a_i}prod_{i-1}^{n}(1-x^i(x+1)^i)^{a_i})

    (y=x^2+x),即算:

    (displaystyle prod_{i=1}^{n}(1-y_i)^{a_i}=exp(-sum_{i=1}^{m}a_isum_{j=1}^{m}{y^{ij}over j}))

    于是得到了关于 (y) 的多项式 (P(y)), 由于 (y=x^2+x=(x+{1over 2})^2-{1over 4}), 于是令 (z=x+{1over 2}), 我们可以先计算 (Q(z^2) = P(z^2-{1over 4})), 在平移一步及可得到关于 (x) 的多项式。

    复杂度:(O(nlogn))

    
    

    T3 星星

    题目内容

    三维空间里有一些星星,第 (i) 颗星星的坐标为 ((x_i,y_i,z_i)),且有 (p_i) 的概率发光,(1-p_i) 的概率不发光。保证任意四颗星星不在同一个平面上。

    称一个星星是美丽的,当且仅当他是发光的,且不存在另外四颗发光的星星,使得这颗星星被严格包含在这另外四颗星星形成的三棱锥中。你需要求出期望有多少星星是美丽的。

    为了避免精度问题,你需要输出这个期望对 (998244353) 取模的结果。

    数据范围:(4 le n le 100,0 le x_i,y_i,z_i le 10^5),保证不会有四点共面的情况。

    solution

    计算几何+期望。

    不难发现,我们求的其实是期望三维凸包的大小。

    暴力枚举哪些点出现,注意我们只需要预处理 (f(S)) 表示有哪些点不会被 (S) 中的三棱锥包含,注意只有 (|S|<=4) 的时候才需要暴力判断,剩下的时候取所有子集的交即可。于是复杂度 (O(2^n n))

    当然抄模板每次建出三维凸包也可以做到 (O(2^n n^2))

    注意到欧拉公式 (V-E+F=2),我们只需要计算 (E,F) 的期望即可。
    因此复杂度 (O(n^4)),注意讨论只有小于等于三个点出现的情况。

    
    
  • 相关阅读:
    ubuntu下Thrift快速入门
    java Future用法和意义一句话击破 [转]
    RPC、基于netty的长连接和websocket
    基于netty的长连接
    IO
    HTML5 中websocket长连接的具体实现方法
    单链表中是否出现环状,使用快慢指针算法。
    SpringMVC 事务配置完全详解
    hibernate annotation 一对多,多对一,实例
    tomcat 内存溢出
  • 原文地址:https://www.cnblogs.com/genshy/p/14603739.html
Copyright © 2020-2023  润新知