链接:https://ac.nowcoder.com/acm/contest/992/D

$a_{i}=\dfrac {3a_{i-1}-a_{i-2}}{2}+i+1$

移项再化一下

$a_{i}-a_{i-1}-2i=\dfrac {1}{2}\left[ a_{i-1}-a_{i-2}-2\left( i-1\right) \right]$

令$t_{i}=t_{i}=a_{i}-a_{i-1}-2i$

由于$a_{0}=0$ $a_{1}=2$ 所以$t_{1}=0$

所以$t_{i}=0$ $(i\geq 1)$

即$a_{i}=a_{i-1}+2i$

$\left\{\begin{matrix}
 & a_{i}=a_{i-1}+2i& \\
 & \cdots & \\
 & a_{1}=a_{0}+2\times 1 &
\end{matrix}\right.$

$i$个式子相加得到

$S_{i}=S_{i-1}+i\left( i+1\right)$

所以$a_{i}=i^{2} + i$

也可以打表,但我感觉打表会不会更难看出来?

现在可以先把1~$n$的总和先求出来,再减去与$m$不互质的和就是答案了。

预处理出$m$的素因子,然后枚举一下所有组合的情况(由于$m$随机生成,素因子个数不会很多)

每一个素因子乘积的组合$k$有$\lfloor \dfrac {n}{k}\rfloor$个

然后容斥一下

$S_{n}=\dfrac {n\cdot \left( n+1\right) \left( 2n+1\right) }{6}$

$k^{2}+\left( 2k\right) ^{2}+\ldots +\left( \lfloor \dfrac {n}{k}\rfloor k\right) ^{2}$

把$k^{2}$提出来就又是一个平方和了

1~$i$的和同理

#include <bits/stdc++.h>
#define ll long long
using namespace std; const ll MOD = 1E9 + ;
const ll inv2 = ;
const ll inv6 = ; ll n, m;
ll fac[]; inline ll sqr(ll x) {
return (x % MOD * (x + ) % MOD * ( * x + ) % MOD * inv6) % MOD;
} inline ll f(ll x) {
return ((x + ) * x % MOD * inv2 % MOD) % MOD;
} inline ll cal(ll temp) {
ll k = n / temp;
return (sqr(k) * temp % MOD * temp % MOD + f(k) * temp % MOD) % MOD;
} int main() {
while (~scanf("%lld%lld", &n, &m)) {
int cnt = ;
for (int i = ; i * i <= m; i++) {
if (m % i == ) {
fac[cnt++] = i;
while (m % i == ) m /= i;
}
}
if (m != ) fac[cnt++] = m;
ll ans = cal();
ll ans0 = ;
for (int i = ; i < ( << cnt); i++) {
ll temp = ;
int sum = ;
for (int j = ; j < cnt; j++) {
if (i & ( << j)) {
sum++;
temp *= fac[j];
}
}
if (sum & ) {
ans0 = (ans0 + cal(temp)) % MOD;
} else {
ans0 = (ans0 - cal(temp) + MOD) % MOD;
}
}
ans = (ans - ans0 + MOD) % MOD;
printf("%lld\n", ans);
}
return ;
}

吉首大学2019年程序设计竞赛(重现赛)D - 数列求和(嘤雄难度)的更多相关文章

  1. 吉首大学2019年程序设计竞赛(重现赛)- A SARS病毒 (矩阵,欧拉降幂)

    题目链接:https://ac.nowcoder.com/acm/contest/992/A 题意:求出长度为n的字符串个数,字符串由A.C.G.T组成,其中A和C必须成对出现. 思路:我们规定:   ...

  2. 吉首大学2019年程序设计竞赛(重现赛)-K(线段树)

    题目链接:https://ac.nowcoder.com/acm/contest/992/K 题意:给一个大小为1e5的数组,由0 1组成,有两种操作,包括区间修改,将一段区间内的0换成1,1换成0; ...

  3. 吉首大学2019年程序设计竞赛(重现赛)-J(树形DP)

    题目链接:https://ac.nowcoder.com/acm/contest/992/J 题意:题意很清晰,就是求任意两点距离的和,结果对1e9+7取模. 思路:裸的树形DP题,一条边的贡献值=这 ...

  4. 吉首大学2019年程序设计竞赛(重现赛)I 滑稽树上滑稽果 (莫队+逆元打表)

    链接:https://ac.nowcoder.com/acm/contest/992/I来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32768K,其他语言65536K  ...

  5. 吉首大学2019年程序设计竞赛(重现赛) J 滑稽树下你和我 (递归)

    链接:https://ac.nowcoder.com/acm/contest/992/J来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K ...

  6. 吉首大学2019年程序设计竞赛(重现赛) B 干物妹小埋

    链接:https://ac.nowcoder.com/acm/contest/992/B来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K ...

  7. 长安大学第四届ACM-ICPC“迎新杯”程序设计竞赛-重现赛 G - 彩虹岛套娃

    题目描述 俄罗斯套娃是俄罗斯特产的木制玩具,一般由多个一样图案的空心木娃娃一个套一个组成,最多可达十多个,通常为圆柱形,底部平坦可以直立.颜色有红色,蓝色,绿色,紫色等.最普通的图案是一个穿着俄罗斯民 ...

  8. 长安大学第四届ACM-ICPC“迎新杯”程序设计竞赛-重现赛 H - 圣诞节糖果

    题目描述 圣诞节临近,彩虹岛的黑心商人

  9. 长安大学第四届ACM-ICPC“迎新杯”程序设计竞赛-重现赛 F - 打铁的箱子

    题目描述 作为彩虹岛上最擅长打铁的人,

随机推荐

  1. 将网页html文件离线下载保存到本地的方法

    (1)复制想要离线的网页的网址: 范例:http://bbs.xyaz.cn/thread-52540-1-1.html (2)将网址放入迅雷中,让其将html文件下载下来. (3)下载结果

  2. 读文件时出现这个错误 'utf-8' codec can't decode byte 0xba in position 21: invalid start byte

    ''' file2 文件内容: 很任性wheniwasyoung ''' 源代码: f = open("file2",'r',encoding="utf-8") ...

  3. Python之路【第二十四篇】:数据库索引

    数据库索引 一.索引简介 索引在mysql中也叫做"键",是存储引擎用于快速找到记录的一种数据结构.索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈 ...

  4. C语言指针的一些用法

    指针是C语言的灵魂,精华之所在.指针强大而危险,用得好是一大利器,用得不好是一大潜在危害.正是指针具有强大而又危险的特性,加上指针比较难,很多人用的不好,所以越是封装程度高的语言,越是没有指针的&qu ...

  5. 【leetcode】590. N-ary Tree Postorder Traversal

    Recurisve: /* // Definition for a Node. class Node { public: int val; vector<Node*> children; ...

  6. golang 之 go-micro

    在安装之前首先需要对go-micro有一定的了解 https://micro.mu/docs/cn/  go-micro中文文档 https://juejin.im/post/5cebafe6f265 ...

  7. C# 录音和变调

    一直想研究下录音 正好有个项目有机会使用一下强大的 NAudio (https://github.com/naudio/NAudio)库 录音 NAudio 录音类库 public class NAu ...

  8. Python的bytes和str

    Python和C的字符串 在Python 3 中,bytes单独作为一个类型,不再和str类型混在一起.关于字符串和字节,我想先回顾下C/C++ 在C/C++中,字符串是由char数组构成,每个元素是 ...

  9. 珠宝juelrye英语juelrye宝石

    jewellery (usually uncountable, plural jewelleries) 1.(British spelling, Canadian) Collectively, per ...

  10. Mybatis自动生成代码,MyBatis Generator

    这还是在学校里跟老师学到的办法,然后随便在csdn下载一个并调试到可以用的状态. 基本由这几个文件组成,一个mysql连接的jar包.一个用于自动生成的配置文件,一个自动生成的jar包,运行jar包语 ...