Codeforces 235E

原题
题目描述:设\(d(n)\)表示\(n\)的因子个数, 给定\(a, b, c\), 求:
\[\sum_{i=1}^{a} \sum_{j=1}^{b} \sum_{k=1}^{c} d(i \cdot j \cdot k) (mod 2^{30})\]

solution
rng_58 Orz,这方法太神了,rng_58证明了下面这条式子:
\[\sum_{i=1}^{a} \sum_{j=1}^{b} \sum_{k=1}^{c} d(i \cdot j \cdot k) =\sum_{(i, j)=(i, k)=(j, k)=1} \left \lfloor \frac{a}{i} \right \rfloor \left \lfloor \frac{b}{j} \right \rfloor \left \lfloor \frac{c}{k} \right \rfloor\]

证明

\[f(a, b, c)=\sum_{i=1}^{a} \sum_{j=1}^{b} \sum_{k=1}^{c} d(i \cdot j \cdot k) \]
\[g(a, b, c)=\sum_{(i, j)=(i, k)=(j, k)=1} \left \lfloor \frac{a}{i} \right \rfloor \left \lfloor \frac{b}{j} \right \rfloor \left \lfloor \frac{c}{k} \right \rfloor\]
由容斥原理可得(一式
\[d(i \cdot j \cdot k)=f(a, b, c)-f(a-1, b, c)-f(a, b-1, c)-f(a, b, c-1)+f(a-1, b-1, c)+f(a-1, b, c-1)+f(a, b-1, c-1)-f(a-1, b-1, c-1)\]
则若(二式
\[d(i \cdot j \cdot k)=g(a, b, c)-g(a-1, b, c)-g(a, b-1, c)-g(a, b, c-1)+g(a-1, b-1, c)+g(a-1, b, c-1)+g(a, b-1, c-1)-g(a-1, b-1, c-1)\]
则原命题得证。
二式\(=\)
\[\sum_{(i, j)=(i, k)=(j, k)=1} \left \lfloor \frac{a}{i} \right \rfloor \left \lfloor \frac{b}{j} \right \rfloor \left \lfloor \frac{c}{k} \right \rfloor -\left \lfloor \frac{a-1}{i} \right \rfloor \left \lfloor \frac{b}{j} \right \rfloor \left \lfloor \frac{c}{k} \right \rfloor - \left \lfloor \frac{a}{i} \right \rfloor \left \lfloor \frac{b-1}{j} \right \rfloor \left \lfloor \frac{c}{k} \right \rfloor - \left \lfloor \frac{a}{i} \right \rfloor \left \lfloor \frac{b}{j} \right \rfloor \left \lfloor \frac{c-1}{k} \right \rfloor + \left \lfloor \frac{a-1}{i} \right \rfloor \left \lfloor \frac{b-1}{j} \right \rfloor \left \lfloor \frac{c}{k} \right \rfloor +
\left \lfloor \frac{a-1}{i} \right \rfloor \left \lfloor \frac{b}{j} \right \rfloor \left \lfloor \frac{c-1}{k} \right \rfloor + \left \lfloor \frac{a}{i} \right \rfloor \left \lfloor \frac{b-1}{j} \right \rfloor \left \lfloor \frac{c-1}{k} \right \rfloor - \left \lfloor \frac{a-1}{i} \right \rfloor \left \lfloor \frac{b-1}{j} \right \rfloor \left \lfloor \frac{c-1}{k} \right \rfloor\]
\(=\)
\[\sum_{(i, j)=(i, k)=(j, k)=1} (\left \lfloor \frac{a}{i} \right \rfloor -\left \lfloor \frac{a-1}{i} \right \rfloor) (\left \lfloor \frac{b}{j} \right \rfloor - \left \lfloor \frac{b-1}{j} \right \rfloor) (\left \lfloor \frac{c}{k} \right \rfloor - \left \lfloor \frac{c-1}{k} \right \rfloor)\]
即只有当\((i, j)=(i, k)=(j, k)=1 , i|a, j|b, k|c\)时,和中的式子才等于\(1\),否则为\(0\).

设\(p_i\)为质因子,\(q_i\)为\(p_{i}^{q_i} \leq n\)的最大值,则\(n\)的因数个数为
\[\prod_{i} (q_i +1)\]

根据上述定义设类似\(q_i\)的定义对于\(a\)为\(x_i\), \(b\)为\(y_i\), \(c\)为\(z_i\)

对于\(p_i\),该质数的个数为\(x_i+y_i+z_i\),
因为\((i, j)=(i, k)=(j, k)=1 , i|a, j|b, k|c\), 对于\(p_i\), 答案为\((0, 0, 0)+(1 \text ~ x_i, 0, 0)+(0, 1 \text ~ y_i, 0)+(0, 0, 1 \text ~ z_i)=x_i+y_i+z_i+1\)
所以二式=一式,即\(f(a, b, c)=g(a, b, c)\)
然后就可以用莫比乌斯的性质函数来解了。
\[\sum_{(i, j)=(i, k)=(j, k)=1} \left \lfloor \frac{a}{i} \right \rfloor \left \lfloor \frac{b}{j} \right \rfloor \left \lfloor \frac{c}{k} \right \rfloor\]
\[=\sum_{i} \left \lfloor \frac{a}{i} \right \rfloor \sum_{d=(j, k)} \epsilon(d) \left \lfloor \frac{b}{j} \right \rfloor \left \lfloor \frac{c}{k} \right \rfloor\]
\[=\sum_{i} \left \lfloor \frac{a}{i} \right \rfloor \sum_{d} \mu(d) \left \lfloor \frac{b}{j'd} \right \rfloor \left \lfloor \frac{c}{k'd} \right \rfloor\]
因为\(i\)与\(d, j', k'\)都有关联,所以只好枚举
枚举\(i\),枚举\(d\),然后分别枚举\(j'\), \(k'\),然后相乘,时间复杂度为:\(O(n^2ln\) \(n)\)

Codeforces 235E的更多相关文章

  1. Codeforces 235E Number Challenge

    http://codeforces.com/contest/235/problem/E 远距离orz......rng_58 证明可以见这里(可能要FQ才能看到) 还是copy一下证明吧: 记 $$f ...

  2. 【codeforces 235E】 Number Challenge

    http://codeforces.com/problemset/problem/235/E (题目链接) 题意 给出${a,b,c}$,求${\sum_{i=1}^a\sum_{j=1}^b\sum ...

  3. 洛谷 P3327 [SDOI2015]约数个数和 || Number Challenge Codeforces - 235E

    https://www.luogu.org/problemnew/show/P3327 不会做. 去搜题解...为什么题解都用了一个奇怪的公式?太奇怪了啊... 公式是这样的: $d(xy)=\sum ...

  4. CodeForces 235E Number Challenge (莫比乌斯反演)

    题意:求,其中d(x) 表示 x 的约数个数. 析:其实是一个公式题,要知道一个结论 知道这个结论就好办了. 然后就可以解决这个问题了,优化就是记忆化gcd. 代码如下: #pragma commen ...

  5. Codeforces 235E. Number Challenge DP

    dp(a,b,c,p) = sigma ( dp(a/p^i,b/p^j,c/p^k) * ( 1+i+j+k) ) 表示用小于等于p的素数去分解的结果有多少个 E. Number Challenge ...

  6. python爬虫学习(5) —— 扒一下codeforces题面

    上一次我们拿学校的URP做了个小小的demo.... 其实我们还可以把每个学生的证件照爬下来做成一个证件照校花校草评比 另外也可以写一个物理实验自动选课... 但是出于多种原因,,还是绕开这些敏感话题 ...

  7. 【Codeforces 738D】Sea Battle(贪心)

    http://codeforces.com/contest/738/problem/D Galya is playing one-dimensional Sea Battle on a 1 × n g ...

  8. 【Codeforces 738C】Road to Cinema

    http://codeforces.com/contest/738/problem/C Vasya is currently at a car rental service, and he wants ...

  9. 【Codeforces 738A】Interview with Oleg

    http://codeforces.com/contest/738/problem/A Polycarp has interviewed Oleg and has written the interv ...

随机推荐

  1. java学习一目了然——IO

    java学习一目了然--IO IO是java学习当中很重要的一部分.IO流实现数据的上传下载,即读写数据,包括输入和输出流,输入流指的是将数据以字符或字节形式从外部媒介比如文件.数据库等读取到内存中所 ...

  2. nginx自定义模块编写-根据post参数路由到不同服务器

    nginx可以轻松实现根据不同的url 或者 get参数来转发到不同的服务器,然而当我们需要根据http包体来进行请求路由时,nginx默认的配置规则就捉襟见肘了,但是没关系,nginx提供了强大的自 ...

  3. 为TL-WR720N编译带mentohust和njit-client的openwrt固件

    openwrt的trunk版已经支持720N了.简单好多. 首先下载openwrt源码,我下的是trunk版 svn co svn://svn.openwrt.org/openwrt/trunk/ 然 ...

  4. delete 多表删除的使用(连表删除)

    delete 多表删除的使用     1.从数据表t1中把那些id值在数据表t2里有匹配的记录全删除掉 DELETE t1 FROM t1,t2 WHERE t1.id=t2.id 或 DELETE  ...

  5. Table XXX is marked as crashed and should be repaired问题

    数据表出错了,查询数据获取不到了. 尝试一 重启mysql service mysqld restart 没用,重启并没有把表修复掉 尝试二 check table vicidial_list;rep ...

  6. C语言的本质(16)——函数接口的传入参数与传出参数

    如果函数接口有指针参数,既可以把指针所指向的数据传给函数使用(称为传入参数),也可以由函数填充指针所指的内存空间,传回给调用者使用(称为传出参数),例如strcpy的函数原型为 char *strcp ...

  7. JavaScript声音播放

    方式一: /** * 播放音频(Chrome.opera)支持 * @param file:支持 rm,mid,wav */ function playAudio(file) { var embed= ...

  8. hdu 5532 Almost Sorted Array(模拟)

    Problem Description We are all familiar with sorting algorithms: quick sort, merge sort, heap sort, ...

  9. K-近邻算法python实现

    内容主要来源于机器学习实战这本书.加上自己的理解. 1.KNN算法的简单描写叙述 K近期邻(k-Nearest Neighbor.KNN)分类算法能够说是最简单的机器学习算法了. 它採用測量不同特征值 ...

  10. LeetCode Day1

    Palindrome Linked List /** * LeetCode: Palindrome Linked List * Given a singly linked list, determin ...