T1
T2
emmm 今天的俩题都是简单if判断 所以另找了俩题,一道acwing周赛T2,一道力扣每日一题
T3:合格数
涉及到给一段区间标记的问题,大概率是考差分和前缀和
#include<iostream>
using namespace std;
const int N=2e5+10;
int s[N];
int d[N];
int n,k,q;
int main()
{
cin>>n>>k>>q;
for(int i=0;i<n;i++){
int l,r;
cin>>l>>r;
d[l]++,d[r+1]--;
}
for(int i=1;i<=N-10;i++){
d[i]+=d[i-1];
s[i]=s[i-1];
if(d[i]>=k)s[i]++;
}
while(q--){
int a,b;
cin>>a>>b;
cout<<s[b]-s[a-1]<<endl;
}
return 0;
}
T4:卖卖股票的最佳时机2
链接:
题目描述:
给你一个整数数组 prices
,其中 prices[i]
表示某支股票第 i
天的价格。
在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后在 同一天 出售。
返回 你能获得的 最大 利润 。
因为同一天也能卖出的条件
就可以用贪心的策略,只要后一天的价格比当前天高,那就能获得利润
class Solution{
public:
int maxProfit(vector<int>& prices){
int ans=0;
int n=prices.size();
for(int i=0;i<n-1;i++){
if(prices[i]<prices[i+1]){
ans+=prices[i+1]-prices[i];
}
}
return ans;
}
};
进程空间地址,启动!