ZOJ 3903 Ant(公式推导)
这个公式推导过程是看的这位大牛的http://blog.csdn.net/bigbigship/article/details/49123643

扩展欧几里德求模的逆元方法:
#include <cstdio>
#include <cstring>
#include <algorithm> using namespace std;
typedef long long ll;
const ll mod = 1e9 + ;
ll exgcd(ll a, ll b, ll &x, ll &y)
{
if (b == )
{
x = ;
y = ;
return a;
}
ll r = exgcd(b, a % b, x, y);
ll t = x % mod;
x = y % mod;
y = ((t - a / b * y) % mod + mod) % mod;
return r;
}
int main()
{
ll x, y;
ll inv2, inv4, inv6;
exgcd(, mod, inv2, y);
exgcd(, mod, inv4, y);
exgcd(, mod, inv6, y);
ll T, n;
printf("%lld, %lld, %lld\n", inv2, inv4, inv6);
scanf("%lld", &T);
while (T--)
{
scanf("%lld", &n);
n %= mod;
ll ans = (n * n % mod + n) % mod * n % mod * n % mod * inv2 % mod;
ans += ((n * (n + ) % mod) * n % mod * (n + ) % mod * inv2 % mod) % mod;
ans += (n + ) * n % mod * (n + ) % mod * ( * n + ) % mod * inv6 % mod;
ans =(((ans - n * n % mod * (n + ) % mod * (n + ) % mod * inv4 % mod + mod) % mod + mod) % mod);
printf("%lld\n", ans);
}
return ;
}
费马小定理求模的逆元法
#include <cstdio>
#include <cstring>
#include <algorithm> using namespace std;
typedef long long ll;
const ll mod = 1e9 + ;
ll power_mod(ll a, ll b, ll mod)
{
ll ans = ;
while (b)
{
if (b & ) ans = ans * a % mod;
a = a * a % mod;
b >>= ;
}
return ans;
}
int main()
{
ll inv2 = power_mod(, mod - , mod);
ll inv4 = power_mod(, mod - , mod);
ll inv6 = power_mod(, mod - , mod);
ll T, n;
scanf("%lld", &T);
while (T--)
{
scanf("%lld", &n);
n %= mod;
/*ll ans = (n * n % mod + n) % mod * n % mod * n % mod * inv2 % mod;
ans += ((n * (n + 1) % mod) * n % mod * (n + 1) % mod * inv2 % mod) % mod;
ans += (n + 2) * n % mod * (n + 1) % mod * (2 * n + 1) % mod * inv6 % mod;
ans =(((ans - n * n % mod * (n + 1) % mod * (n + 1) % mod * inv4 % mod + mod) % mod + mod) % mod);*/
ll ans = n * (n + ) % mod * n % mod * n % mod * inv2 % mod;
ans = (ans + n * (n + ) % mod * n % mod * (n + ) % mod * inv2 % mod) % mod;
ans = (ans + n * (n + ) % mod * (n + ) % mod * ( * n + ) % mod * inv6 % mod) % mod;
ans = (ans - n * n % mod * (n + ) % mod * (n + ) % mod * inv4 % mod + mod) % mod;
printf("%lld\n", ans);
}
return ;
}
ZOJ 3903 Ant(公式推导)的更多相关文章
- ZOJ 3903 Ant(数学,推公示+乘法逆元)
Ant Time Limit: 1 Second Memory Limit: 32768 KB There is an ant named Alice. Alice likes going ...
- ZOJ 3903 Ant ZOJ Monthly, October 2015 - A
Ant Time Limit: 1 Second Memory Limit: 32768 KB There is an ant named Alice. Alice likes going ...
- zoj 1199 几何公式推导
链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=199 Point of Intersection Time Limit: ...
- HZNU Training 1 for Zhejiang Provincial Collegiate Programming Contest
赛后总结: TJ:今天我先到实验室,开始看题,一眼就看了一道防AK的题目,还居然觉得自己能做wwww.然后金姐和彭彭来了以后,我和他们讲了点题目.然后金姐开始搞dfs,我和彭彭看榜研究F题.想了很久脑 ...
- zoj 1671 Walking Ant【简单bfs】
Walking Ant Time Limit: 2 Seconds Memory Limit: 65536 KB Ants are quite diligent. They sometime ...
- zoj 1671 Walking Ant
Walking Ant Time Limit: 2 Seconds Memory Limit: 65536 KB Ants are quite diligent. They sometime ...
- HDU 4870 Rating(概率、期望、推公式) && ZOJ 3415 Zhou Yu
其实zoj 3415不是应该叫Yu Zhou吗...碰到ZOJ 3415之后用了第二个参考网址的方法去求通项,然后这次碰到4870不会搞.参考了chanme的,然后重新把周瑜跟排名都反复推导(不是推倒 ...
- 【转载】图论 500题——主要为hdu/poj/zoj
转自——http://blog.csdn.net/qwe20060514/article/details/8112550 =============================以下是最小生成树+并 ...
- ZOJ 3279-Ants(线段树)
传送门:zoj 3279 Ants Ants Time Limit: 2 Seconds Memory Limit: 32768 KB echo is a curious and cleve ...
随机推荐
- Java基础——异常机制
[捕获异常] 硬件的错误.输入错误.物理限制等问题,都可能导致程序运行时的异常出现. 1.异常的分类层次 在java中,异常对象都是由Throwable类继承而来的,主要分为两大类: Error和Ex ...
- hbase 架构
由图可以client并不直接和master交互,而是与zookeeper交互,所以master挂掉,依然会对外提供读写服务, 但master挂掉后无法提供数据迁移服务. 所以说 hbase无单点故障, ...
- [BZOJ 1221] [HNOI2001] 软件开发 【费用流 || 三分】
题目链接:BZOJ - 1221 题目分析 算法一:最小费用最大流 首先这是一道经典的网络流问题.每天建立两个节点,一个 i 表示使用毛巾,一个 i' 表示这天用过的毛巾. 然后 i 向 T 连 Ai ...
- scroller
sh做的js控件. 另外内部被scroller包裹的div不可以定位成absolute,会撑不出高度. 上面只是使用的注意事项. 很佩服人家能封装出这样的控件. 如果我也能写得出来就能毕业了,也不用担 ...
- java:找出占用CPU资源最多的那个线程(HOW TO)
在这里对linux下.sun(oracle) JDK的线程资源占用问题的查找步骤做一个小结:linux环境下,当发现java进程占用CPU资源很高,且又要想更进一步查出哪一个java线程占用了CPU资 ...
- 短信验证码js实现
短信验证码实现 我们在使用移动.电信等运营商网上营业厅的时候,为确保业务的完整和正确性,经常会需要用到短信的验证码.最近因为某省业务需要,也做了个类似的功能. 原理很简单,就是在用户点击"获 ...
- poj1150
这道题告诉我们递推一定要慢慢细细的推Pmn=n!/m!,我们可以先考虑n!的最后一位是什么首先最后一位非0位我们首先想到把0都干掉也就是先把2和5提出来,这两个其实是同样的方法对于N!中有多少个因数2 ...
- ServiceStack.Redis之IRedisClient
事实上,IRedisClient里面的很多方法,其实就是Redis的命令名.只要对Redis的命令熟悉一点就能够非常快速地理解和掌握这些方法,趁着现在对Redis不是特别了解,我也对着命令来了解一下这 ...
- 【canvas】基于坐标的碰撞检测 / 基本的动画 / 多物体动画
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- unity5 人皮渲染 Skin Shading
换了一种方法,优化了一下代码,unity5效果很好,消耗不大 点开可查看大图 加入了次表面散射的阴影与自阴影 ------------by wolf96 wolf_crix ...