2016-11-08
P1280 尼克的任务

[success]原题: https://www.luogu.org/problem/show?pid=1280[/success] 解法: 本来想到的是排个序然后根据K排序... 然后... 没有想到怎么做... 然后无奈看题解... 发现我想多了【捂脸】 不要想得太复杂!!明明是你弱 代码:

阅读更多 →
代码
2016-11-06
P2285 [HNOI2004]打鼹鼠

[success]原题 https://www.luogu.org/problem/show?pid=2285[/success] 我的解法: 在学校举办的模拟赛上的题目,最近一直在做DP题...然后结果当时想了没半个小时AC了, 回来想在洛谷再A一次,结果等级居然说是提高+/省选- = =...这个分级有点水啊... 做法也很简单,从时间顺序逆着来DP,看这个点在规定时间能到达哪几个点 dp[i] = max{dp[j]|time(i, j) >= dist(i, …

阅读更多 →
代码
2016-10-25
luoguP1541:NOIP2010提高组:乌龟棋

题目:https://www.luogu.org/problem/show?pid=1541 题意: 每个格子有一个值,可以有限定次数地走1,2,3,4步,求经过的格子的值总和 做法: 一开始想到的自然是n*k1*k2*k3*k4的DP,五维数组,内存可以滚动,但是时间复杂度... 后来发现其实可以直接忽略步数,直接开四维 dp[i][j][k][l]:分别用了几张卡片取得的值

阅读更多 →
代码
2016-10-21
NOIP2014普及 P2258:子矩阵

https://www.luogu.org/problem/show?pid=2258 做法:搜索+DP.. 复杂度O(2^n * n^3) 勉强能过..硬是给这题垃圾题调了几天..

阅读更多 →
未分类
2016-10-12
[SCOI2005]P2327:扫雷

https://www.luogu.org/problem/show?pid=2327 做法: dp.dp[i][j]表示到第i位的附近三格,有几种形状为j的可能 “形状为j”是什么意思呢,注意到如果附近三格有无雷用0,1表示的话,其实就组成了二进制数字,把他们转化为十进制即为j 那么j最大是7 转移的话直接根据上一次结果和当前数字判断即可,我用了滚动数组 O(n)  

阅读更多 →
代码
2016-10-10
vijos1369:nlogn的LIS

https://vijos.org/p/1369 求出现第K个数的(位置不变)LIS 思路: 把左边大于等于K的去掉,右边小于等于K的去掉 然后直接做LIS即可 注意n=300000,不能O(n^2)必须O(nlog n)

阅读更多 →
代码
2016-10-09
Vijos1264:神秘的咒语(LIS+LCS)

原题目:https://vijos.org/p/1264 题意:求两组数的最长上升公共子序列。 我的做法: 脑残级DP: dp(i, j) = max{dp(i - 1, k)} , a[i] == b[j] & b[j] < b[k] = dp[i - 1][j], a[i] != b[j] 然后开三层循环..O(m^3) 然后0.5s过了.. 然后发现网上大神有O(m^2)做法.. Orz..这么简单的优化我也想不到.. 我已经是条咸鱼了.. 我的O(m^3) 优化后的O(m^2) 不过算是 …

阅读更多 →
代码
2016-09-20
vijos1011&poj1088:记忆化搜索+DP【名正言顺的AC】

http://poj.org/problem?id=1088 https://vijos.org/p/1011 今天终于名正言顺地A掉了这一题,为什么说是名正言顺呢,因为之前做的我是半抄别人代码的,而现在我在没有任何提示(包括之前的记忆,已经忘掉了= =)的情况下半小时AC了这题..而且时间刚刚好是昨年..那时我用了三天,不多说,上代码:) 旧版: 今晚的: 虽然用时稍长,但是今晚值得庆祝..

阅读更多 →
代码
2016-09-11
[vijos]P1143:三取方格数(多进程DP)

背景 JerryZhou同学经常改编习题给自己做。 这天,他又改编了一题。。。。。 描述 设有N*N的方格图,我们将其中的某些方格填入正整数, 而其他的方格中放入0。 某人从图得左上角出发,可以向下走,也可以向右走,直到到达右下角。 在走过的路上,他取走了方格中的数。(取走后方格中数字变为0) 此人从左上角到右下角共走3次,试找出3条路径,使得取得的数总 …

阅读更多 →
代码
2016-09-07
poj1159:水水更健康(回文串+DP)

题目地址 http://poj.org/problem?id=1159 就是给你一个字符串,添加最少的字符使得其变成一个回文串 我不太懂DP,于是就搞来了这么一道大水题.. zzz许久后,我想到了只要把正中间两边的字符统计一下看有几个不同就可以了.. 然而我举出了反例..我实在没办法了上网找题解,发现我思路基本是对的,只要再考虑到顺序问题就可以了 其实这就是个LCS!!! Orz...

阅读更多 →
代码
没有更多文章了...