CodeVs 3150 (大数 + 递推)
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<algorithm>
#include<map>
#include<set>
#include<vector>
#include<queue>
#include<stack>
//#include<bits/std c++.h>
using namespace std;
typedef long long LL;
typedef unsigned long long ULL;
const LL MOD = 1e7 + 7;
const LL maxn = 1e6 + 131;
const LL Bits = 1e10;
const double Pi = acos(-1.0);
struct BigInt
{
vector<LL> val;
void Set(LL n) { val.clear(); val.push_back(n); }
void operator += (const BigInt a)
{
int i;
for(i = 0; i < val.size() && i < a.val.size() ; ++i)
val[i] = val[i] + a.val[i];
if(i < a.val.size()) for(; i < a.val.size(); ++i) val.push_back(a.val[i]);
int len = val.size();
for(i = 0; i < len; ++i)
{
if(val[i] >= Bits)
{
if(i == len-1) val.push_back(val[i]/Bits), val[i] %= Bits;
else {
val[i+1] += (val[i] / Bits);
val[i] %= Bits;
}
}
}
}
void operator *= (const LL k)
{
int i;
for(i = 0; i < val.size(); ++i) val[i] *= k;
i = 0;
while(i != val.size())
{
if(val[i] >= Bits)
{
if(i == val.size() -1)
{
val.push_back(val[i] / Bits);
val[i] %= Bits;
}
else
{
val[i+1] += (val[i] / Bits);
val[i] %= Bits;
}
}
++i;
}
}
void operator /= (const LL k)
{
for(int i = val.size() - 1; i >= 1; --i)
{
val[i-1] += (val[i] % k)*Bits;
val[i] /= k;
}
val[0] /= k;
int i = val.size() - 1;
while(val.size() > 1)
{
if(val[i] == 0) val.erase(--val.end());
else break;
i--;
}
}
void Show()
{
cout << val[val.size() - 1];
for(int i = val.size() - 2; i >= 0 ; --i)
{
LL k = Bits / 10;
while( k > 1 )
{
if(val[i] < k) cout << "0";
k /= 10;
}
cout << val[i];
}
cout << endl;
}
}; int main()
{
BigInt A, B;
LL n;
/*A.Set(1), B.Set(Bits - 1);
A += B;
A.Show();*/
//cout << Pi << endl;
while(cin >> n){
if(n < 4) cout << "1\n";
else {
n -= 4;
A.Set(1), B.Set(1);
LL i = 1, j = (n + Pi), Last;
while(i <= (LL)((n + Pi)/ Pi))
{
Last = j;
j = (n + Pi - i*Pi);
for(LL k = Last - 1; k >= j + 1; k--)
{
B *= (k+1);
B /= (i + k); }
B *= (j + 1);
B /= i;
i ++;
A += B;
}
A.Show();
}
}
return 0;
}
CodeVs 3150 (大数 + 递推)的更多相关文章
- HDU-1041-Computer Transformation,大数递推,水过~~
Computer Transformatio ...
- POJ 1737 Connected Graph (大数+递推)
题目链接: http://poj.org/problem?id=1737 题意: 求 \(n\) 个点的无向简单(无重边无自环)连通图的个数.\((n<=50)\) 题解: 这题你甚至能OEIS ...
- UVa 10328 Coin Toss(Java大数+递推)
https://vjudge.net/problem/UVA-10328 题意: 有H和T两个字符,现在要排成n位的字符串,求至少有k个字符连续的方案数. 思路:这道题目和ZOJ3747是差不多的,具 ...
- 1sting 大数 递推
You will be given a string which only contains ‘1’; You can merge two adjacent ‘1’ to be ‘2’, or lea ...
- hdu 1133 Buy the Ticket (大数+递推)
Buy the Ticket Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)To ...
- Tiling(递推+大数)
Description In how many ways can you tile a 2xn rectangle by 2x1 or 2x2 tiles? Here is a sample tili ...
- Children’s Queue HDU 1297 递推+大数
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1297 题目大意: 有n个同学, 站成一排, 要求 女生最少是两个站在一起, 问有多少种排列方式. 题 ...
- 递推,大数存储E - Order Count
Description If we connect 3 numbers with "<" and "=", there are 13 cases: 1) ...
- HOJ 2148&POJ 2680(DP递推,加大数运算)
Computer Transformation Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 4561 Accepted: 17 ...
随机推荐
- 前端面试题整理—HTML/CSS篇
1.简述一下你对HTML语义化的理解 1)用正确的标签做正确的事情 2)html语义化让页面的内容结构化,结构更清晰,便于对浏览器.搜索引擎解析 3)即使在没有样式CSS情况下也以一种文档格式显示,并 ...
- plsql developer 11 + Oracle 11g 开发环境setup
这是一个很水的博客, 介绍搭建plsql developer 11+ Oracle 11g 开发环境. 1. 本机上安装Oracle 11g express 对于开发足够了, 300MB的下载文件, ...
- Nginx负载均衡session会话保持方法
负载均衡时,为了保证同一用户session会被分配到同一台服务器上,可以使用以下方法: 1.使用cookie 将用户的session存入cookie里,当用户分配到不同的服务器时,先判断服务器是否存在 ...
- 【八】Spring Cloud Config
一.分布式系统面临的--配置问题 微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的力度相对较小,因此系统中会出现大量的服务.由于每个服务都需要必要的配置信息才能运行,所以一套集中式的.动 ...
- [译]Managing Vue.js State with Vuex
原文 准备 安装 Vuex, 是Vue官方出的package, 它不是Vue内置的.需要另外安装. npm install vuex --save 然后,需要在应用启动文件启用Vuex. main.j ...
- python中的*和**的用途
def function_with_one_star(*t): print(t, type(t)) def function_with_two_stars(**d) print(d, ty ...
- A - 签到题
给定一个长度为N的数组A=[A1, A2, ... AN],已知其中每个元素Ai的值都只可能是1, 2或者3. 请求出有多少下标三元组(i, j, k)满足1 ≤ i < j < k ≤ ...
- UE4 编译笔记
UE4 的功能被分成了很多的模块,在API文档里每个类都有 Module 这个属性(值为模块名)每个模块使用其他模块要在Build.cs里导入,像vs里的引入库.在构建时 PublicDependen ...
- Kaldi如何统计data数据集
统计时长 wav-to-duration scp:data/train/wav.scp ark,t:- 2>/dev/null|awk 'BEGIN{SUM=0}{SUM+=$2}END{pri ...
- Spring中的@Transactional(rollbackFor = Exception.class)属性详解
序言 今天我在写代码的时候,看到了.一个注解@Transactional(rollbackFor = Exception.class),今天就和大家分享一下,这个注解的用法: 异常 如下图所示,我们都 ...