<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Climber.pI的OI之路]]></title><description><![CDATA[Anything about OI.]]></description><link>https://blog.youkuaiyun.com/climber_studio</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; climber_studio]]></copyright><item><title><![CDATA[Suspended.]]></title><link>https://blog.youkuaiyun.com/climber_studio/article/details/5878176</link><guid>https://blog.youkuaiyun.com/climber_studio/article/details/5878176</guid><author>climber_studio</author><pubDate>Sat, 11 Sep 2010 22:11:00 +0800</pubDate><description><![CDATA[无限期停止使用, 请移步climberpi.blog.cd]]></description><category></category></item><item><title><![CDATA[Tyvj 1049 最长不下降子序列]]></title><link>https://blog.youkuaiyun.com/climber_studio/article/details/5878080</link><guid>https://blog.youkuaiyun.com/climber_studio/article/details/5878080</guid><author>climber_studio</author><pubDate>Sat, 11 Sep 2010 20:51:00 +0800</pubDate><description><![CDATA[<br /> <br />经典的最长不下降子序列问题，O(n^2)【还存在基于二分查找的O(nlogn)算法】<br />方程：if(a[j]<=a[i]) f[i] = max{f[j]} (0<j<i, 1<i<=n)<br />可能是今天状态不好，一直在纠缠细节.需要注意的是，子序列长度的最大值不一定在f[n]中.#include<iostream>
using namespace std;
int a[5001], b[5001];
int max(int x, int y) {return ]]></description><category></category></item><item><title><![CDATA[Prepare NOIP 2010 I]]></title><link>https://blog.youkuaiyun.com/climber_studio/article/details/5878068</link><guid>https://blog.youkuaiyun.com/climber_studio/article/details/5878068</guid><author>climber_studio</author><pubDate>Sat, 11 Sep 2010 20:45:00 +0800</pubDate><description><![CDATA[报名的问题已经顺利解决，特别感谢新班主任xm老师在12h内联系好了本部的教练，以及教练dh老师.上机时间初步定在16:30之后，等待教练通知.——————————-古事·故事——————————-NOIP 2009高级出了一等，当年普及两一等的lj神牛，第一年三等，第二年一等.很神奇的挂靠中山纪念参赛.不知如何联系.很多事情总是莫名奇妙的，比如OI，听来的故事可以写成长篇.比如lccz，两位令人尊敬的学长，lwq和jec，一个复赛二等，一个初赛全市第三.一个在龙高，一个在深中.前者高二二等，高三三等；后者高]]></description><category></category></item><item><title><![CDATA[重新启用]]></title><link>https://blog.youkuaiyun.com/climber_studio/article/details/5844485</link><guid>https://blog.youkuaiyun.com/climber_studio/article/details/5844485</guid><author>climber_studio</author><pubDate>Fri, 27 Aug 2010 18:56:00 +0800</pubDate><description><![CDATA[rt. 请移步
[某个理科生..]http://climberpi.ixiezi.com
或[balabalala]http://blog.sina.com.cn/liuyupanThrough the darkest dark，may we see the light.]]></description><category></category></item><item><title><![CDATA[USACO 3.3.3]]></title><link>https://blog.youkuaiyun.com/climber_studio/article/details/5841929</link><guid>https://blog.youkuaiyun.com/climber_studio/article/details/5841929</guid><author>climber_studio</author><pubDate>Thu, 26 Aug 2010 21:44:00 +0800</pubDate><description><![CDATA[<br />很恶心的搜索...纠结了两天.<br />本来是一个简单的最短路问题，直接BFS或者SPFA或者什么别的都可以，但是题目中增加了王.而王的行动方式有三种：<br />1.王在骑士的路上，和骑士到汇合点<br />2.王走到骑士的路上，和骑士到汇合点<br />3.王自己去汇合点<br /> <br />前两种情况可以合并成一种，f[i,j][x,y]+f[x,y][m,n]-f[i,j][m,n]+max(abs(king.x-x),abs(king.y-y))<br />枚举每个骑士的出发点[]]></description><category></category></item><item><title><![CDATA[RQNOJ 164]]></title><link>https://blog.youkuaiyun.com/climber_studio/article/details/5841920</link><guid>https://blog.youkuaiyun.com/climber_studio/article/details/5841920</guid><author>climber_studio</author><pubDate>Thu, 26 Aug 2010 21:41:00 +0800</pubDate><description><![CDATA[<br />最长公共子序列(要求连续)，并记录方案.<br />处理方法和普通的最长公共子序列一样，只是多一个限制条件:如果前一对字符相同则递增，否则为一.<br /><br />[评测结果]状态:Accepted测评机：Xeost[5]得分：100分提交日期：2010-8-22 15:50:00有效耗时：500毫秒测试结果1:通过本测试点|有效耗时62ms测试结果2:通过本测试点|有效耗时47ms测试结果3:通过本测试点|有效耗时47ms测试结果4:通过本测试点|有效耗时47ms测试结果5:通过本测试点|]]></description><category></category></item><item><title><![CDATA[USACO 5.3.4]]></title><link>https://blog.youkuaiyun.com/climber_studio/article/details/5823915</link><guid>https://blog.youkuaiyun.com/climber_studio/article/details/5823915</guid><author>climber_studio</author><pubDate>Thu, 19 Aug 2010 14:49:00 +0800</pubDate><description><![CDATA[<br />计数DP<br />
[方程]f[i][j]
= min{f[i-1][j], f[i-1][j-1], f[i][j-1]}
(0<=i,j<n)<br />
[预处理]若G[i][j]=1则f[i][j]=1.<br />
和这题方法一样.<br /><br />Executing...<br />   Test
1: TEST OK [0.011 secs, 7996 KB]<br />   Test
2: TEST OK [0.000 secs, 7996 KB]<br /]]></description><category></category></item><item><title><![CDATA[UVa 111]]></title><link>https://blog.youkuaiyun.com/climber_studio/article/details/5823670</link><guid>https://blog.youkuaiyun.com/climber_studio/article/details/5823670</guid><author>climber_studio</author><pubDate>Thu, 19 Aug 2010 13:38:00 +0800</pubDate><description><![CDATA[<br />翻译在这里
.一次AC.<br />
最长公共子序列问题，方程：<br />f[i][j] =
f[i-1][j-1]+71(a[i]=b[j])|max{f[i-1][j],f[i][j-1]}<br /><br />
需要注意的是输出格式：<br />The second
line will containnintegers, indicating the
correct chronological order ofnevents.<br />The remaining
lin]]></description><category></category></item><item><title><![CDATA[USACO 3.4.4]]></title><link>https://blog.youkuaiyun.com/climber_studio/article/details/5823664</link><guid>https://blog.youkuaiyun.com/climber_studio/article/details/5823664</guid><author>climber_studio</author><pubDate>Thu, 19 Aug 2010 13:36:00 +0800</pubDate><description><![CDATA[<br />动态规划，常见的方程有几种：<br />1.三维的版本(转自NOCOW)<br /><br />设A[g,k,r]
表示在以第g首歌曲开头的序列中(不一定要取第g首歌曲)，还剩下k张CD，且最后一张光盘上还剩下r分钟时间，能取到的最大曲目数。<br />A[g,k,r]=max{A[g+1,k,r+t[g]]+1(r+t[g]<=l(每张盘的时间),k<n),A[g+1,k+1,t[g]]+1（t[g]<=l,k<n),A[g+1,k,r]}(g<=m,k<=n)【方程有问题】<br />A[]]></description><category></category></item><item><title><![CDATA[USACO 3.4.3]]></title><link>https://blog.youkuaiyun.com/climber_studio/article/details/5818683</link><guid>https://blog.youkuaiyun.com/climber_studio/article/details/5818683</guid><author>climber_studio</author><pubDate>Tue, 17 Aug 2010 16:49:00 +0800</pubDate><description><![CDATA[<br />数学题，需要用到以下几个东西：<br /><br />1.Pick 定理：<br />S = a + 1/2b
-1<br />S指多边形面积<br />a指多边形内格点<br />b指多边形边上格点<br /><br />2.一个结论：设线段l上两端点为(x1,y1)
(x2,y2)，则线段l上整点的数量等于(y2-y1)和(x2-x1)的最大公约数+1.<br /><br />Executing...<br />   Test
1: TEST OK [0.011 secs, 3016 ]]></description><category></category></item><item><title><![CDATA[USACO 3.3.5]]></title><link>https://blog.youkuaiyun.com/climber_studio/article/details/5818299</link><guid>https://blog.youkuaiyun.com/climber_studio/article/details/5818299</guid><author>climber_studio</author><pubDate>Tue, 17 Aug 2010 15:18:00 +0800</pubDate><description><![CDATA[<br />博弈问题，可以使用dp解决.<br />f[i][j] =
s[i][j] - min{f[i+1][j], f[i][j-1]}<br />s[i][j]表示从i加到j的和,
枚举l=j-i.<br /><br />Executing...<br />   Test
1: TEST OK [0.011 secs, 3108 KB]<br />   Test
2: TEST OK [0.011 secs, 3108 KB]<br />   Test
3: TEST OK [0.011 ]]></description><category></category></item><item><title><![CDATA[USACO 3.3.2]]></title><link>https://blog.youkuaiyun.com/climber_studio/article/details/5817857</link><guid>https://blog.youkuaiyun.com/climber_studio/article/details/5817857</guid><author>climber_studio</author><pubDate>Tue, 17 Aug 2010 13:14:00 +0800</pubDate><description><![CDATA[<br /> <br />背包问题，或者说DAG上的动态规划，固定终点的最短路问题.(参见lrj《算法竞赛入门经典》)<br /><br />题目有点像硬币问题，可以直接用dp解决.<br />[方程]<br />f[a1][a2][a3][a4][a5] =
min{f[a1-p[i][1][a2-p[i][2][a3-p[i][3][a4-p[i][4]][a5-p[i][5]+p[i][0]}<br />（0<i<=s,
ak-p[i][k]>=0,p[i][0]是优惠后的价格）<br /><br]]></description><category></category></item><item><title><![CDATA[UVa 10405]]></title><link>https://blog.youkuaiyun.com/climber_studio/article/details/5815348</link><guid>https://blog.youkuaiyun.com/climber_studio/article/details/5815348</guid><author>climber_studio</author><pubDate>Mon, 16 Aug 2010 12:27:00 +0800</pubDate><description><![CDATA[<br />动态规划的经典问题，最长公共子序列.<br />

方程:<br /><br />
这题提交了6次，一直WA，找标程对拍才发现序列可以包含空格...于是用gets，AC.<br />另外，降维以后通过了样例，但是WA，原因未知
.<br /><br />这里的描述很有启发性，现转载一部分：<br /><br />本题初看有些类似线形动态规划
，但经过仔细审题发现用矩阵类动态规划
更好理解， 如下图所显示，我们把两个字符串看作矩阵的横纵轴：
首先读入数据时，把两个字符相同的标记成1，]]></description><category></category></item><item><title><![CDATA[RQNOJ愿望群七夕模拟赛]]></title><link>https://blog.youkuaiyun.com/climber_studio/article/details/5814496</link><guid>https://blog.youkuaiyun.com/climber_studio/article/details/5814496</guid><author>climber_studio</author><pubDate>Sun, 15 Aug 2010 23:20:00 +0800</pubDate><description><![CDATA[<br />http://www.rqnoj.cn/Test_Show.asp?TID=31<br />5道题，题目描述堪称纠结，先花半小时看了题，判断如下：<br />1.DP,O(NlogN)<br />2.搜索,O(N^2)<br />3.DP?/贪心?,O(N^2) -> 似乎很多人AC，难道真的是贪心<br />4.DP,O(NlogN)<br />5.图论<br /> <br />看了一遍之后，考虑到DP基本不会，图论没接触过，果断切第二题.貌似是回溯(我概念不清)，我写的算法似乎是O(N^3)]]></description><category></category></item><item><title><![CDATA[UVa 108]]></title><link>https://blog.youkuaiyun.com/climber_studio/article/details/5813908</link><guid>https://blog.youkuaiyun.com/climber_studio/article/details/5813908</guid><author>climber_studio</author><pubDate>Sun, 15 Aug 2010 17:17:00 +0800</pubDate><description><![CDATA[<br />最大连续和的二维版本，貌似叫最大矩阵和，裸的，有多组数据.一开始写O(N^4)，一直WA，后来去学习O(N^3)的写法，貌似也是DP，方程不会写，AC.<br />BTW，RQNOJ 106也是最大矩阵和.<br /> [Code]#include<iostream>
using namespace std;
int a[110][110] = {0};
int main()
{
    int n, i, j, k, tmp, sum;
    while (scanf("%d",]]></description><category></category></item><item><title><![CDATA[UVa 507]]></title><link>https://blog.youkuaiyun.com/climber_studio/article/details/5813899</link><guid>https://blog.youkuaiyun.com/climber_studio/article/details/5813899</guid><author>climber_studio</author><pubDate>Sun, 15 Aug 2010 17:14:00 +0800</pubDate><description><![CDATA[最大连续和问题，有多种的复杂度的算法O(N^3)、O(N^2)、O(NlogN)、O(n).下面从这里引用关于上文算法的介绍，增加了一些内容：1.最原始，最古老，最暴力的方法，时间复杂度是T(n) = O(n^3)        best = a[1];
        for(i = 1; i  best)
                                best = sum;
                }2.第一次优化：利用“连续]]></description><category></category></item><item><title><![CDATA[UVa 167]]></title><link>https://blog.youkuaiyun.com/climber_studio/article/details/5812523</link><guid>https://blog.youkuaiyun.com/climber_studio/article/details/5812523</guid><author>climber_studio</author><pubDate>Sat, 14 Aug 2010 18:12:00 +0800</pubDate><description><![CDATA[<br />八皇后问题的变形，每个格子增加了分值，看起来有点像去年NOIP的第四题-.-<br />把lrj书上的标程改了一下，一开始没注意到输出格式，后来才发现ans没初始化...UVa总是能体现相当多的细节问题.<br />这里有一些数据.<br /> [Code]#include<iostream>
