Mảng Cộng Dồn (Prefix Sum) Phần 2 | Code cùng Bắc | Nhập Môn Lập Trình Thi Đấu #2
ฝัง
- เผยแพร่เมื่อ 16 ธ.ค. 2024
- Trong video này, mình sẽ hướng dẫn các bạn cách cài đặt kĩ thuật mảng cộng dồn (Tổng tiền tố Prefix Sum) để xác định được mảng A sau n truy vấn tăng giảm đoạn từ l tới r một lượng v đơn vị.
Xem tiếp phần 3 tại đây: • Mảng Cộng Dồn (Prefix ...
Nhập môn lập trình thi đấu: • Code cùng Bắc | Nhập m...
--------------------------------------
Nếu có thắc mắc gì thì cứ comment bên dưới video hoặc email cho mình nhé, mình sẽ cố gắng giải đáp hết tất cả.
Email: ryan.nguyen.0303@gmail.com
Timeline:
00:00 - Giới thiệu và giải tay
07:24 - Code C++
--------------------------------------
Xem tiếp phần 3 tại đây: th-cam.com/video/zi0E7Zsj1qM/w-d-xo.html
Nhập môn lập trình thi đấu: th-cam.com/play/PLoQ7KKjs2yyORenQER8OTAG58Ud-VPdU9.html
--------------------------------------
Nếu có thắc mắc gì thì cứ comment bên dưới video hoặc email cho mình nhé, mình sẽ cố gắng giải đáp hết tất cả.
Email: ryan.nguyen.0303@gmail.com
ông anh đỉnh thực sự, cảm ơn ông a
Thanks a vì video của a giúp e rất nhiều trong việc học lập trình ạ
Mình tìm ra kho báu cho sinh viên học lập trình rồi :>
Hay quá bro :))
Rất bổ ích!!!
rất hay và dễ hiểu. Mong anh ra nhiều video bổ ích như này ạ
anh ơi nếu code pascal của e như này thì sai chỗ nào ko ạ
Var n,t,i,l,r,v,j:longint;
a,f:array[-1000007..1000007] of longint;
begin
Assign(input,'Congdon.inp'); Reset(input);
Assign(output,'Congdon.out'); Rewrite(output);
readln(n);
for i:=1 to n do read(a[i]);
readln;
readln(t);
for i:=1 to t do
begin
readln(l,r,v);
f[l]:=v;
f[r+1]:=-v;
end;
for i:=1 to n do
f[i]:=f[i-1]+f[i];
for i:=1 to n do
a[i]:=a[i]+f[i];
for i:=1 to n do Write(a[i],' ');
end.
code pas thì như này nhé
8 5
4 -3 5 3 7 6 9 11
1 3 2
2 3 -1
3 5 5
6 8 3
2 7 4
Uses crt;
Var f1,f2:text;
n,i,l,r,v,q:longint;
a,f,g:array [0..1000] of longint;
Begin
clrscr;
assign(f1,'DP.inp'); reset(f1);
assign(f2,'DP.out'); rewrite(f2);
read(f1,n,q);
for i:=1 to n do read(f1,a[i]);
fillchar(g,sizeof(g),0);
fillchar(f,sizeof(f),0);
for i:=1 to q do
Begin
read(f1,l,r,v);
g[l]:=g[l]+v;
g[r+1]:=g[r+1]-v;
end;
f[0]:=0;
for i:=1 to n do
Begin
f[i]:=f[i-1]+g[i];
a[i]:=f[i]+a[i];
write(f2,a[i],' ');
end;
close(f1); close(f2);
end.
sau 7749 lần tua thì em đã hiểu, respect bộ não chậm hiểu của em (đùa thôi coi có 2 lần)