4 条题解

  • 1
    @ 2026-3-25 19:44:39

    我们来分析一下,这道题让我们输出“1 2”,但作为题目编号13的题,明显不会这么简单。
    在进行粗略的观察之后,可以得出一个dp式子
    dp[i]=dp[i-1]+dp[0]
    这里初始化dp[0]=1,因此题意就很明了了,这竟然是一道只有神犇才能AC的超级dp码农题。
    同时,题目并没有给出n的大小,我们需要小心谨慎一点,打开long long,并在循环变量前面加入register关键字,避免 WA 和 TLE。
    以下是代码:

    #include<bits/stdc++.h>
    using namespace std;
    #define int long long
    #define made return
    #define in 0
    #define china ;
    #define rg register
    #define PII pair<int,int>
    int dp[10001]={1};
    signed main(){
    	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    	for(rg int i=1;i<=10000;i++)
    		dp[i]=(dp[0]?dp[i-1]+dp[0]:dp[i-1]+1);
    	if(true)
    		cout<<dp[1]-1<<' '<<dp[2]-1;
    	made in china
    }
    

    信息

    ID
    13
    时间
    1000ms
    内存
    256MiB
    难度
    1
    标签
    递交数
    28
    已通过
    25
    上传者