<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[算法虐我千百遍]]></title><description><![CDATA[我待算法如初恋]]></description><link>https://blog.youkuaiyun.com/code_mlym</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; code_mlym]]></copyright><item><title><![CDATA[uva 1543 Telescope]]></title><link>https://blog.youkuaiyun.com/code_mlym/article/details/54238504</link><guid>https://blog.youkuaiyun.com/code_mlym/article/details/54238504</guid><author>code_mlym</author><pubDate>Sun, 08 Jan 2017 23:25:20 +0800</pubDate><description><![CDATA[终于找到一点自信，没有看别人题解ac这道lrj紫书上的题目，一旦想到用海伦公式其他的就很简单了，我发现用递归写dp，真的比循环写dp要容易些。主要思路就是dfs函数中的循环语句。其实这道题目也可以看做搜索类的题目，状态转移方程式是dp[i][j][n]表示在i,j点中取n个节点的最大面积(i,j必取)，dp[i][j][n] = max(dp[k][j][n-1]+area[i][k][j]) 其]]></description><category></category></item><item><title><![CDATA[hdu 1506 Largest Rectangle in a Histogram [好题]]]></title><link>https://blog.youkuaiyun.com/code_mlym/article/details/54100177</link><guid>https://blog.youkuaiyun.com/code_mlym/article/details/54100177</guid><author>code_mlym</author><pubDate>Thu, 05 Jan 2017 23:33:05 +0800</pubDate><description><![CDATA[这道题目看似很容易，找到比当前边i长的边且位于整个数组的最左边，存储在l[i],同理比当前边长且位于最右边的存储在r[i]，于是我照做了，果断TL。。。所以需要优化，这道题目有点像并查集，如果当前边i比左边的边i-1短，那么就可以把左边边的l[i-1]赋给它，其实就是这样一个思路。学到了！这题真棒！
题目链接：https://vjudge.net/problem/HDU-1506
#inclu]]></description><category></category></item><item><title><![CDATA[hdu 1505 City Game]]></title><link>https://blog.youkuaiyun.com/code_mlym/article/details/54092122</link><guid>https://blog.youkuaiyun.com/code_mlym/article/details/54092122</guid><author>code_mlym</author><pubDate>Thu, 05 Jan 2017 13:13:36 +0800</pubDate><description><![CDATA[这道题目说是动态规划，但是感觉上更加靠近求最大矩形那个套路也就是hdu1506那道题目，有时间再刷吧，真的要考试了，不浪了，思路就是遇到一行中连续的1的时候，比如在第i行[s..e]区间中都是1，那么有是s
题目链接：https://vjudge.net/problem/HDU-1505
#include 
#include 
#include 

using namespace std;

]]></description><category></category></item><item><title><![CDATA[hdu 1087 Super Jumping! Jumping! Jumping!]]></title><link>https://blog.youkuaiyun.com/code_mlym/article/details/54026014</link><guid>https://blog.youkuaiyun.com/code_mlym/article/details/54026014</guid><author>code_mlym</author><pubDate>Wed, 04 Jan 2017 23:34:00 +0800</pubDate><description><![CDATA[vjudge今晚不知道怎么了，抽风了一段时间，于是我接着复习去了，结果又不想复习再一连就连上来了，算了刷刷水题，涨涨自信吧。
记忆化搜索dp，思路不说了，注意一下longlong不要溢出就可以。
题目链接：https://vjudge.net/problem/HDU-1087
#include 
#include 
#include 

using namespace std;

