anhvu_cbl

Mai Nguyễn Anh Vũ

Đóng góp: 29

Ngày sinh: 25/12/1997

Đăng ký: 06/07/2015

Lần đăng nhập cuối: 25/07/2016


Kết nối tài khoản

VOJ: Chưa kết nối

Mọi người cho em hỏi cách phân tích để tính ra được ma trận cơ sở ạ. Em có làm nhưng ma trận cơ sở [4x3].

Em mới học nhân ma trận và mới áp dụng giải được 2 bài: Fibonacci (n<=10^9) và DHLOCO. :)))

Bảng của em thế này: 

A[ 0 1 0 0          b[i-2]                  mảng cơ sở: [ 1

    0 0 1 0          b[i-1]                                     2

    1 1 1 0          b[i]                                        3

    0 0 1 1]         s[i]                                        3 ]

Một số thắc mắc về luồng cực đại, mọi người giải thích hộ em với.

* Khi cho đồ thị có cung (u,v), tại sao khi điều chỉnh luồng nhãn (v,u) lại giảm 1 lượng tăng luồng? 

* Làm thế nào để truy vết được các cạnh (cung)  nằm trong lát cắt hẹp nhất?

* Cho em xin một số bài về luồng cực đại trên spoj được không ạ?

Làm sao ôn tập hiệu quả trước kì thi quốc gia?

Mọi người cho em cách học, ôn để chuẩn bị hiệu quả cho kì thi này ạ.

Hiện tại em không biết nên học thêm thuật toán nào hay làm những bài tập gì. Mọi người cho em lời khuyên ạ. :)

Vì em không thấy nút trả lời nên đành trả lời vào đây ạ:

Năm nay em thi hsg quốc gia môn tin và là lần đầu trường em có hs đi thi quốc gia môn tin nên thầy em cũng chưa biết cho em ôn như thế nào, thầy chỉ nói là lên mạng tự tìm bài và làm. :(

Cho em hỏi bài này 80đ là sai test gì ạ? (bị WA hay TLE ạ)

CODE của em đây: http://ideone.com/nPjhWA

Thuật toán: 

B1: Tính a[i] là tổng từ 1 đến i. 

B2: Kiểm tra a[n] có chia hết cho k không. Nếu có: Chia làm 2 trường hợp 

XL1: TH: a[n]=0: Đi đếm tất cả những vị trí có tổng =0 (s[k]) . Khi đó dùng res= tổ hợp chập k-1 của s[k]-1. 

XL: TH: a[n]<>0: đặt h=a[i] div m với m=a[n] div k và a[i] mod m=0. 

Gọi s[h] là số đoạn chia được làm h phần. -> res=s[k-1]; 

Mọi người cho em hỏi làm sao để AC bài này ạ? Em làm được 50đ với độ phức tạp O(n).

Đê tính số cách em dùng Dequeue.

procedure pro(i:longint);
begin
    while (top>0) and (a[d[top]]<a[i]) do dec(top);
    inc(top);
    d[top]:=i;
    if (top>0) and (res1<d[top-1]) then res1:=d[top-1];
end;
procedure nhap;
var f:text;
    i:longint;
begin
    assign(f,fi); reset(f);
    readln(f,n,h);
    for i:=1 to n do
      begin
        read(f,a[i]);
        pro(i);
      end;
    res1:=n-res1+1;
    close(f);
end;

Tính số ngày em tính theo số Catalan. 

 j:=2;
    res:=1; n:=n+1;
    for i:=n+2 to 2*n do
      begin
        res:=res*i;
        while (j<=n) and (res mod j=0) do
          begin
            res:=res div j;
            j:=j+1;
          end;
        if j>n then res:=res mod base;
      end;

CODE: http://ideone.com/RQxSSN 

Mọi người chỉ em thuật toán bài này với! Em có làm rồi. Đpt O(n), không biết là do thuật toán sai hay là bị TLE.

B1: Gọi a[i] là tổng từ 1->i. b[i] là tổng từ i->n. 

      Max[i], min[i] là chỉ số của b[k] max, min trong [i,n];

B2: Với mỗi a[i] (i thuộc [1,n-1]) tính DSEQ = abs ( a[i] - b[max[i+1]])  

                                                          và = abs (a[i] - b[min[i+1]]);

   cập nhật kết quả. 

Báo lỗi diễn đàn!

Em vào diễn đàn không thấy nút trả lời nữa ạ. Mong các ad kiểm tra hộ. 

Cho em hỏi về sự khác biệt và cách dùng của Fillchar và FillDword trong pascal!

Em có đọc trong sách thấy mà chưa hiểu nó khác nhau chỗ nào. Mọi người chỉ giúp em.

Em có đọc trên mạng hướng đẫn nhưng mà Tiếng Anh khó quá. Mọi người có thể hướng dẫn em không ạ?

https://www.quora.com/How-do-I-solve-the-problem-in-O-nlogn-time

Mọi người cho mình xin ý tưởng bài này với.

Mọi người cho mình xin ý tưởng bài này với.