[TIL]階調アルゴリズム
6895 ワード
今日は昨日見たGRADYアルゴリズムのビデオを見た後、伯俊でGRADYに関する質問に答えました.この文章では、ビデオに出てくる問題を整理し、他の文章では白俊の問題を整理した.
左からすべての数字の間に+またはxを加えて最大数を求めるプログラム.演算子が何であれ、すべての演算は左から右に順番に行われます.ソリューション:xは+よりも大きいため、2つのオプションのうちの1つが1未満の場合、xが使用されます.
恐怖度xの冒険者がx名以上の冒険者グループに参加しなければ旅に出られない場合、n名の容疑者から旅行グループの最低価格を得る解決策:冒険図を昇順に並べ、恐怖度の低い人からチームを組む.
実装タイプの問題は解決策を容易に考えられるが、ソースコードに移行するのは難しい.
ex)
アルゴリズムは簡単ですが、コード長の問題です.
実数演算小数点以下の桁数に印刷する問題
特定の条件に基づいて文字列を切断して処理しなければならない問題
リポジトリの問題の検索と使用
注意:https://www.youtube.com/playlist?list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC
質問2:乗算または加算
左からすべての数字の間に+またはxを加えて最大数を求めるプログラム.演算子が何であれ、すべての演算は左から右に順番に行われます.
質問3:冒険者組合問題
恐怖度xの冒険者がx名以上の冒険者グループに参加しなければ旅に出られない場合、n名の容疑者から旅行グループの最低価格を得る
import sys
N=int(sys.stdin.readline().strip())
numli=[]
numli=list(map(int, sys.stdin.readline().split()))
numli.sort()
person=0
cnt=0
for i in range(N):
person+=1
if numli[i]<=person:
cnt+=1
person=0
print(cnt)
<実装の問題>
実装タイプの問題は解決策を容易に考えられるが、ソースコードに移行するのは難しい.
ex)
アルゴリズムは簡単ですが、コード長の問題です.
実数演算小数点以下の桁数に印刷する問題
特定の条件に基づいて文字列を切断して処理しなければならない問題
リポジトリの問題の検索と使用
import sys
N=int(sys.stdin.readline())
move=list(map(str, sys.stdin.readline().strip().split()))
x=1
y=1
for i in range(len(move)):
if move[i]=='R' and y!=N:
y+=1
elif move[i]=='L' and y!=1:
y-=1
elif move[i]=='U' and x!=1:
x-=1
elif move[i]=='D' and x!=N:
x+=1
print(x, y)
上のコードは動画の中のコードではなく、自分で作成したコードで、以降の問題はまだ自分で解決していないので、解決できればアップロードを整理します.注意:https://www.youtube.com/playlist?list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC
Reference
この問題について([TIL]階調アルゴリズム), 我々は、より多くの情報をここで見つけました https://velog.io/@lj05117/TIL-그리디-알고리즘テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol