3254.3514521

  • 二维树状数组(单点修改+区间查询):

    Code:
    void upd(int x, int y, int val) {
    	int y2=y;
    	for (; x<=n; x+=x&-x) {
    		for (int y=y2; y<=m; y+=y&-y) {
    			bit[x][y]+=val;
    		}
    	}
    }
    int query(int x, int y) {
    	int y2=y, ans=0;
    	for (; x; x-=x&-x) {
    		for (int y=y2; y; y-=y&-y) {
    			ans+=bit[x][y];
    		}
    	}
    }
    
  • 二维树状数组(区间修改 + 单点查询):

  • 蔡勒公式:求出给定日期是星期几,注意只对格里高利历有效
    先将一年的1,2月转为前一年的13,14月处理
    \(c=\lfloor\frac{year}{100}\rfloor,\ y=year\%100\)

    \[ans = ((\lfloor\frac{c}{4}\rfloor-2c+y+\lfloor\frac{y}{4}\rfloor+\lfloor\frac{13(m+1)}{5}\rfloor+d-1)\% 7+7)\%7 \]

posted @ 2021-10-17 10:58  Administrator-09  阅读(0)  评论(0编辑  收藏  举报