首页 > 代码库 > HDU 3030 Increasing Speed Limits

HDU 3030 Increasing Speed Limits

题解:首先,按照题目要求生成数列,需要注意的是数据超过了int的范围,所以要开long long,然后,就用逆序对的思想求单调数列的个数。

#include <cstdio>#include <algorithm>using namespace std;const int mod=1000000007;typedef long long LL;struct num{LL data,id;}d[500005];bool cmp(num a,num b){return a.data<b.data;}LL b[500005],x,y,z;int T,a[500005],c[500005],m,n,t;int add(int x,int num){while(x<=n)c[x]=(c[x]+num)%mod,x+=x&-x;}int sum(int x){int s=0;while(x>0)s=(s+c[x])%mod,x-=x&-x;return s;}int main(){    int cnt=1;    for(scanf("%d",&T),t=0;t<T;t++){        scanf("%d%d%lld%lld%lld",&n,&m,&x,&y,&z);        memset(c,0,sizeof(c));        for(int i=0;i<m;i++)scanf("%lld",&b[i]);        for (int i=0;i<n;i++){            d[i].data=http://www.mamicode.com/b[i%m]; d[i].id=i;"Case #%d: %d\n",cnt++,ans);    }    return 0;}