Prob_Solve 板


LINE

※ 引述《chrisdar (克里斯)》之铭言: : ※ [本文转录自 C_and_CPP 看板] : 作者: chrisdar (克里斯) 看板: C_and_CPP : 标题: [问题] 如何解 池塘边的木头 问题 : 时间: Wed Nov 5 21:42:59 2008 : 现今有一池塘长730米宽与木材同宽,池塘边有45根长短不一的等宽木头高为H, : 这些等宽木头一开始的位置为Yi,由於宽度问题容不下两根木头同时处在重叠的 : 区间内,还有由一开始的位置搬到合适的地方推下去需要耗费人力,所以希望不 : 要搬离开原始的位置太远(距离越小越好),想要请问这些木头需要搬到哪个位置 : 才能刚刚好推到池塘内而不互相重叠且搬动的距离越小越好。 : 抱歉碍於BBS版面我把座标轴转了方向: ↑X : 0 → Y 730 : ┌────────────────────────────┐ : │                            │池塘 : └────────────────────────────┘ :       ┌───────┐ :       └───────┘…………… : Yi[i] H[i] : Yi[45]={60,78,130,151,155,224,236,238,246,260,352,356,394,409,419,429,430,432, : 440,446,452,453,464,464,480,517,523,547,634,709,712,712,712,712,712,712,713, : 713,713,713,713,718,724,725,725} : H[45]={13,4,10,4,4,7,7,5,3,4,3,5,2,4,3,5,23,6,3,3,5,2,4,2,7,3,23,7,2,19,16, : 16,16,16,16,16,15,15,15,15,15,10,4,2,2} : 我的想法:暴力法:使用线性规划软体 令 Yo[i] 为新的位置 : 限制式 : 0 <= Yo[0] : Yo[i] + H[i] <= Yo[i+1] i = 0~43 : Yo[44] + H[44] <= 730 : 目标函数 : min = abs(Yo[i]-Yi[i]) i = 0~44 : 可以解到下列这些值 : Yo[45]={60,78,130,151,155,224,234,241,246,260,352,356,394,405,409,412,417,440, : 446,449,452,457,464,468,480,487,490,513,520,522,541,557,573,589,605,621,637, : 652,667,682,697,712,722,726,728} : 这时候的总移动距离为 1500 : 我想问还有没有其他的演算法或想法能支援这个问题,如果化成动态规画呢? : 我对於动态规画的模型仅只於背包问题 XD 谢谢各位。 先假定所有取值都取整数 那麽开一个 h 长度(730+1) * n 木材数量(45) 的阵列 DP 可以算出从 h 处, 摆放最後 n 根木材的最少移动量 最简单先填 n=1, h=730~0 然後再填入 n=2, h=730~0 ... (会用到 n=1 的部份) 以此类推把表格填完 其实不用填 h=730~0 这麽多 因为第 i 根木材的合理位置是有范围的 在前 i-1 根长度累加的距离之後 在从 i 开始到最後一根的长度累加之前 表填完会求出一个精度在整数的最佳解 如果把格子切细, 比如说 0.1 一格 DP table 就变成 7310 * 45 就是精度在 0.1 的最佳解 这样算出来的值又会更接进 minimal 不知道这个想法有没有问题 -- 有时候,遗忘,是令人快乐的。什麽时候?当然是有人伤了你的心的时候。  存心伤你的那个人,固然是故意和你过不去,但是被伤了心而耿耿於怀的你  ,却是和自己过不去了。所以,记性不好的人,通常会是比较快乐的人,也  是比较不容易被击倒的人。 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.30.54
1F:推 chrisdar:忘记说 全都是整数 11/06 07:29
2F:推 Fenikso:为什麽可以保证第i根要摆在第i+1根前面? 11/06 21:25
3F:推 Fenikso:这样不一定会最好 11/06 21:27
4F:推 yoco315:其实我觉得这提用 simplex 最好.. 11/07 04:33
5F:→ yoco315:数字范围还可以是实数... @@" 11/07 04:33
6F:推 chrisdar:Fenikso 我试过把顺序洗乱下去解线性规画 值都比1500大 11/07 08:08
7F:推 chrisdar:to yoco315 您的意思是我把45顶点的简单型压成一维? 11/07 08:17
8F:推 chrisdar:to Fenikso 或许是限制式的问题导致 11/07 08:25
9F:→ ledia:嗯, 没考虑好 XD 11/07 10:48







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Gossiping站内搜寻

TOP