const]]></description><category></category></item><item><title><![CDATA[hdu 2571 命运]]></title><link>https://blog.youkuaiyun.com/code_mlym/article/details/54003098</link><guid>https://blog.youkuaiyun.com/code_mlym/article/details/54003098</guid><author>code_mlym</author><pubDate>Wed, 04 Jan 2017 01:13:16 +0800</pubDate><description><![CDATA[题目大意：在一个迷宫中从出发点以一定的规则去走，走到迷宫的出口，其中迷宫中的每个格子有一定量的数值，求走出迷宫之后积累的最大数值。
还是同样的基（shui）础（shui）题，没有什么难度，还是同样用dfs去做，把当前的值权当做设置为X，用dp数组记录已经确定的最优的结果，跟着题目中给的状态一步一步转移就可以！一遍ac。
题目链接：https://vjudge.net/problem/HDU-2]]></description><category></category></item><item><title><![CDATA[hdu 2599 Robberies]]></title><link>https://blog.youkuaiyun.com/code_mlym/article/details/53999315</link><guid>https://blog.youkuaiyun.com/code_mlym/article/details/53999315</guid><author>code_mlym</author><pubDate>Tue, 03 Jan 2017 23:28:49 +0800</pubDate><description><![CDATA[这道题目我也是无语了，自己跟智障一样。非常明显的01背包题目，但是要注意的是这个概率是相乘出来得到的逃脱概率而不是直接相加的，同时最后要注意精度，我也是看了眼界，就是因为这个WA3次。
题目链接：https://vjudge.net/problem/HDU-2955
#include 
#include 
#include 

using namespace std;

const int i]]></description><category></category></item><item><title><![CDATA[hdu 1003 Max Sum]]></title><link>https://blog.youkuaiyun.com/code_mlym/article/details/53998407</link><guid>https://blog.youkuaiyun.com/code_mlym/article/details/53998407</guid><author>code_mlym</author><pubDate>Tue, 03 Jan 2017 21:52:46 +0800</pubDate><description><![CDATA[今晚把自己的编辑器给折腾了一下，耽误了不少时间，依旧是按照网上大神给出的线路一点一点的练习。
这道题目还是水，状态转移方程是dp[i] = max(dp[i-1]+a[i],a[i])得到结果之后再搜索一遍就好，这道题目还要求求出其实位置，末尾位置其实已经知道了，在求其实位置的过程中我采用了遍历的方法。
题目链接：https://vjudge.net/problem/HDU-1003
#in]]></description><category></category></item><item><title><![CDATA[hdu 1176 免费馅饼]]></title><link>https://blog.youkuaiyun.com/code_mlym/article/details/53984298</link><guid>https://blog.youkuaiyun.com/code_mlym/article/details/53984298</guid><author>code_mlym</author><pubDate>Mon, 02 Jan 2017 23:37:22 +0800</pubDate><description><![CDATA[又是一道套路水题，思路就是用dp数组记录状态，把当前状态的值相当于设置为X，然后依次返回最终求得初始值X，其中已经经历过的状态已经记录就不会像直接递归那样耗费太多时间，这就是dp的思想。
题目链接：https://vjudge.net/problem/HDU-1176
#include 
#include 
#include 

using namespace std;

int f[3] =]]></description><category></category></item><item><title><![CDATA[hdu 2084 数塔]]></title><link>https://blog.youkuaiyun.com/code_mlym/article/details/53983716</link><guid>https://blog.youkuaiyun.com/code_mlym/article/details/53983716</guid><author>code_mlym</author><pubDate>Mon, 02 Jan 2017 23:00:53 +0800</pubDate><description><![CDATA[入门水题，做一做涨涨自信还是很好的。。。
题目链接：https://vjudge.net/problem/HDU-2084
#include 
#include 
#include 

using namespace std;

