csp 201912 4區塊鏈 80分

2022-05-28 14:51:12 字數 1356 閱讀 4240

思路

直接利用優先佇列,將每一次會對外傳播的節點當前的狀態記住,同時也儲存這次傳播會到達的時間

每次產生和輸出之前先更新就可以,但是因為乙個節點可能在同一時間生成多個塊,會被卡時間,只能得到80分,後續優化懶得做了

附贈一組測試資料

15 13

1 22 3

3 44 5

1 66 7

7 88 9

1 10

10 11

11 12

12 13

14 15

6 28

1 1 1

1 2 2

1 62 7

13 7

9 75 7

3 14

8 14

5 14

11 14

9 25

5 25

13 25

9 29 3

5 29 4

13 29 5

1 53

2 59 6

2 59

1 1000

3 1000

8 1000

9 1000

10 1000

13 1000

14 1000

15 1000

輸出

3 0 1 2

2 0 1

1 01 0

1 03 0 1 2

1 01 0

3 0 1 2

2 0 1

2 0 1

2 0 1

4 0 1 2 3

5 0 1 2 3 6

5 0 1 2 3 6

5 0 1 2 3 6

5 0 1 2 3 6

5 0 1 2 3 6

5 0 1 2 3 6

5 0 1 2 3 6

1 01 0

**

#includeusing namespace std;

struct event_bro

bool operator

vectortemp[505];

vectorgraph[505];

priority_queuepq;

void handler(int t,int gap)

} }}void query(int a,int b,int t)

int t,k;

cin>>t>>k;

while(k--)else

} return 0;

}

CCF 201912 4 區塊鏈(STL模擬)

好難寫的一道題,一開始寫是每次記錄下每個時間的被傳輸鏈和新增塊,然後每更新一次bfs全圖,但是寫不對。下面的 是參考 include include include include include include include include include using namespace std...

CCF 201912 4 區塊鏈 滿分題解

我們可以將主鏈看做網路傳輸中傳送的資料報,節點在產生塊或收到鄰居發來的包 主鏈 並更新後,會向鄰居節點傳送自己的包,這裡假設傳送時刻為t,鏈路延遲為interval,當前時刻為cur,那麼鄰居節點只有在t interval cur時才能恰好收到這個包,我們當然可以構造乙個結構體 struct pac...

區塊鏈系列1 區塊鏈科普

區塊鏈本質上是乙個賬本,當乙個商品 乙個行為 乙個交易開始的時候,可以產生乙個區塊,它的整個流動的生命週期被詳細的記錄下來,形成乙個鏈。這個賬本會存在網際網路上,理論上無法被任何人拿走 篡改或者銷毀。優點 1.分布式,去中心化 拿位元幣來講,去中心化的好處就是不需要有乙個類似銀行的機構來為雙方交易提...