預備役總結2023年1月20日

2021-10-16 22:27:30 字數 3133 閱讀 7195

今天學習了二分答案演算法

一共過了兩道題目花費了我6個小時

在這個問題之外首先今天學的乙個在一本書上面看到的求a[i]<=k的最大i問題

#include

#include

intqqsort

(int

*a,int start,

int end)

a[i]

=t;qqsort

(a,start,i-1)

;qqsort

(a,i+

1,end);}

intsolve

(int

*a,int start,

int end,

int key)

else

}return end;

}int

main()

int k;

//for(int i=0;i//printf("%d ",a[i]);

scanf

("%d"

,&k)

;qqsort

(a,0

,n-1);

//排序出單調遞增的陣列

//開始二分搜尋 輸入乙個k值求 a[i]>=k的最大i 不存就輸出n

printf

("%d\n"

,solve

(a,-

1,n,k));

//為什麼為-1和n的原因是因為假如k為這個陣列最小的數 那麼如果是end會一直向右移動 一直移動到1 然後-1+1再除以2 就返回結果了

//假如不為-1 那麼而為0最終搜尋範圍是在【1,n】

//也就是將我們搜尋範圍為【n,m】那麼我們就要考慮最壞情況 假如搜尋的結果是n 那麼我們就應該考慮如何得到n 也就是(n+1+n-1)/2==n所有左邊界

//應該為n-1 同理 有邊界應該為m+1

}

寫了很多注釋的地方是我剛開始錯的地方

想了好久終於是想通了 為什麼不從0和n-1開始搜尋

如上注釋(嗚嗚嗚!!)個人理解有錯誤往指出

現在就是今天的ac題

問題 a: 切繩子洛谷鏈結

描述有n條繩子,長度分別為l[i]。如果從他們中切割出k條長度相同的繩子的話,這k條繩子每條最長能有多長?(答案保留小數點後兩位(直接捨掉兩位後的小數),規定1單位長度的繩子最多可以切割成100份)

格式輸入格式

包含多組輸入

輸入n,k,(1<=n,k<=10000)

然後n行,輸入l[i],代表每一條繩子的長度(1<=l[i]<=100000)

輸出格式

切出k條長度相等的繩子最大長度是多少,輸出保留兩位小數

樣例樣例輸入 copy

4 11

8.02

7.43

4.57

5.39

樣例輸出 copy

2.00

ac**如下

#include

intcheck

(int

*a,int n,

int k,

int ans)

if(sum>=k)

return1;

else

return0;

}int

main()

int l=0;

int r=

10000009

;int ans;

while

(r>=l)

else r=mid-1;

}printf

("%.2lf\n",(

double

)r/100);

}}

問題 b: 如何放牛()(沒有搜題)

描述農夫有n個牛欄,m頭牛,然後要讓你把m個牛都放進牛欄裡,讓兩頭牛之前的最大的最小距離

格式輸入格式

多組輸入

輸入n,m (1<=m<=n<=100000)

下面n行是牛欄的位置xi (0 <= xi <= 1,000,000,000)

輸出格式

輸出兩頭牛最大的最小距離

樣例樣例輸入 copy

5 3128

49樣例輸出 copy

3 提示

fj可以將他的3頭奶牛放在位置1,4和8的攤位上,最小距離為3.

大量輸入資料,建議使用scanf

雖然沒有看懂題目 但是看了一下資料

猜測到了這個是求最大化最小值

ac**

#include

long a[

1000005];

intcheck

(long

*a,int n,

int m,

long ans)

//ans為最少距離 m為個數

}// printf("sum%d m%ld %ld",sum,m,ans);

// getchar();

if(sum>=m)

return1;

else

return0;

}int

qqsort

(long

*a,int start,

int end)

a[i]

=t;qqsort

(a,start,i-1)

;qqsort

(a,i+

1,end);}

intmain()

qqsort

(a,0

,n-1);

// for(int i=0;i// printf("%ld ",a[i]);

r++;long l=0;

while

(l<=r)

else

}printf

("%ld\n"

,r);

}}

小結一下

學習了二分感覺自己又棒棒噠 又多一種暴力求解的思路

還有今天 我不曉得我學多久 但是一定有7小時 早上簽到 然後不小心又睡著了 噶!

2023年1月19日總結

python中transpose 類似於matlab中的permute,需要注意的是python中的transpose是從0開始的。舉個例子,矩陣a是12 10 1000的,如果要將矩陣 變為1000 12 10的,在python中,操作 為a a.permute 2 0 1 matlab中的per...

2023年3月20日學習總結

本週講解內容 本週老師還是繼續上一周的話題接著講貪心演算法,主要內容也沒什麼要闡述的,無非就是將乙個問題精簡為乙個最小問題,再找到這個最小問題的最優解,然後以此來找到整個問題的最優解。講了幾個常見情況,例如區間排程 活動安排 重疊區間 工廠利潤 質量合併 取規則下的最小數字等。我學到的 1 如果在排...

2023年1月4日 與父談話總結

2021年的第一篇部落格,先祝大家新年快樂,新的一年,身體健康,萬事如意!晚上跟老爸語音聊了會天,雖然還是像往常一樣的老生常談,但每次聽都會有不一樣的感覺,有時候是不太想聽,有時候是很認真的聽進去了。而這次顯然是後者。我們主要談了三個方面 第一,還是說學習的事情,這是首要的。告誡我還是要堅持到底,不...