duangsuse::Echo
716 subscribers
4.25K photos
127 videos
583 files
6.46K links
import this:
美而不丑、明而不暗、短而不凡、长而不乱,扁平不宽,读而后码,行之天下,勿托地上天国。
异常勿吞,难过勿过,叹一真理。效率是很重要,盲目最是低效。
简明是可靠的先验,不是可靠的祭品。
知其变,守其恒,为天下式;穷其变,知不穷,得地上势。知变守恒却穷变知新,我认真理,我不认真。

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
[60, 60, 60, 62, 64, 55, 57, 60, 62, 65, 60, 60, 60, 62, 64, 55, 55, 57, 60, 60, 60, 64, 65, 64, 67, 67, 67, 67, 67, 59, 59, 59, 60, 60, 60, 62, 65, 64, 64, 60, 60, 60, 67, 67, 55, 64, 67, 67, 55, 60, 60, 60, 60, 60, 60, 62, 64, 55, 57, 60, 62, 65, 60, 60, 60, 62, 64, 55, 55, 57, 60, 62, 65, 64, 67, 67, 67, 67, 67, 59, 59, 59, 60, 60, 60, 62, 65, 64, 67, 60, 60, 60, 62, 65, 64, 64, 64, 62, 64, 65, 67, 72, 69, 72, 72, 72, 69, 72, 72, 72, 76, 71, 71, 71, 71, 71, 69, 71, 72, 72, 69, 72, 72, 72, 72, 70, 72, 72, 72, 76, 76, 67, 70, 71, 71, 71, 71, 72, 72, 71, 72, 72, 72, 70, 72, 72, 72, 76, 74, 74, 74, 74, 74, 72, 76, 76, 76, 69, 69, 72, 69, 72, 72, 72, 74, 72, 72, 67, 74, 74, 74, 74, 74, 76, 76, 76, 76, 67, 72]
这个修正版其实都有一大堆偏了的…… 还有多余的
Forwarded from 任桑 今天开始做魔王
刚才戳过去正好看到,monkey也在那里乱扯什么多线程并没有很确定是多线程,紧接着就有人回一句python多线程是单线程,建议试试异步了……
Forwarded from viking mew
我觉得其他的还好,至少得会动态规划和常见树吧…这都不会怕不是本科也没上
Forwarded from 依云
动态规划我感觉就是复用中间计算结果?
Forwarded from dnaugsuz
草死,不问元方法和 (a, b, c) = (c, a, b) = (1, 2, 3)
def wtf(a=0, b=1, c=1):
while True: a=b; b=c; c=a+b; yield a
Forwarded from dnaugsuz
我也有这种感觉,我觉得动态规划其实就是复用中间结果的递归 🤔
Forwarded from dnaugsuz
动态规划的最优组合问题我来抄一个#Algorithm

假设你是一个小偷,背着一个可以装 4kg 东西的背包
有3样商品可供盗窃:
音箱 $3k 4kg
笔电 $2k 3kg
吉他 $1.5k 1kg

问 4kg 的背包,最大价值可装什么组合。


动态规划的模型是一个网格(grid)。
这里,它的列是背包容量(会把寻找最优解分成子问题解决)
它的行是物品,内容是最大价值

以下默认 行数=n;列数=m
迭代时则是 i, j

我们按 i, j 顺序这样填充表格:

cell[i][j] = max(cell[i-1][j], price + cell[i-1][j-weight])
max 参1代表上行算的最大价值,参2代表当前商品价值+剩余空间的最大价值


总体代码:

amount = 4
items = [("音箱", 3, 4), ("笔电", 2, 3), ("吉他", 1.5, 1)]

因为我们的表格列长只能是整数,我提供一个最简单的细分转化法……

def integerify(items, key=1):
rems = [it[key] % 1 for it in items]
if all(map(lambda it: it == 0, rems)): return items
elif all(map(lambda it: it == 0 or it == 0.5, rems)):
new_list = list([list(it) for it in items])
for i in range(0, len(new_list)): new_list[i][key] = int(new_list[i][key]*2)
return new_list
else: pass # my poor math...


