Counter Strike HDU 2443 ????????????

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Counter Strike HDU 2443 ????????????相关的知识,希望对你有一定的参考价值。

?????????str   ??????   for   col   ios   cst   name   combine   ace   

 

?????????http://acm.hdu.edu.cn/showproblem.php?pid=2443

?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

???????????????

???n???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

????????????????????????????????????????????????????????????

?????????

??????????????????????????????????????????????????????????????????????????????

 

???????????????

 1 #include<iostream>
 2 #include<cstring>
 3 using namespace std;
 4 void combine_sortd_list(int* to, int* sub1, int sz1, int* sub2, int sz2);
 5 void merge_sort(int* lst, int sz);
 6 const int MAX = 1e5 + 5;
 7 int arr[MAX];
 8 long long int ans;
 9 int main()
10 {
11     int Group, N, A;
12     cin >> Group;
13     while (Group--)
14     {
15         memset(arr, 0, sizeof arr);
16         cin >> N >> A;
17         for (int j, i = N-1; i >=0; --i)
18         {
19             cin >> j;
20             arr[i] = j - A + arr[i + 1];
21         }
22         ans = 0;
23         merge_sort(arr, N + 1);             //??????????????????
24         cout << ans << endl;
25     }
26 }
27 void merge_sort(int* lst, int sz)
28 {
29     static int tmp[MAX];
30     if (sz <= 1)return;
31     int* l = lst;
32     int lsz = (sz + 1) / 2;
33     int* r = l + lsz;
34     int rsz = sz / 2;
35     merge_sort(l, lsz);
36     merge_sort(r, rsz);
37     combine_sortd_list(tmp, l, lsz, r, rsz);
38     for (int i = 0; i < sz; ++i)lst[i] = tmp[i];
39 }
40 void combine_sortd_list(int*to, int* sub1, int sz1, int* sub2, int sz2)
41 {
42     int i = 0, j = 0, k = 0;
43     while (i < sz1&&j < sz2)
44         if (sub1[i] <= sub2[j])to[k++] = sub1[i++];
45         else
46         {
47             ans += sz1 - i;
48             to[k++] = sub2[j++];
49         }
50     while (i < sz1)to[k++] = sub1[i++];
51     while (j < sz2)to[k++] = sub2[j++];
52 }

 

????????????????????????????????????http://blog.csdn.net/scorpiocj/article/details/6227528

?????????????????????????????????~

 

以上是关于Counter Strike HDU 2443 ????????????的主要内容,如果未能解决你的问题,请参考以下文章

POJ 2443 Set Operation 题解

POJ 2443 Set Operation 题解

POJ 2443 Set Operation

YTU 2443: C++习题 复数类--重载运算符3+

POJ2443 Set Operation (基础bitset应用,求交集)

[POJ2443]Set Operation(bitset)