存档

文章标签 ‘Problems’

Warehouse and Truck(joj 2679)

2010年8月10日 没有评论

2010吉林省赛E题Warehouse and Truck。卡车在仓库装了货物,送到各个商店( 所有点都在一条直线上),耗费是当前载重量乘以距离(在每个商店卸下货物之后载重量发生变化)。

比赛的时候没找到算法,这题郁闷很久,一直到现在^^其实想想,当初比赛的时候连什么是DP都不知道。当时在数学上还有些癖好——根本无视递推,当时的我看来,只有通项才是有意义的-_-!确实太固执。。。
当然,我还是找到了解的形式:


显然,一旦到达一个端点,它应该一路直冲到另一端。在到达端点之前,有各种折返,但是可以确定每次折返都是越过仓库的(如果它折回来,必然是越过仓库以后再折回去的)。
如上所说,这都是显然的。。。其实依照这些就可以很快导出递推,只不过当时的我对递推很不敏感,这真是杯具。

首先,折返必然是穿越仓库(x=0)的。我们令i表示仓库左边的点,j表示仓库右边的点(我想我不需要用太多晦涩难懂的数学语言来描述这一点),
我们用d_{i,j}表示遍历i,j范围内所有点,但不越出这个范围的最优开销(其实就是一个小的子问题,去掉了i到j外的所有点)。当然这是不够的,根据上面的解的形式,最优解必然在到达一个端点(i或者j)之后,直接转到另一个。我们需要区分两种情况:i\rightarrow{j} \;or\; j\rightarrow{i}然后这确实足够了

因为从i到j最优解必然是i\rightarrow{(j-1)} \;or\; {(j-1)}\rightarrow{i}的最优解末端往右到j。同样,对称的,可以得到j到i的,这样就得到了d_{i,j} \;and\;d_{j,i}

这个递推,虽然描述简单,求起来却很麻烦。鉴于式子过长,代码就不贴了,因为我自己看起来都够呛(表达式很长)。这样的递推时间上是O(n^2)的,其实因为是对分的,所以常数很小^^

想了下,还是把状态方程写出来。我们令L_{i,j}为i到j的距离,令H_{i,j}为剩余货物的量(就是i到j所有点的货物全部卸下之后剩下的货物),于是,我们有以下方程:

d_{i,j}=\min\;\{\;d_{i,j-1}+H_{i,j-1}\cdot L_{j-1,j}\;\;,\;\;d_{j-1,i}+H_{i,j-1}\cdot L_{i,j}\;\}
d_{j,i}=\min\;\{\;d_{j,i+1}+H_{i+1,j}\cdot L_{i,i+1}\;\;,\;\;d_{i+1,j}+H_{i+1,j}\cdot L_{i,j}\;\}

***如果递推特征不是很明显的话,或许分析解的特征,可以找到更多思路

分类: ACM 标签:

是否存在底层的随机

2010年3月15日 3 条评论

        当我掷出一枚硬币,我有可能在硬币落地之前知道它落地的状态甚至位置吗?(假设我有一台计算力无穷的机器,并且我已经输入了这个世界的每一个部分,虽然这是不可能的)

        这其实就是哲学上是一个决定论和非决定论:决定论,这个世界从他出现的一刻开始,他的未来就已经完全确定了,如果我完全知道一个时刻,世界的每一个部分的状态位置,我就“可以”计算出它的任何时刻。如果我有办法在一瞬间使所有事物的速度翻转,那么一切将会反演。非决定论,这个世界存在底层的随机性,存在一个完全不可预知的过程,它导致这个世界是不可预测的,即使速度的翻转也不会反演。

        刚开始的我,当然我相信每一个思考这个问题的人,都会转入这样的境地:意识,似乎是不可预测的,它如此神奇,我们很快就会转向非决定论,因为意识似乎就是我们的证据,我们莫名的崇拜它,那个时候我相信二元论,我相信意识的完全独立性……但是,很快的,我感觉到我的意识总是以某种方式工作(后来看了心理学,印证了我的感觉),差不多用了4年多吧,我才真正对意识有足够的理解。这期间我独立的发现了混沌(好吧,我一直怀疑是不是那个混沌,因为这和数学中的混沌确实不同,这是统计学上的概率倾向),在高一的时候,我接触到了描述混沌的著作(相比之下,我原来的思想,只是一些雏形),显然达尔文的进化论只是它的一个特例,而意识的复杂,完全可以通过自组织,自进化的过程构建。要知道这个过程已经构建了生命!从完全无机的环境开始(你相信生命来自于外太空?我可以告诉你,这从来不是必须的,或者说,这个概率虽然存在,但我已经完全可以无视它。而且你还得开始思考另一个问题:外太空的生命又是怎么来的?)。

       于是,问题很快就由意识,回到了底层——组成我们宇宙的基元。它拥有底层的随机性吗?在我注意到概率这个东西的时候,你知道我是多么乐于接受量子力学吗?没错,就是量子力学,因为它的理论中出现了不确定性。但是,这个所谓的随机,是真的吗?它是因为其中的复杂,导致的“不可预测”(就如同,我们总是无法预测硬币的正反一样——我说这句话的时候翻了一个巨大的逻辑错误,不过我相信你明白我的意思)?还是它原本特有的随机?

分类: 混沌 标签: