欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報邀請碼778899分享:職場和發(fā)展 菜鳥藍(lán)橋杯基礎(chǔ)

柚子快報邀請碼778899分享:職場和發(fā)展 菜鳥藍(lán)橋杯基礎(chǔ)

http://yzkb.51969.com/

還有兩天就是藍(lán)橋杯的省賽了,我深知自己有很大概率是拿不了獎的,因為突擊一個月,連語法也不怎么熟練,說好連續(xù)做一個月,期間一個星期又去參加了計算機(jī)設(shè)計大賽(大三學(xué)生的慌不擇路,哈哈哈!)emm還是在最后兩天的時間來總結(jié)一下,畢竟這也是一個非常不自律的人難得堅持了一個月的事情,不管拿不拿獎,都是有所收獲的。

有那么幾次絞盡腦汁地思考,發(fā)現(xiàn)編程真是一件苦中作樂的事情。前幾天是真的毫無頭緒,記得是區(qū)間前綴和那道題,哇做的我覺得自己好孤獨,開始問文心一言為什么編程那么難,哈哈

后來在b站上看了一些大佬們的經(jīng)驗,他們會花幾天的時間去琢磨一道題,我得出的結(jié)論就是天才之所以是天才,因為他們享受普通人不愿意承受的所謂的痛苦。

我感覺做這種編程題連著一個星期一個月,日積月累的,腦袋的溝壑都會變深的。

我終于敢于承認(rèn)自己的缺點了,我害怕思考,我害怕思考后的失敗,這可能就是最大的收獲吧!

沒事,繼續(xù)加油!人總是要向前看的!

1、題庫2122

0數(shù)位排序 - 藍(lán)橋云課 (lanqiao.cn)

#方法一:

n=int(input())

m=int(input())

#定義數(shù)組a 在這里預(yù)先添加一個元素 目的是在最后輸出時第m個元素時,只需要找下標(biāo)為m即可

a=[[0,0]]

def func(x):

sums=0

while x:

sums+=x%10

x=x//10

return sums

for i in range(1,n+1):

#注意,在這里使用數(shù)組的append方法,因為數(shù)組a已經(jīng)初始化過了,不能寫成a[i]=...

a.append([func(i),i])

a.sort()

print(a[m][1])

#方法二:

n=int(input())

m=int(input())

a=list(range(1,n+1))

a.sort(key=lambda x:sum(int(i) for i in str(x)))

#lambda函數(shù)作為參數(shù)傳遞給了key參數(shù)

#含義:key的意思是利用key對數(shù)組排序,lambda是匿名函數(shù),x是參數(shù),來自數(shù)組a,:后面是函數(shù)表達(dá)式

#還有這個sum也很奇怪,背后原理是什么,算了,先記住吧

#等級比我高的一句代碼解決了,等級比我低的也一句代碼解決了,這個本質(zhì)思維就不太一樣。

#哈哈,沒什么挫敗感,起碼我現(xiàn)在學(xué)會了這種方法不是

print(a[m-1])

2、99(二分問題)

0分巧克力 - 藍(lán)橋云課 (lanqiao.cn)

#二分法使用的前提是區(qū)間具有單調(diào)性

#此問題滿足嗎?滿足,當(dāng)巧克力塊邊長越大,塊數(shù)越小

n,k=map(int,input().split())

a=[]

for i in range(n):

#這里的a列表,所添加的必須是列表(列表的嵌套),如果不add列表

#就會導(dǎo)致check對a遍歷時沒有足夠的值去提取

a.append(list(map(int,input().split())))

def check(x):

#判斷中點mid是否合法

cnt=0

#記錄在切割邊長為x的情況下,總的被切割出的巧克力的個數(shù)。

for h,w in a:

