zoj 3901 Ant(计数)
2015-10-22 19:17
260 查看
题目链接:zoj 3901 Ant
代码
#include <cstdio> #include <cstring> #include <algorithm> using namespace std; typedef long long ll; const int mod = 1e9+7; ll pow_mod(ll x, int n) { ll ret = 1; while (n) { if (n&1) ret = ret * x % mod; x = x * x % mod; n >>= 1; } return ret; } ll n, inv2 = pow_mod(2, mod-2), inv6 = pow_mod(6, mod-2); int main () { int cas; scanf("%d", &cas); while (cas--) { scanf("%lld", &n); n %= mod; ll s = n * (n + 1) % mod * inv2 % mod; ll p = n * (n + 1) % mod * (2 * n + 1) % mod * inv6 % mod; ll ans = (n * n % mod * s % mod + p * (n + 1) % mod + s * s % mod + p) % mod; printf("%lld\n", ans); } return 0; }
相关文章推荐
- 【OJ】QUST 1418
- UM分享 - 详解
- 链表(一) 单向链表
- sicily 1146. 采药
- java二叉树的遍历算法
- 使用Win32API实现Windows下异步串口通讯zz
- ogre3D学习基础3 -- 粒子与表层脚本
- bit、byte、位、字节、汉字、字符之间的区别
- Ubuntu14.10编译安装3.17.4内核及系统调用测试
- SmartGit as SVN Bridge
- JS获取节点的兄弟,父级,子级元素
- zoj 3905 Cake(状压dp)
- Android逆向之旅---SO(ELF)文件格式详解
- 安卓计算器的编写
- libevent介绍
- Hbase 安装配置
- 常用实用方法
- 时间的实践
- Android 颜色透明度计算
- NSFileManager