const int maxn = 105;
int G[maxn][maxn];
int n;
int dp[maxn][maxn];
int f[2] = {0,-]]></description><category></category></item><item><title><![CDATA[hdu 3466 Proud Merchants]]></title><link>https://blog.youkuaiyun.com/code_mlym/article/details/53967344</link><guid>https://blog.youkuaiyun.com/code_mlym/article/details/53967344</guid><author>code_mlym</author><pubDate>Sun, 01 Jan 2017 18:10:39 +0800</pubDate><description><![CDATA[这道题目真是开了眼界，厉害厉害，刚开始直接把q排序了，直接WA，看来神牛的解答之后才明白了要按照q-p去排列，仔细想想看，考虑特殊情况如果q-p=0的时候就是普通的01背包，按照q排肯定是有问题的，但是按照q-p去排其实就是在数组跟新的过程的中影响状态的数目，q-p越大，那么影响后面状态的数目就越大，然而具体的数学证明真的不会，只是用特殊的例子自己推演了几遍。。。
题目链接：https://vj]]></description><category></category></item><item><title><![CDATA[hdu 2639 Bone Collector II]]></title><link>https://blog.youkuaiyun.com/code_mlym/article/details/53966130</link><guid>https://blog.youkuaiyun.com/code_mlym/article/details/53966130</guid><author>code_mlym</author><pubDate>Sun, 01 Jan 2017 14:11:47 +0800</pubDate><description><![CDATA[这到题目的基本思路就是再开一维数组，dp[i][j][k]代表前i个物品在j重量下的第k解，那么dp[i][j][k]可能的取值有dp[i-1][j][1..k]和dp[i-1][j-w[i]][1..k]+v[i]两个来源，这样只需要将上面两个来源按照大小依次排进dp[i][j][k]之中，同时注意排重操作就可以。
题目链接：https://vjudge.net/problem/HDU-263]]></description><category></category></item><item><title><![CDATA[hdu 2602 Bone Collector]]></title><link>https://blog.youkuaiyun.com/code_mlym/article/details/53958980</link><guid>https://blog.youkuaiyun.com/code_mlym/article/details/53958980</guid><author>code_mlym</author><pubDate>Sat, 31 Dec 2016 23:23:12 +0800</pubDate><description><![CDATA[这是一道送命题，连这种果题都要WA我是多菜啊，但也还好做了这题，基础还是重要的，一道一道的来，循序渐进，加油！
题目链接：https://vjudge.net/problem/HDU-2602
#include 
#include 
#include 

using namespace std;

const int maxn = 1005;
int v[maxn] , w[maxn];
in]]></description><category></category></item><item><title><![CDATA[hdu 1171 Big Event in HDU]]></title><link>https://blog.youkuaiyun.com/code_mlym/article/details/53958658</link><guid>https://blog.youkuaiyun.com/code_mlym/article/details/53958658</guid><author>code_mlym</author><pubDate>Sat, 31 Dec 2016 22:20:00 +0800</pubDate><description><![CDATA[这个题目一眼就知道出题者的意思，思路秒杀，但是没有用一维数组的时候居然会超时我也是很无语，好想用一维数组或者滚动数组真的可以有效降低时间复杂度之前的常数，大概跟计算机中的读取数据的方式应该是有关系的，看来一维数组和滚动数组还是要多多练习。
题目链接：https://vjudge.net/problem/HDU-1171
#include 
#include 
#include 

using ]]></description><category></category></item><item><title><![CDATA[hdu 2546 饭卡]]></title><link>https://blog.youkuaiyun.com/code_mlym/article/details/53948989</link><guid>https://blog.youkuaiyun.com/code_mlym/article/details/53948989</guid><author>code_mlym</author><pubDate>Sat, 31 Dec 2016 02:05:03 +0800</pubDate><description><![CDATA[我靠，这题目完全高头昏了，看了题解之后感觉为什么这么简单。。。看来我还是对01背包不是很敏感，还需要大量的练习，主要思路就是用5元买价值最大的物品，剩下的sum-5买n-1件物品中价值最大的，所以就转化为最简单的01背包问题。自己真是菜啊
题目链接：https://vjudge.net/problem/HDU-2546
#include 
#include 
#include 
#includ]]></description><category></category></item><item><title><![CDATA[uva 10163]]></title><link>https://blog.youkuaiyun.com/code_mlym/article/details/53918502</link><guid>https://blog.youkuaiyun.com/code_mlym/article/details/53918502</guid><author>code_mlym</author><pubDate>Thu, 29 Dec 2016 01:26:55 +0800</pubDate><description><![CDATA[题目大意：m个仓库n个守卫，选出最有方案，一看就是01包，然而在边界条件上我算是载了大跟头，看来设置初始数据和边界条件还是非常有学问，即使状态转移方程没有问题初始值设置的有问题也不行，同时这个两次DP真的是人想出来的吗？我愉快的在求最小费用上wa了好多次！看来自己还是菜啊，真是弱渣。
题目链接：https://vjudge.net/problem/UVA-10163
#include 
#in]]></description><category></category></item><item><title><![CDATA[uva 1632 Alibaba]]></title><link>https://blog.youkuaiyun.com/code_mlym/article/details/53894742</link><guid>https://blog.youkuaiyun.com/code_mlym/article/details/53894742</guid><author>code_mlym</author><pubDate>Tue, 27 Dec 2016 13:32:09 +0800</pubDate><description><![CDATA[题目大意：lrj306页 习题9-8 想了很久，区间DP的状态意识到了，但是不知道这个怎么和deadline联系起来，最后看别人的解题报告，恍然大悟，原来如此，顺便练了一下滚动数组，还是很有收获的。
题目链接：https://vjudge.net/problem/UVA-1632
第一份代码没有使用滚动数组，第二份使用了滚动数组，第二份比第一份的速度要上不少。


