码迷,mamicode.com
首页 > 编程语言 > 详细

hdu 3015 树状数组+离散化

时间:2015-01-29 14:07:38      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:

    1. #include <stdio.h>
    2. #include <stdlib.h>
    3. #include <algorithm>
    4. using namespace std;
    5. struct data
    6. {
    7. __int64 order;
    8. __int64 orign;
    9. __int64 rank;
    10. };
    11. data heigh[100100], coor[100100];
    12. int cmp(const void *a, const void *b)
    13. {
    14. return ( (*(data *)a).order - (*(data *)b).order );
    15. }
    16. int cmp1(const void *a, const void *b)
    17. {
    18. return (*(data *)a).orign - (*(data *)b).orign;
    19. }
    20. /*__int64 cmp1(const void *a, const void *b)
    21. {
    22. }*/
    23. int main()
    24. {
    25. freopen("read.txt", "r", stdin);
    26. __int64 n;
    27. while(~scanf("%d", &n) )
    28. {
    29. for(int i=1; i<=n; i++)
    30. {
    31. scanf("%I64d", &coor[i].orign);
    32. scanf("%I64d", &heigh[i].orign);
    33. coor[i].order = i;
    34. heigh[i].order = i;
    35. }
    36. qsort(coor, n, sizeof(coor[0]), cmp1);
    37. qsort(heigh, n, sizeof(heigh[0]), cmp1);
    38. int sign1, sign2, flag1, flag2;
    39. sign1 = sign2 = 1;
    40. flag1 = coor[1].orign, flag2 = heigh[1].orign;
    41. for(int i=1; i<=n; i++)
    42. {
    43. if(coor[i].orign != flag1)
    44. {
    45. flag1 = coor[i].orign;
    46. coor[i].rank = i+1;
    47. sign1 = i+1;
    48. }
    49. else
    50. coor[i].rank = sign1;
    51. if(heigh[i].orign != flag2)
    52. {
    53. flag2 = heigh[i].orign;
    54. heigh[i].rank = i+1;
    55. sign2 = i+1;
    56. }
    57. else
    58. heigh[i].rank = sign2;
    59. }
    60. //qsort(coor, n, sizeof(coor[0]), cmp);
    61. //qsort(heigh, n, sizeof(heigh[0]), cmp);
    62. //前面是对的, 但是我不知道怎么离散化。
    63. }
    64. return 0;
    65. }





附件列表

     

    hdu 3015 树状数组+离散化

    标签:

    原文地址:http://www.cnblogs.com/sober-reflection/p/0541852f4482f2b323b067f3f098466f.html

    (0)
    (0)
       
    举报
    评论 一句话评论(0
    登录后才能评论!
    © 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
    迷上了代码!