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...