贪心+二分/树状数组方法待补充
class Solution {
public:
int findNumberOfLIS(vector<int>& nums) {
int num=0,res=1,n=nums.size();
vector<int> dp(n),cnt(n);
for(int i=0;i<n;i++)
{
dp[i]=1; cnt[i]=1;
for(int j=0;j<i;j++)
{
if(nums[i]>nums[j])
{
if(dp[j]+1>dp[i])
{
dp[i]=dp[j]+1;
cnt[i]=cnt[j];
}
else if(dp[j]+1==dp[i])
{
cnt[i]+=cnt[j];
}
}
}
res=max(res,dp[i]);
}
for(int i=0;i<n;i++)
{
if(dp[i]==res) num+=cnt[i];
}
return num;
}
};