确定划线语句(m++)执行次数及渐进时间复杂度

程序段:
m=0;
for(int i=0;i<n;i++)
for(int j=2*i;j<=n;j++) m++;

请给出详细一点的分析、解答过程,可以不用算出答案,我有参考答案,但是不明白怎么算出来的。

参考答案:
n为奇数:(n+1)(n+3)/4
n为偶数:(n+2)^2/4
渐进时间复杂度O(n^2)