#include 
#]]></description><category></category></item><item><title><![CDATA[uva 242 Stamps and Envelope Size]]></title><link>https://blog.youkuaiyun.com/code_mlym/article/details/53876940</link><guid>https://blog.youkuaiyun.com/code_mlym/article/details/53876940</guid><author>code_mlym</author><pubDate>Mon, 26 Dec 2016 00:17:19 +0800</pubDate><description><![CDATA[题目大意：见lrj紫书205页，习题9-5，这题目做的真的很爽，刚开始用暴力递归，然后想了一下用dp去做了，真正的对递归和dp的内在联系有了一个稍微的了解。主要思路还是用dp[i][j]表示在加入i件物品费用j是否存在，然后dp完了之后在搜索一遍就ok。
题目链接：https://vjudge.net/problem/UVA-242
#include 
#include 
#include]]></description><category></category></item><item><title><![CDATA[uva 1630 Folding]]></title><link>https://blog.youkuaiyun.com/code_mlym/article/details/53869188</link><guid>https://blog.youkuaiyun.com/code_mlym/article/details/53869188</guid><author>code_mlym</author><pubDate>Sun, 25 Dec 2016 12:29:57 +0800</pubDate><description><![CDATA[Bill is trying to compactly represent sequences of capital alphabetic characters from `A' to `Z' by folding repeating subsequences inside them. For example, one way to represent a sequence `AAAAAAAAAA]]></description><category></category></item><item><title><![CDATA[uva 10118 Free Candies]]></title><link>https://blog.youkuaiyun.com/code_mlym/article/details/53865870</link><guid>https://blog.youkuaiyun.com/code_mlym/article/details/53865870</guid><author>code_mlym</author><pubDate>Sun, 25 Dec 2016 00:56:18 +0800</pubDate><description><![CDATA[出现了一点问题，题目不能复制过来，主要的大意是有4堆糖果，有一个篮子，这个篮子最多可以装5个糖果，从4堆糖果堆的顶部每次取一个糖果，如果篮子中有颜色相同的一对糖果那么就可以装进口袋里，否则口袋达到5个后就结束游戏。
https://vjudge.net/problem/UVA-10118
上代码：
#include 
#include 
#include 
#define max(a,b) ]]></description><category></category></item><item><title><![CDATA[uva 10285 Longest Run on a Snowboard]]></title><link>https://blog.youkuaiyun.com/code_mlym/article/details/53851044</link><guid>https://blog.youkuaiyun.com/code_mlym/article/details/53851044</guid><author>code_mlym</author><pubDate>Sat, 24 Dec 2016 01:31:48 +0800</pubDate><description><![CDATA[Longest Run on a Snowboard
Input: standard input
Output: standard output
Time Limit: 5 seconds
Memory Limit: 32 MB
 
Michael likes snowboarding. That's not very surprising, since snowboarding is]]></description><category></category></item></channel></rss>