本文共 737 字,大约阅读时间需要 2 分钟。
题目和南阳那道题一样链接
代码:
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 typedef long long ll; 8 const ll N=1e5+5; 9 ll dp[20][N];10 ll a[N];11 ll bit[N];12 int found(int n,int m,ll k);13 ll sum(int i);14 void add(int i,ll x,int t);15 using namespace std;16 int main(void)17 {18 ll i,j,k,p,q;19 while(scanf("%I64d %I64d",&k,&p)!=EOF)20 {21 memset(dp,0,sizeof(dp));22 memset(bit,0,sizeof(bit));23 for(i=0; i 0)55 {56 s+=bit[i];57 i-=(i&-i);58 }59 return s;60 }61 62 void add(int i,ll x,int t)63 {64 while(i<=t)65 {66 bit[i]+=x;67 i+=(i&-i);68 }69 }
转载于:https://www.cnblogs.com/zzuli2sjy/p/4977232.html