Advertisement

AcWing火车出栈问题题解(涉及栈、欧拉筛、卡特兰数、质因数分解及思路)

阅读量:

一道题目耗费了五到六个小时的时间,或许是因为自身水平尚浅,但在这个过程中掌握了许多新知识(如欧拉筛、卡特兰数以及质因数分解等)。

解题过程如下:火车进出站问题–转化为合法的加减号排列–进一步对应到能够到达(n, n)点的合法路径–推导出相应的公式–借助质因数分解方法实现对极大数值的高效计算–完成解题后便去打游戏了,就此结束。

原题地址:https://www.acwing.com/problem/content/description/132/
(在AcWing平台上可以查看所有未通过的测试样例,个人认为这是一个非常实用的练习平台)

讲解视频链接(yxc太强了):https://www.acwing.com/video/66/

复制代码
    #include<iostream>
    #include<bits/stdc++.h>
    
    using namespace std;
    
    typedef long long ll;
    
    const int N = 6e4 + 10;
    
    int st[N * 2] ;
    int prime[N*2], power[N*2];
    int n;
    int cnt;
    
    int get(int n, int p){
    	int

全部评论 (0)

还没有任何评论哟~