09 2015 档案

摘要:此题,刚开始看上去以为是加简单的动态规划,但是写了后,交上去发自现不对。后来在网上查了题解后发现用到了“多线程DP”的东西。这种DP就是用来解决这种问题的。和P1143 三取方格数那道题很像。只不过是这道题用的是三维DP。三取方格数那道题是四维的DP。此题的多线程DP的状态转移方程是这样的f[i][... 阅读全文
posted @ 2015-09-28 15:55 Martrix99 阅读(356) 评论(0) 推荐(0)
摘要:这道题看了网上好多的题解,用的都是二分图的算法,但是自己却用的是贪心加并查集的做法。二分图的做法其实我并不会,是不是很神奇。 实际上贪心的算法很好想,只要先用一个结构体维护两个人的怒气值,然后从小到大排序。再从小到大搜一遍。时间复杂度大概是(nlogn+n)总时154ms,基本上是C++中最快的了。... 阅读全文
posted @ 2015-09-21 18:31 Martrix99 阅读(707) 评论(0) 推荐(0)
摘要:首先要看清题目,卒只能向右或者向下走。而不是四周转。这样的话就无解了。定义f[i][j],表示走到(i,j)这个点时的总步数。这样就写出了一个递推公式f[i][j]=f[i-1]+f[i][j-1]。因为卒是从(0,0)出发,所以f[0][0]=1,因为 f[i][j]只能从前一个状态转移过来。所以... 阅读全文
posted @ 2015-09-20 16:42 Martrix99 阅读(941) 评论(0) 推荐(0)
摘要:和“过河”一样,在很久以前我也曾经尝试过做这道题,可无奈当时没有看清题目。题目上说要先找最大的,然后次之。当时纠结了好久,可惜没做出来。但是现在就很好做了,只需要用结构体把每一个花生植株记录下来,sort从大到小排序。然后枚举花生,每次枚举判断一次就好了。但是!!如果我们把题目改一下。不是先找最大的... 阅读全文
posted @ 2015-09-20 16:31 Martrix99 阅读(423) 评论(0) 推荐(0)
摘要:这是我写的在Vijos上的第一题。这道题在我刚学完DP的时候,就做过。当时年少轻狂,没有看数据的范围,直接暴力DP,结果TLE。。。。后来就没有再碰过。知道最近觉得快要省赛了,有必要把原来没有做出来的题做一做,于是有了这篇博客。 从那时学完的最简单的动规后,又学了一个名叫状压DP的算法,状压即状态... 阅读全文
posted @ 2015-09-20 11:17 Martrix99 阅读(653) 评论(0) 推荐(0)