【HDOJ】4704 Sum_天涯浪子_新浪博客
【题目】 http://acm.hdu.edu.cn/showproblem.php?pid=4704
【报告】
S(K)显然就是N的K正整数划分数。所以SUM{S(K),1<=K<=N}=C(0,N-1)+C(1,N-1)+...+C(N-1,N-1)=2^(N-1)。
N很大,是一个高精度数。求这个幂,网上有很多算法,我自己想了一个:
2^(A*10+B)=(2^A)^10*2^B (A,B是任意自然数,0<=B<=9)
X^10=((X^2)^2*X)^2 (这个是快速幂)
嗯,然后从高位到低位做一遍就可以了,一次AC。复杂度O(lgN)
【程序】
// Task: 4704 Sum
#include
#include
#include
#include
#include
using namespace std;
const long long modi=1000000007;
long long e2[10];
string n;
long long ans;
inline long long sqr(long long x) // 求x^2
{
return (x*x)%modi;
}
inline long long calc(long long x) // 求x^10
{
return sqr(sqr(sqr(x))*x%modi);
}
int main()
{
e2[0]=1;
for (int i=1;i<=9;i++)
e2[i]=e2[i-1]*2;
// for (int i=0;i<=9;i++)
// cout << e2[i] << " ";
// cout << endl;
while (cin >> n)
{
n[n.length()-1]--;
for (int i=n.length()-1;i>=0;i--)
if (n[i]<'0')
{
n[i]+=10;
n[i-1]--;
}else break;
// cout << "N=" << n << endl;
ans=1;
for (int i=0;i
ans=(calc(ans)*e2[n[i]-'0'])%modi;
cout << ans << endl;
}
return 0;
}
【HDOJ】4704 Sum_天涯浪子_新浪博客相关推荐
- 【HDOJ】1003 Max Sum_天涯浪子_新浪博客
[题目]http://acm.hdu.edu.cn/showproblem.php?pid=1003 [报告] 既然是子区间加和问题,可以用减法来处理.比如求[5..10]的和,可以直接用[1..10 ...
- 【HDOJ】4602 Partition_天涯浪子_新浪博客
[题目]http://acm.hdu.edu.cn/showproblem.php?pid=4602 [报告] 直接贴上标程解题报告:(虽然有些纠结,试一下就弄通了..) Problem C. Par ...
- 【HDOJ】1008 Elevator_天涯浪子_新浪博客
[题目] http://acm.hdu.edu.cn/showproblem.php?pid=1008 [报告] 这是我在HDOJ里看到的最水的题目,至少目前为止. 题目里已经讲得很清楚了,模拟就能过 ...
- 【HDOJ】1022 Train Problem I_天涯浪子_新浪博客
[题目]http://acm.hdu.edu.cn/showproblem.php?pid=1022 [报告] 模拟,直接模拟一个栈的运行就行了. [程序] // Task: 1022 Train P ...
- 【HDOJ】4768 Flyer_天涯浪子_新浪博客
[题目]http://acm.hdu.edu.cn/showproblem.php?pid=4768 [报告] 题目中已经说了,保证最多出现一个奇数,所以可以用异或的想法.把所有的数异或起来,如果最后 ...
- 【HDOJ】4699 Editor_天涯浪子_新浪博客
[题目] http://acm.hdu.edu.cn/showproblem.php?pid=4699 [报告] 模拟题吧,本身不是很难. 最初的想法是用Splay tree写,然后疯掉了.苏牛说2B ...
- 【HDOJ】1015 Safecracker_天涯浪子_新浪博客
[题目]http://acm.hdu.edu.cn/showproblem.php?pid=1015 [报告] 题目写的很长,忽略一系列废话,题意就是求一个方程v - w^2 + x^3 - y^4 ...
- 【HDOJ】1020 Encoding_天涯浪子_新浪博客
[题目]http://acm.hdu.edu.cn/showproblem.php?pid=1020 [报告] 题意,是对字符串进行压缩,对字符串中连续字符变成数字+字符,比如BB变成2B,CCC变成 ...
- 【HDOJ】5007 Post Robot_天涯浪子_新浪博客
[题目] http://acm.hdu.edu.cn/showproblem.php?pid=5007 [报告] 闲来无事刷水题-- 直接暴力判断是否相同就行了,连KMP都不用.简单粗暴. [程序] ...
最新文章
- Angular Http
- Android基于IIS的APK下载(五)IIS的配置
- css3动画,监控动画执行完毕
- List的4种迭代方法
- Rochambeau POJ - 2912 (枚举和加权并查集+路径压缩)找唯一裁判
- Hyper-V损坏数据恢复报告
- 关于swift中的懒加载
- UI实用素材|字体在设计中的重要性
- Bare HTTP不完全是RESTful
- python的__name__
- 免费学python的网课-这些 AI 课网课最具人气!不仅免费、系统,还附带链接 | 资源...
- 安卓开发学习笔记—————《Anroid编程权威指南》第六章 Android编程与兼容性问题...
- 如何让Linux上的GPG error 无法验证的这个公钥 NO_PUBKEY D97A3AE911FXXXXX 出错信息消失?
- win10默认壁纸_渐变彩色Hero壁纸,微软免费Win10主题《Pride 2020 Flags》下载
- linux文件误删除该如何恢复?
- 清华大学计算机竞赛自主招生,清华大学自主招生竞赛有哪些要求
- SWF文件格式详解(1)
- 易语言安卓模拟器adb模块制作认识adb
- 《薛兆丰的经济学课》课程总结4--相互依赖
- 可使用 git 操作的数据库 dolt
热门文章
- 通达信行情数据获取--python_股票量化交易-获取数据的两种方法
- python求某个函数的反函数_如何用sympy求快速sigmoid函数的逆函数?
- 网页音效简易解决方案audiosprite
- 行业研究报告:合束器市场现状及未来发展趋势
- 2021.11.18 简单计算阶乘(多种方法)及 求阶乘的和
- ENSP连接vm虚拟机
- invalid alteration of datatype(varchar2转化clob)
- Python基础--------Python要点
- win7显卡nvidi466.77驱动和补丁KB4474419和KB4490628
- 看,抽签问题还能这样写。。