using namespace std;
int C[50], vis[3][50], val[10][10] = {0}, ans = 0;
void search(int cur)
{
  ]]></description><category></category></item><item><title><![CDATA[USACO 3.2.5]]></title><link>https://blog.youkuaiyun.com/climber_studio/article/details/5812481</link><guid>https://blog.youkuaiyun.com/climber_studio/article/details/5812481</guid><author>climber_studio</author><pubDate>Sat, 14 Aug 2010 17:30:00 +0800</pubDate><description><![CDATA[<br />纠结了几天，在昨晚AC了一道bfs后，又鏖战了几个小时，学了很多新东西，写了140+行代码，终于AC.<br />题目的本质是一道bfs，状态8!=40320(不是7!,顺便就在NOCOW上纠正了)，不需要剪枝（一个简单的剪枝是到达目标状态就停止）.<br />个人认为难点有两个:<br />1.节点编解码要用到康托展开;<br />2.答案要求输出操作序列，所以要记录方案.<br />另外要注意操作数为0的情况，以及USACO的linux系统与Windows的区别.<br />(康托展开和输出]]></description><category></category></item><item><title><![CDATA[UVa 439]]></title><link>https://blog.youkuaiyun.com/climber_studio/article/details/5812472</link><guid>https://blog.youkuaiyun.com/climber_studio/article/details/5812472</guid><author>climber_studio</author><pubDate>Sat, 14 Aug 2010 17:28:00 +0800</pubDate><description><![CDATA[<br />简单bfs，主要是练习bfs架构，以前写usaco本该用bfs的题目都偷懒用了dfs...这是我写得第二道bfs.<br /> <br /><br /> # ProblemVerdictLanguageRun TimeSubmission Date8177314439Knight MovesAcceptedC++0.0282010-08-13 12:42:09 [Code]#include<iostream>
using namespace std;
struct point{int x, ]]></description><category></category></item><item><title><![CDATA[UVa 10935]]></title><link>https://blog.youkuaiyun.com/climber_studio/article/details/5809880</link><guid>https://blog.youkuaiyun.com/climber_studio/article/details/5809880</guid><author>climber_studio</author><pubDate>Fri, 13 Aug 2010 15:16:00 +0800</pubDate><description><![CDATA[lrj《算法竞赛入门经典》例题，P89-91.程序中用struct实现了一个queue，类似STL，纯粹是为了调用方便.常用的数据结构都可以考虑这么处理.
题目的输出格式很纠结，这里有一份解题报告，上面的数据比较有代表性.]]></description><category></category></item></channel></rss>