当前位置:   article > 正文

vj题单 Color the ball c 差分

vj题单 Color the ball c 差分

题目链接:Problem - 1556 (hdu.edu.cn)

笔者思路:利用一维差分数组进行区间同时+1的操作,然后还原为一维前缀和数组

笔者答案:

  1. #include<stdio.h>
  2. int cut[100010];
  3. int main()
  4. {
  5. long N,a,b,i,k=1,j;
  6. scanf("%ld",&N);
  7. while(N!=0)
  8. {
  9. for(i=1;i<=N;i++)
  10. {
  11. scanf("%ld %ld",&a,&b);
  12. cut[a]++;
  13. cut[b+1]--;
  14. }
  15. for(i=1;i<=N;i++)
  16. {
  17. cut[i]=cut[i-1]+cut[i];
  18. printf("%d ",cut[i]);
  19. cut[i-1]=0;
  20. if(i==N)
  21. {
  22. cut[i]=0;
  23. cut[i+1]=0;//易错点:cut[i],cut[i+1]容易忘记赋为0
  24. }
  25. }
  26. printf("\n");
  27. scanf("%ld",&N);
  28. }
  29. return 0;
  30. }

算法收获:

1.一维前缀和数组,输入原数组,求其一维前缀和数组这两个过程只需要一个数组即可,这样可以降低空间

编程收获:
1.wa时可以利用一些特殊的数据去测试,如一些边界条件

2.wa时可以找一个与自己写的程序的思路接近的正确答案,把正确的代码一步一步地修改成自己的代码,看哪一步开始wa

3.wa时可以重头思考程序的逻辑是否严谨,是否有一些边界条件未处理到

4.在写程序时,应该想地更全面,一步一步稳步推进,逻辑严谨

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/596576
推荐阅读
相关标签
  

闽ICP备14008679号