The 2021 ICPC Asia Regionals Online Contest (II)
Problem G. Limit
在欧教的指导下,复习了下高数知识,写下了这题的题解…
做这道题之前,建议大家复习下求极限和泰勒展开式的相关知识!!!
老规矩,先读题目:
这道题是需要我们求解极限值
思路如下:
1. 因为 t 最大为5,所以我们首先需要想到泰勒展开式 2. 合并同类项 3. 用极限的知识判断极限是否存在 4. 若存在 - > 输出极限值 , 若不存在 - > 输出 infinity
代码如下:
#include<bits/stdc++.h> using namespace std; const int maxn = 1e5+10; int a[maxn],b[maxn]; long long ans[10]; //这里需要注意,需要开long long (感谢评论区的大佬) int main(){ int n,t; cin>>n>>t; if(t==0) { cout<<0;return 0; } for(int i=1;i<=n;i++){// cin>>a[i]>>b[i]; ans[1]+=a[i]*b[i]; ans[2]+=a[i]*b[i]*b[i]*-1; ans[3]+=a[i]*b[i]*b[i]*b[i]; ans[4]+=a[i]*b[i]*b[i]*b[i]*b[i]*-1; ans[5]+=a[i]*b[i]*b[i]*b[i]*b[i]*b[i]; } for(int i=1;i<t;i++){ if(ans[i]!=0){ cout<<"infinity"; return 0; } } cout<<ans[t]/t; return 0; }