推导
若 a≥c 或 b≥c,有:
h(a,b,c,n)=i=0∑n⌊cai+b⌋2=i=0∑n(⌊ca⌋i+⌊cb⌋+⌊c(amodc)i+(bmodc)⌋)2=i=0∑n(⌊ca⌋i+⌊cb⌋)2+2i=0∑n(⌊ca⌋i+⌊cb⌋)⋅⌊c(amodc)i+(bmodc)⌋+i=0∑n⌊c(amodc)i+(bmodc)⌋2
为了方便展示,分开化简这三项:
i=0∑n==2i=0∑n==i=0∑n=(⌊ca⌋i+⌊cb⌋)2⌊ca⌋2i=0∑ni2+2⌊ca⌋⌊cb⌋i=0∑ni+⌊cb⌋2i=0∑n1⌊ca⌋261n(n+1)(2n+1)+⌊ca⌋⌊cb⌋2n(n+1)+⌊cb⌋2(n+1)(⌊ca⌋i+⌊cb⌋)⌊c(amodc)i+(bmodc)⌋2⌊ca⌋i=0∑ni⌊c(amodc)i+(bmodc)⌋+2⌊cb⌋i=0∑n⌊c(amodc)i+(bmodc)⌋2⌊ca⌋g(amodc,bmodc,c,n)+2⌊cb⌋f(amodc,bmodc,c,n)⌊c(amodc)i+(bmodc)⌋2h(amodc,bmodc,c,n)
加起来并整理后有:
h(a,b,c,n)=⌊ca⌋261n(n+1)(2n+1)+⌊ca⌋⌊cb⌋2n(n+1)+⌊cb⌋2(n+1)+2⌊ca⌋g(amodc,bmodc,c,n)+2⌊cb⌋f(amodc,bmodc,c,n)+h(amodc,bmodc,c,n)
若 a,b<c,有:
h(a,b,c,n)=i=0∑n⌊cai+b⌋2=i=0∑n(2j=0∑⌊cai+b⌋−1j+⌊cai+b⌋)=2j=0∑⌊can+b⌋−1i=0∑nj⋅(j≤⌊cai+b⌋−1)+i=0∑n⌊cai+b⌋=2j=0∑⌊can+b⌋−1i=0∑nj⋅(j<⌊cai+b⌋)+f(a,b,c,n)let m=⌊can+b⌋=2j=0∑m−1i=0∑nj⋅(j<⌊cai+b⌋)+f(a,b,c,n)=2j=0∑m−1j⋅i=0∑n[cj<(ai+b)−c+1]+f(a,b,c,n)=2j=0∑m−1j⋅i=0∑n(⌊acj+c−b−1⌋<i)+f(a,b,c,n)=2j=0∑m−1j⋅(n−⌊acj+c−b−1⌋)+f(a,b,c,n)=2nj=0∑m−1j−2j=0∑m−1j⋅⌊acj+c−b−1⌋+f(a,b,c,n)=2n⋅21(m−1)m−2g(c,c−b−1,a,m−1)+f(a,b,c,n)
带入之前推 f 式得到的结论可得:
h(a,b,c,n)=n(m−1)m−2g(c,c−b−1,a,m−1)+nm−f(c,c−b−1,a,m−1)=nm2−2g(c,c−b−1,a,m−1)−f(c,c−b−1,a,m−1)
结论
令 m=⌊can+b⌋,有:
h(a,b,c,n)=⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧⌊ca⌋261n(n+1)(2n+1)+⌊ca⌋⌊cb⌋2n(n+1)+⌊cb⌋2(n+1) +2⌊ca⌋g(amodc,bmodc,c,n)+2⌊cb⌋f(amodc,bmodc,c,n) +h(amodc,bmodc,c,n)nm2−2g(c,c−b−1,a,m−1)−f(c,c−b−1,a,m−1)a≥c∨b≥cotherwise