def solve(amount, items):
items = sorted(integerify(items), key=lambda it: it[2])
n, m = len(items), amount
cols = range(0, m)
grid = [[0 for j in cols] for i in range(n)]
grid[0] = [items[0][1] if items[0][2] <= j+1 else 0 for j in cols] # 第一次只能偷一种商品,所以最优解是固定的
for i in range(1, n): #商品
for j in cols: #背包容积
(name, price, weight) = items[i]
old_max = grid[i-1][j]
grid[i][j] = old_max if weight > j+1 else max(old_max, price + grid[i-1][(j+1)-weight])
return grid


solve(4, items) #=> [[3, 3, 3, 3], [3, 3, 7, 7], [3, 3, 7, 9]]
啊写不下去了,很难写呢……
Forwarded from dnaugsuz
w.py
1.1 KB
算了,就做这么多,好像也没 bug 的样子…… 但还是和书上的表格不一样
遇到困难,就不做了睡大觉,以后这个经验就多了,大不了第二次重新来过。解决实战问题没有金科律玉的教科书也没有需要赡(chan)养的颐使气指的教师爷;大海有风平浪静之时也有风狂雨骤之时,难题可以掀翻小池塘但不能掀翻大海

总是有些吃饱了没事干的资木主义者对我们的工作指手画脚,我们一不彻底解决问题,二不作其他谈论、三不去折腾你们,还有什么好说的。
This media is not supported in your browser
VIEW IN TELEGRAM
我岿然不动的关键,是不仅基础不牢地动山摇,而且基础不牢地动山摇
duangsuse::Echo
[60, 60, 60, 62, 64, 55, 57, 60, 62, 65, 60, 60, 60, 62, 64, 55, 55, 57, 60, 60, 60, 64, 65, 64, 67, 67, 67, 67, 67, 59, 59, 59, 60, 60, 60, 62, 65, 64, 64, 60, 60, 60, 67, 67, 55, 64, 67, 67, 55, 60, 60, 60, 60, 60, 60, 62, 64, 55, 57, 60, 62, 65, 60, 60…
再来弹一遍……
[60, 60, 60, 62, 64, 55, 57, 60, 62, 65, 60, 60, 60, 62, 64, 55, 55, 57, 60, 60, 60, 62, 65, 64, 67, 67, 67, 67, 67, 59, 59, 59, 60, 60, 60, 62, 65, 64, 64, 60, 60, 60, 67, 67, 55, 64, 67, 67, 55, 60, 60, 60, 60, 60, 60, 62, 64, 55, 57, 60, 62, 65, 60, 60, 60, 62, 64, 55, 55, 57, 60, 60, 60, 62, 65, 64, 67, 67, 67, 67, 67, 59, 59, 59, 59, 60, 60, 60, 62, 65, 64, 67, 60, 60, 60, 62, 65, 64, 64, 64, 62, 64, 65, 67, 72, 69, 72, 72, 72, 69, 72, 72, 72, 76, 71, 71, 71, 71, 71, 69, 71, 72, 72, 69, 72, 72, 72, 72, 70, 72, 72, 72, 76, 76, 67, 70, 70, 71, 71, 72, 72, 71, 72, 72, 72, 70, 72, 72, 72, 76, 74, 74, 74, 74, 74, 72, 76, 76, 76, 69, 69, 72, 69, 72, 72, 74, 74, 72, 72, 72, 67, 74, 74, 74, 74, 74, 76, 76, 76, 67, 72]
修复版本
野子0.mid
2.7 KB
真 TM 坑死人了…… 这谱子好难扒啊
即刻开始迫真演奏(
duangsuse::Echo
即刻开始迫真演奏(
基本上全曲都是这个序列,然后 104 小节有一段节奏慢点的
野子.s5p
17 KB
修完了,这段基本可以用
野子.s5p
18.2 KB
怎么大风越狠我心越荡
宛如一丝尘土随风自由的在狂舞
我要握紧手中坚定却又飘散的勇气
我会变成巨人踏着利器踩着梦
怎么大风越狠我心越荡
犹如一丝消沙随风轻飘的在狂舞
我要上满心头上秉持却又重伤的勇气
一直往大风吹的方向走过去

吹啊吹啊我的骄傲放纵吹呀吹不毁我纯净花园
任风吹任它乱毁不灭是我尽头的展望
吹啊吹啊我赤脚不害怕吹呀吹呀无所谓扰乱我你看我在勇敢的微笑
你看我在勇敢的去挥手啊
野子.s5p
18.4 KB
调完了第一段的参数
野子 Half(Eleanor Forte)
试听……
This media is not supported in your browser
VIEW IN TELEGRAM