suoi44 核能顯示屏 cdq分治

2022-04-29 22:39:18 字數 1696 閱讀 4980

首先二維樹狀陣列肯定開不下

仿照二維樹狀陣列的做法,如果有差分陣列$d[i][j]=a[i][j]-a[i-1][j]-a[i][j-1]+a[i-1][j-1]$,那麼就有:

$$sum[x][y]=\sum\limits_^^^^}}}$$

$$=\sum\limits_^^^}}$$

$$=\sum\limits_^^}$$

所以把詢問拆成四個(字首和)、修改拆成四個(差分))

已經按時間排好序,然後把x作為第二維來cdq,開d,i*d,j*d,i*j*d四個樹狀陣列統計答案就可以了

上帝造題的七分鐘也可以這樣做,不過常數太大要吸氧

1 #include2

#define pa pair3

#define clr(a,x) memset(a,x,sizeof(a))

4using

namespace

std;

5 typedef long

long

ll;6

const

int maxn=1e4+10,maxm=3e4+10;7

8inline ll rd()

11while(c>='

0'&&c<='

9') x=x*10+c-'

0',c=getchar();

12return x*neg;13}

1415

struct

node//

o==1查 o==0改

20 }op[maxm*4],tmp[maxm*4

];21

ll dd[maxn],id[maxn],jd[maxn],ijd[maxn];

22ll ans[maxm];

23int

n,m;

24bool

isask[maxm];

2526 inline int lowbit(int x)

27 inline void add(ll *t,int

x,ll y)

30 inline ll query(ll *t,int

x)33

34void cdq(int l,int

r)48 tmp[++n]=op[q];

49if(op[q].o!=1) continue

;50 ll re=query(dd,op[q].y)*(op[q].x+1)*(op[q].y+1

);51 re-=query(id,op[q].y)*(op[q].y+1

);52 re-=query(jd,op[q].y)*(op[q].x+1

);53 re+=query(ijd,op[q].y);

54 ans[op[q].t]+=re*op[q].v;

55 }for(;p<=m;p++) tmp[++n]=op[p];

56for(int p=l;p<=m&&op[p].x<=op[r].x;p++)

63 memcpy(op+l,tmp+1,sizeof(node)*n);64}

6566

intmain()else84}

85 cdq(1

,j);

86for(i=1;i<=m;i++)

89return0;

90 }

Winform多顯示屏顯示

一台主機連線了2臺顯示器 2個顯示卡 要求乙個程式的兩個窗體在不同的顯示器上顯示 顯示器1 顯示from1,顯示器2 顯示from2。及說明如下 form1不需要變更 from2新增如下 方法一 from2 frm2 new from2 if screen.allscreens.count 1 方法...

筆記 顯示屏LCD

之前有個屏廠家講過背光液晶屏的原理,液晶是特殊狀態。可能不太記得講了什麼,也沒留下ppt,遺憾。後來有一樣機,裝過,觸控螢幕是薄薄一層,下面是顯示屏,從物理上是分離的。這次從網上收集資料,先學習一下顯示屏是什麼。現在,pc顯示屏已經有led 發光方式 屏了。但是貌似手機都是lcd 背光方式 lcd ...

顯示屏相關知識

fhd full high definition,全高畫質,解析度 1920 x 1080,俗稱1080p uhd ultra high definition,超高清,解析度達到3840 x 2160及以上的顯示 qfhd quad full high definition,四角全高畫質 2k 20...