LCR 180. 文件组合
这道题先用前缀和预处理,然后进行滑动窗口即可,把答案再放入即可。
class Solution {
public:
vector<vector<int>> fileCombination(int target) {
vector<vector<int>> ant;
long long a[100005]={0};
for(int i=1;i<=target;i++)
{
a[i]=a[i-1]+i;
}
long long ans=0;
for(int i=2,j=1;i<target;i++)
{
ans=a[i]-a[j-1];
while(j<i&&ans>target)
{
ans-=j;j++;
}
if(ans==target)
{
vector<int> t;
for(int k=j;k<=i;k++)
t.push_back(k);
ant.push_back(t);
}
}
return ant;
}
};