我受不了了。

Catalan数第100项,30000项,50000项,cnm

这tm哪里是在考数学,分明是在考高精度,FFT......

有剧毒!

我只得写高精度,只能过100的那个题,两个进化版超时......

 #include <cstdio>
#include <string>
using namespace std;
const int N = ; int p[N], tp, sum[N];
bool vis[N]; struct LL {
string n;
LL operator * (const long long &x) const {
int a[N];
int t = n.size();
for(int i = ; i < t; i++) {
a[t - i - ] = ((int)(n[i] - '')) * x;
}
for(int i = ; i < t; i++) {
if(a[i] > ) {
a[i + ] += a[i] / ;
a[i] %= ;
if(i + == t) t++;
}
}
string f = "";
for(int i = ; i < t; i++) {
f = (char)(a[i] + '') + f;
}
LL ans;
ans.n = f;
return ans;
}
void out() {
for(int i = ; i < n.size(); i++) {
putchar(n[i]);
}
return;
}
}; void getprime(int b) {
for(int i = ; i <= b; i++) {
if(!vis[i]) {
p[++tp] = i;
}
for(int j = ; j <= tp && p[j] * i <= b; j++) {
vis[p[j] * i] = ;
if(i % p[j] == ) {
break;
}
}
}
return;
} inline long long pow(int a, int b) {
if(b < ) {
printf("ERROR!!!\n");
return ;
}
long long ans = ;
while(b) {
if(b & ) {
ans = ans * a;
}
a = a * a;
b = b >> ;
}
return ans;
} int main() {
int n;
scanf("%d", &n);
getprime(n << );
int n2 = n << ; for(int i = ; i <= tp; i++) {
int _i = p[i];
while(_i <= n2) {
sum[i] += n2 / _i;
_i *= p[i];
}
}
for(int i = ; i <= tp && p[i] <= n; i++) {
int _i = p[i];
while(_i <= n) {
sum[i] -= n / _i;
_i *= p[i];
}
}
n++;
for(int i = ; i <= tp && p[i] <= n; i++) {
int _i = p[i];
while(_i <= n) {
sum[i] -= n / _i;
_i *= p[i];
}
} LL ans;
ans.n = '';
for(int i = ; i <= tp; i++) {
ans = ans * pow(p[i], sum[i]);
}
ans.out();
return ;
}

AC代码

tyvj/joyoi 1374 火车进出栈问题(水水版)的更多相关文章

  1. 【讲●解】火车进出栈类问题 & 卡特兰数应用

    火车进出栈类问题详讲 & 卡特兰数应用 引题:火车进出栈问题 [题目大意] 给定 \(1\)~\(N\) 这\(N\)个整数和一个大小无限的栈,每个数都要进栈并出栈一次.如果进栈的顺序为 \( ...

  2. luogu P1044 火车进出栈问题(Catalan数)

    Catalan数就是魔法 火车进出栈问题即: 一个栈(无穷大)的进栈序列为 1,2,3,4,...,n 求有多少个不同的出栈序列? 将问题进行抽象, 假设'+'代表进栈, 则有'-'代表出栈 那么如果 ...

  3. CH1102 火车进出栈问题(高精/卡特兰数)

    描述 一列火车n节车厢,依次编号为1,2,3,-,n.每节车厢有两种运动方式,进栈与出栈,问n节车厢出栈的可能排列方式有多少种. 输入格式 一个数,n(n<=60000) 输出格式 一个数s表示 ...

  4. 火车进出栈 java

    题目描述 一列火车n节车厢,依次编号为1,2,3,…,n.每节车厢有两种运动方式,进栈与出栈,问n节车厢出栈的可能排列方式有多少种. 输入 一个数,n(n<=60000) 输出 一个数s表示n节 ...

  5. tyvj/joyoi 1336 火车进栈

    比原题水了很多(因为原题要高精度) 输出字典序前20种出栈序列. 其实是贪心题:我们每次确定一个出栈的数. 当栈里有数时,字典序显然比从后面拿数要小,所以先搜这个. 之后依次搜后面队列里的数,因为字典 ...

  6. HDU 4283 You Are the One ★(进出栈的括号匹配性质:区间DP)

    题意 有一个队列,每个人有一个愤怒值D,如果他是第K个上场,不开心指数就为(K-1)*D.但是边上有一个小黑屋(一个FILO堆栈),可以一定程度上调整上场程序,求一种安排上场方案使得所有人的不开心指数 ...

  7. 【火车出栈】ZOJ - 2603 Railroad Sort

    好久没写递归了,怕手生再来练练手. 题意:车轨上有上图所示的n个中转栈,现有2n个列车,给出列车初始编号序列.列车从最右边驶入车轨,并且列车只能从右向左移动,要求给出列车中转操作序列,使列车经过这n个 ...

  8. 数据结构之 栈 (Python 版)

    数据结构之 栈 (Python 版) -- 利用线性表实现栈 栈的特性: 后进先出 基于顺序表实现栈 class SStack(): ''' 基于顺序表 实现的 栈类 ''' def __init__ ...

  9. 火车进栈(进出栈的模拟,dfs爆搜)

    这里有n列火车将要进站再出站,但是,每列火车只有1节,那就是车头. 这n列火车按1到n的顺序从东方左转进站,这个车站是南北方向的,它虽然无限长,只可惜是一个死胡同,而且站台只有一条股道,火车只能倒着从 ...

随机推荐

  1. C++常用宏

    宏是由 #define 定义而来,在预处理阶段进行宏展开,它的格式是: #define N 2 + 2 // 仅仅是字符串替换 #define N (2 + 2) // 也是字符串 ,但是是(2 + ...

  2. Mybatis+Spring整合后Mapper测试类编写

    public class UserMapperTest { private ApplicationContext applicationContext; @Before public void ini ...

  3. 数组中元素累加 reduce

    例: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8& ...

  4. MongoDB操作(1)—MongoDB java驱动核心层次结构及操作流程

    MongoDB之java驱动学习 预备: 本地运行MongoDB采用默认端口20717: 安装MongoDB驱动: 以下关键步骤. 核心层次结构或步骤: 创建连接池:MongoClient实例. 对于 ...

  5. IWMS后台上传文章,嵌入视频,调用优酷通用代码

    <a href="http://player.youku.com/player.php/sid/XODcxNjM3OTYw/v.swf " target="_bla ...

  6. APP test

    在讲APP测试之前,先讲一下,目前APP的操作系统以及APP相关基础知识. 一.APP基础知识 1.操作系统# 现在移动端的操作系统主流的分为两种:(1)安卓系统 (2)IOS系统. 2.安卓系统# ...

  7. How to enable AHCI on Windows7

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci

  8. 13.kubernetes之pv,pvc,configmap(带补充实例)

    管理存储是管理计算的一个明显问题.该PersistentVolume子系统为用户和管理员提供了一个API,用于抽象如何根据消费方式提供存储的详细信息.为此,我们引入了两个新的API资源:Persist ...

  9. 会话session

    因为因特网HTTP协议的特性,每一次来自于用户浏览器的请求(request)都是无状态的.独立的.通俗地说,就是无法保存用户状态,后台服务器根本就不知道当前请求和以前及以后请求是否来自同一用户.对于静 ...

  10. sws_getContext函数参数介绍

    原型: SwsContext *sws_getContext(int srcW, int srcH, enum AVPixelFormat srcFormat, int dstW, int dstH, ...