我受不了了。

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. java的强制类型转换

    java强制类型转换  详细连接https://www.cnblogs.com/kuangwong/p/6198862.html 在Java项目的实际开发和应用中,常常需要用到将对象转为String这 ...

  2. longquan

    /** * 登录后将数据填写到主数据 */ public void login(String login_nr) { //File f = new File(android.os.Environmen ...

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

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

  4. 一、关于a标签伪类中的visited不起作用问题

    一.代码示范 <html> <head> <title>伪类超链接</title> <!--<link href="./test. ...

  5. 四、docker compose

    docker compose可以方便我们快捷高效地管理容器的启动.停止以及重启等操作,和批量管理容器,它类似于linux下的shell脚本,基于yaml语法,在该文件里我们可以描述应用的架构,比如用什 ...

  6. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.mybatis.spring.mapper.MapperScannerConfigurer#0'

    七月 05, 2018 10:26:54 上午 org.apache.tomcat.util.digester.SetPropertiesRule begin警告: [SetPropertiesRul ...

  7. codeforces474D

    Flowers CodeForces - 474D 话说某个幸运的小伙伴X拿到了kevin女神送的蛋糕,然而他的吃法非常奇特,他独创了两种吃蛋糕的办法:一.一次吃一整个蛋糕:二.一次吃k个蛋糕. 那么 ...

  8. 进程间通信IPC与Binder机制原理

    1, Intent隐式意图携带数据 2, AIDL(Binder) 3, 广播BroadCast 4, 内容提供者ContentProvider 5,Messager(内部通过binder实现) 6, ...

  9. mpvue——Error: EPERM: operation not permitted

    报错 $ npm run build > mpvue@ build D:\wamp\www\webpack\mpvue\my-project > node build/build.js w ...

  10. Java大数练习

    大数阶乘 题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=28 import java.io.*; import java.util.*; ...