有没有大佬帮忙看一下,数据大了后会出错,只ac了第一个。回复必关

P1192 台阶问题

https://www.luogu.com.cn/paste/2i1t4j7a ~~不知道为什么洛谷不让我直接回复,说排版有问题(~~
by HMSVanguard @ 2024-03-01 13:40:31


@[prolu](/user/1168470)
by HMSVanguard @ 2024-03-01 13:41:25


@[prolu](/user/1168470) 你要在f[i-j]应改成i-j<0?0:f[i-j]否则你会出现上溢+下溢双重问题
by liverxiwo @ 2024-03-01 14:09:47


@[liverxiwo](/user/1162380) 他加if(i>j)了,应该不会溢出吧
by HMSVanguard @ 2024-03-01 14:33:32


@[HMSVanguard](/user/678344) 谢谢谢谢,看到你的回复了,很明了易懂,没想到真的会有人愿意帮忙看代码。感谢大佬,orz++
by prolu @ 2024-03-01 18:03:18


```cpp #include<bits/stdc++.h> using namespace std; int n,k; long long f[5000005]; int main(){ cin >> n; cin >> k; f[0]=1;//还有这 for(int i=1;i<=n;i++){ int sum=0; for(int j=1;j<=k;j++){ if(i>=j){//这里 sum=(sum+f[i-j])%100003; } } f[i]=sum; } cout << f[n]; return 0; } ```
by LawrenceLoyaldog @ 2024-03-02 19:53:59


|