cnt+=(h//x)*(w//x)

return cnt>=k

i,j=1,10**5

while i<=j:

mid=(i+j)//2

if check(mid):

i=mid+1

ans=mid

else:

j=mid-1

#二分查找的時間復(fù)雜度為log(n)

print(ans)

3、跳石頭

0跳石頭 - 藍(lán)橋云課 (lanqiao.cn)

L,N,M=map(int,input().split())

a=[]

for i in range(N):

a.append(int(input()))

l,r=0,L

#在這里設(shè)置區(qū)間時,我根據(jù)題目給的L范圍直接給r賦值為10**9,這范圍一下子就超了,直接設(shè)置成L不就得了

def check(mid):

cnt=0

last=0

#cnt為移除的石頭數(shù)量,last為移除石頭后上一個石頭的位置

for i in a:

if i-last>=mid:

#在這里,必須寫成大于等于,不然就不能通過,因為mid為猜測的最短跳躍距離,要包含mid

last=i

else:

cnt+=1

if L-last

#這里還有一個需要滿足的特殊條件,因為起點和終點不包含在L里面,要對終點和last之間的距離進(jìn)行判斷

return False

return cnt<=M

#以下為一個標(biāo)準(zhǔn)二分的寫法

while l<=r:

mid=(l+r)//2

if check(mid):

ans=mid

l=mid+1

else:

r=mid-1

4、題庫97

16.k倍區(qū)間 - 藍(lán)橋云課 (lanqiao.cn)

#這道題有點涉及到動態(tài)規(guī)劃,利用子問題的解來求解原問題

N,K=map(int,input().split())

a=[0]

#設(shè)定初始值,方便對前綴和進(jìn)行計算

dp={0:1}

#起初對這個dp設(shè)置初始值很不理解

#首先要理解dp的含義,dp的key的意思是余數(shù)值,dp的value意思是余數(shù)為key的個數(shù)

#那么dp{0:1}的意思就是余數(shù)為0的個數(shù)最初就設(shè)為1,代表原始前綴和本身構(gòu)成K倍區(qū)間的個數(shù)為1

ans=0

for i in range(1,N+1):

a.append(a[i-1]+int(input()))

mod=a[i]%K

ans+=dp.get(mod,0)

dp[mod]=dp.get(mod,0)+1

#這里的dp[mod]為在原字典中有可能不存在,注意不能寫成dp[mod]+=1,而要寫成上面語句這種形式

print(ans)

5、題庫4125

0雞哥的奇特密碼 - 藍(lán)橋云課 (lanqiao.cn)

i=0

s=list(input())

while i<(len(s)-1):

if s[i]=='L' and s[i+1]=='L':

del s[i+1]

else:

i+=1

'''

這道簡單的題對我來說太困難了

首先我把循環(huán)寫成for循環(huán)了,for循環(huán)是自動給i+1的,導(dǎo)致結(jié)果出錯

for和while的區(qū)別在于for事先已經(jīng)確定了循環(huán)的次數(shù),while不是;并且for循環(huán)的迭代變量是自動定義的,while需要在循環(huán)前定義

其次我改成while以后,把i的范圍寫成了i

'''

print("".join(s))

s=input()

w=s[0]

for i in s:

if w[-1]==i=='L':

pass

else:

w+=i

#字符串添加元素用+

print(w)

6、4124

0分糖果 - 藍(lán)橋云課 (lanqiao.cn)

#利用dfs搜索

ans=0

def dfs(depth,n,m):

#參數(shù)depth為搜索的層數(shù),n為第一種糖果剩余的數(shù)量,m為第二種糖果剩余的數(shù)量

global ans

if depth==7:#七個小朋友則設(shè)置七層

if n==0 and m==0:

ans+=1

return

for i in range(0,6):#每個小朋友得到的每種糖果最小為0最大為5

for j in range(0,6):

if 2<=i+j<=5:

dfs(depth+1,n-i,m-j)

dfs(0,9,16)

print(ans)

7、1372

0美麗的區(qū)間 - 藍(lán)橋云課 (lanqiao.cn)

#利用雙指針求解

n,s=map(int,input().split())

a=list(map(int,input().split()))

l,r=0,0

#這里的l,r都必須設(shè)置成0,屬于同向指針

add=0

ans=n+1

#把a(bǔ)ns設(shè)置成不可能的值,是為了比較出最小的區(qū)間

while l

while r

#還有這里的條件,與條件,一個不成立就跳出循環(huán)

add+=a[r]

r+=1

#當(dāng)滿足add大于等于s時

if add>=s:

ans=min(ans,r-l)

add-=a[l]

#在指針l變換之前,要先把l~r的和減去a[l]

l+=1

if ans==n+1:

#這個條件不能忘了

ans=0

print(ans)

8、0挑選子串 - 藍(lán)橋云課 (lanqiao.cn)

#什么問題可以利用雙指針解決?

#滑動窗口,始終維護(hù)一個區(qū)間

n,m,k=map(int,input().split())

a=list(map(int,input().split()))

l,r=0,0

ans,cnt=0,0

while l

while r

if a[r]>=m:

cnt+=1

r+=1

if cnt>=k:

ans+=(n-1)+(r-2)

if a[l]>=m:

cnt-=1

l+=1

print(ans)

9、532(同向指針問題)

0紀(jì)念品分組 - 藍(lán)橋云課 (lanqiao.cn)

w=int(input())

n=int(input())

a=[]

for i in range(n):

a.append(int(input()))

a.sort()

cnt=0

l,r=0,n-1

while l<=r:

if l==r:

#注意這個特殊控制條件,一旦滿足就需要跳出循環(huán),不然會執(zhí)行接下來的步驟

cnt+=1

break

if a[l]+a[r]<=w:

cnt+=1

l+=1

r-=1

else:

cnt+=1

r-=1

print(cnt)

10、題庫209(貪心)

什么時候用到貪心?只考慮當(dāng)前最優(yōu)也能達(dá)到全局最優(yōu)的情況

0翻硬幣 - 藍(lán)橋云課 (lanqiao.cn)

s1=list(input())

s2=list(input())

cnt=0

for i in range(len(s1)-1):

if s1[i]!=s2[i]:

cnt+=1

s1[i]=s2[i]

s1[i+1]='*' if s1[i+1]=='o' else 'o'

#這里可以記一下,一種便捷的判斷,python可真是順應(yīng)人性

print(cnt)

11、1447(我還沒搞懂動態(tài)規(guī)劃的做法)

0砝碼稱重 - 藍(lán)橋云課 (lanqiao.cn)

n=int(input())

a=list(map(int,input().split()))

s=set()

#定義一個集合,利用了集合內(nèi)元素不重復(fù)的特性

s.add(0)

#添加0考慮了單個砝碼的情況

for i in a:

for j in list(s):

s.add(i+j)

s.add(abs(i-j))

#用這個絕對值很方便啊,不用判斷i,j的大小

print(len(s)-1)

#最后把0取掉

12、1259

0奇怪的捐贈 - 藍(lán)橋云課 (lanqiao.cn)

n=1000000

cnt=0

for i in range(7,-1,-1):

#一百萬不能剩余,所以要反向循環(huán)。

#range的范圍可以自己求出,7**7是八十五萬,所以從7開始,大于七也行。

for j in range(5):

if (n-7**i)>=0:

n=n-7**i

cnt+=1

else:

break

print(cnt)

柚子快報邀請碼778899分享:職場和發(fā)展 菜鳥藍(lán)橋杯基礎(chǔ)

http://yzkb.51969.com/

文章鏈接

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19306673.html

發(fā)布評論

您暫未設(shè)置收款碼

請在主題配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