V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
V2EX  ›  mthli  ›  全部回复第 38 页 / 共 38 页
回复总数  745
1 ... 29  30  31  32  33  34  35  36  37  38  
2014 年 8 月 10 日
回复了 MarioLuisGarcia 创建的主题 问与答 大家在梦里会编程吗?
梦里面倒没有。

不过睡着之前会一直在想,所以有时候很难睡着。
2014 年 7 月 28 日
回复了 zinev 创建的主题 Linux Archlinux 字体、桌面配置问题
我觉得KDE(kde-base)配文泉驿挺好的。字体发虚一开始会有一点,但是好像过久了就没什么了。看个人习惯啦。
2014 年 7 月 26 日
回复了 razrlele 创建的主题 问与答 有人拿 Elmentary OS 当日常工作系统么?
有哇。我朋友就是,配他的骚尼很漂亮。稳定性可以接受;软件的话,有些不是最新的,比较老。
2014 年 7 月 25 日
回复了 yangkeao 创建的主题 问与答 巧克力分割问题 我校模拟赛题
@mthli 啊呀最后那个例子举措了,应该是要求m = 4(也就是要求分为5),最后的答案才是q = 4。
2014 年 7 月 25 日
回复了 yangkeao 创建的主题 问与答 巧克力分割问题 我校模拟赛题
这个问题有一个简单的思路,不知道可不可行。

我们假设输入的长和宽分别为a和b,而要求切m刀(也就是要求分成m + 1块)。

情况一:
如果a * b / (m + 1) 得到的恰好是一个整数n,也就是说,m刀的情况下恰好能均分,那么这个整数n就是最小块的最大值。

情况二:
如果a * b / (m + 1)得到的不是一个整数呢?
我们可以先计算 a * b / m,得到一个整数p和一个余数q。也就是说,此时可以分得m + 1块,前m块每一块含有面积p,而 最后一块含有面积q。
为了方便解释,我给前面m块进行编号好了,分别是M1,M2,M3, ... , Mm。
现在我们从Mm开始进行如下操作:
1. 从Mm的面积p中减1,把这个1累加到q上。比较此时的q值与Mm的p值大小,如果q < p,则进行2操作;如果q >= p,则说明此时q已经是最大值。
2. 从M(m - 1)的面积p中减1,把这个1累加到q上。比较此时的q值与M(m - 1)的p值的大小,如果q < p,则进行3操作;如果此时q >= p,则说明此时q已经是最大值。
3. 如上1、2两部操作所述,从M(m - 2) -> M1方向一直进行类似的p减1与q加1,然后比较q值和对应的p值。如果q < p,则继续;否则说明此时q已经是最大值。如果在3中仍然没有找到q的最大值,则进行4操作。
4. 从Mm重新开始新一轮的循环计算与比较。也就是回到1操作重新开始。
我想,根据以上4步,最后应该能够得到最小块的最大值。

打个比方,现在a = 3,b = 7,要求切m = 5刀(也就是要求分为6块)。
现在3 * 7 / 6 != 整数,所以我们3 * 7 / 5 = 4 余 1,根据上面四步走下来,最后可以得到最小块的q值应该是4。
1 ... 29  30  31  32  33  34  35  36  37  38  
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   985 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 23ms · UTC 22:16 · PVG 06:16 · LAX 15:16 · JFK 18:16
♥ Do have faith in what you're doing.