書上例題…… 枚舉 + 貪心(dp)
我們枚舉 K
,看 K
固定時需要多少次反轉次數,最直覺的寫法是:
# Your init script | |
# | |
# Atom will evaluate this file each time a new window is opened. It is run | |
# after packages are loaded/activated and after the previous editor state | |
# has been restored. | |
# | |
# An example hack to log to the console when each text editor is saved. | |
# | |
# atom.workspace.observeTextEditors (editor) -> | |
# editor.onDidSave -> |
import os | |
from sys import argv | |
from scipy.misc import imread, imresize, imsave | |
input_dir = argv[1] | |
output_dir = './out/' | |
os.makedirs(output_dir, exist_ok=True) | |
filenames = sorted(os.listdir(input_dir)) |
書上例題…… 枚舉 + 貪心(dp)
我們枚舉 K
,看 K
固定時需要多少次反轉次數,最直覺的寫法是:
※ 以下都是我自己著墨出來的,不保證正確
※ 以下 r+
指的是比 r
大的數
c.NotebookApp.ip = '*' | |
c.NotebookApp.password = 'sha1:704dbc0c1d89:2e2c09f31e89b252b374b483ed070c64126024f4' | |
c.NotebookApp.open_browser = False | |
c.NotebookApp.port = 8888 |
[Desktop Entry] | |
Type=Application | |
Encoding=UTF-8 | |
Name=Matlab | |
Exec=bash -c "~/Matlab/bin/matlab -desktop" | |
Icon=matlab_icon.png | |
Terminal=False | |
Categories=Development;Math;Science;Education; |
給定一些物品的價值與重量,在滿足 Wa <= 總重 <= Wb
的條件下,選至少 L 個物品出來,並使單位重量的價值 ceil(sum(w) / sum(v)
最大化。
乍看之下很像可以用二分搜解的平均最大化的問題,但仔細分析可以發現, 新增加的條件會造成二分搜解法中的單調性消失,所以不能使用二分搜來解這題。
標準二維 dp 的題型。
###定義