專題四 第十一道題

2021-07-14 08:47:56 字數 914 閱讀 5487

1.題目編號:1023

2.簡單題意:在2023年第十二屆浙江大****會,在浙江師範大學有乙個新的體育場建成。這是乙個可以容納成千上萬人的現代體育場。觀眾席作了乙個圓,列的總數為300,編號為1—300,計數順時針,我們假設行數是無限的。這些天,busoniya想在這個體育場舉行大型文藝演出。將會有n個人去那裡,編號為1到n,busoniya已經預訂了幾個座位。為了讓它有趣,他為這些座位提了m個要求:a b x,這意味著編號b的人必須坐在編號為a的順時針x距離。例如:a是在第四列,x是2,那麼b必須在第六列(6 = 4 + 2)。你的判斷的規則很容易:當乙個新的要求與前述的衝突,我們定義它為不正確的,否則它是正確的。請找出所有不正確的請求,並將它們計數為r。

3.解題思路形成過程:這是乙個並查集問題。找出有衝突的位置,即當兩個人在同一行坐,他們到根節點的距離差值正好就是他們之間的差值就衝突,然後找出並查集。

4.感悟:用到了數學的向量知識

5.ac的**:

#include

#include

#include

#include

#define maxx 50002

using namespace std;

int father[maxx],dist[maxx];

int n,m;

int find_father(int a)

void union(int a,int b,int x)

int main()

{int a,b,ra,rb,x,r;

while(scanf("%d%d",&n,&m)!=eof)

{memset(dist,0,sizeof(dist));

for(int i=0;i<=n;i++)

father[i]=i;

r=0;

for(int i=0;i

第十一章程式設計題

2.在這個題目中,我的設計的不人性化在於,我必須要求使用者給輸入自己要輸入整數的大小,然後我再給他分配記憶體,這分明是通過折磨使用者來使自己的程式變得簡單,而guide s answer則是只需要使用者輸入你該輸入的數即可。程式設計的思路如下 1.先預設一定大小 巨集定義 的記憶體分配 2.然後在讀...

第十一次訓練 J題

問題簡述 有n個城鎮,m個道路,每條道路都有其最大承重量。讓你選擇一條路徑,能承載最多的貨物,輸出能運輸的最大重量。問題分析 這題的原理和上一題i題的原理是一模一樣的。只不過這題將要求的目標反了過來,變為了先求出每條路徑的最小權值邊,再比較每條路徑的最小權值邊,找出最大權值的那一條。但是資料量增加到...

第十一作業

1.文法 g s 1 s ab 2 a da 3 b cc 4 c aadc 5 d b 驗證文法 g s 是不是 ll 1 文法?first集 first da first aadc first d follow集 follow a follow c follow d select集 select...