标签:des style blog http io color ar os java
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 68 Accepted Submission(s): 18
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #include<queue> #include<vector> #include<set> #include<stack> #include<map> #include<ctime> #include<bitset> #define LL long long #define ll long long #define INF 0x3f3f3f3f #define maxn 100010 #define eps 1e-6 using namespace std; int cnt[1010] ,len ; LL b[maxn] ; int mat[1010][110],xt[maxn] ; void add(int x) { while(x< maxn) { xt[x]++; x += (x&-x) ; } } int sum1(int x) { int ans=0; while(x>0) { ans += xt[x] ; x -= (x&-x) ; } return ans; } int main() { int n ,i ,j ,k ,m ; int T,sum; LL ans; cin >> T ; while(T--) { scanf("%d%d",&n,&sum) ; len=0; for( i = 1 ; i <= n ;i++) { scanf("%d",&cnt[i]) ; for( j = 1 ; j <= cnt[i];j++) { scanf("%d",&mat[i][j]) ; b[len++] =mat[i][j] ; } } b[len++]=7897878787888LL; sort(b,b+len) ; len=unique(b,b+len)-b; memset(xt,0,sizeof(xt)) ; int hehe=0; for( i = 1 ; i <= cnt[1];i++) { k = lower_bound(b,b+len,mat[1][i])-b; k++; hehe++; add(k) ; } ans=0; for( i = 2 ; i <= n;i++) { for( j = 1 ; j <= cnt[i];j++) { m = sum-mat[i][j] ; k = lower_bound(b,b+len,m)-b; if(k==len-1) continue; if(m!=b[k])k--; k++; //cout<<k<<" "<<sum1(k)<<endl; if(k>0) ans += hehe-sum1(k) ; else ans += hehe; } for( j = 1 ; j <= cnt[i];j++) { k = lower_bound(b,b+len,mat[i][j])-b; k++; hehe++; add(k) ; } } cout<<ans<<endl; } return 0; } /* 1 3 3 1 2 1 2 2 1 1 */
标签:des style blog http io color ar os java
原文地址:http://www.cnblogs.com/20120125llcai/p/4084131.html