<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[BottomCodest的专栏]]></title><description><![CDATA[饮风疾驰]]></description><link>https://blog.youkuaiyun.com/BottomCodest</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; BottomCodest]]></copyright><item><title><![CDATA[BadNeighbors (TCCC '04 Round 4 Div1 250)]]></title><link>https://blog.youkuaiyun.com/BottomCodest/article/details/4190256</link><guid>https://blog.youkuaiyun.com/BottomCodest/article/details/4190256</guid><author>BottomCodest</author><pubDate>Fri, 15 May 2009 20:48:00 +0800</pubDate><description><![CDATA[题目：http://www.topcoder.com/stat?c=problem_statement&pm=2402&rd=5009如果没有形成一个环，那么题目很简单，就是一个最基础的DP题。只要用一个数组dp,dp[i]代表0...i之间的所能筹到的最大款项，dp[v.size()-1]则为所求。形成环以后，第0个住房和第n-1个住户就不能同时同现了。可以把数组分成两个。一]]></description><category></category></item><item><title><![CDATA[诗zt]]></title><link>https://blog.youkuaiyun.com/BottomCodest/article/details/3434566</link><guid>https://blog.youkuaiyun.com/BottomCodest/article/details/3434566</guid><author>BottomCodest</author><pubDate>Wed, 03 Dec 2008 08:59:00 +0800</pubDate><description><![CDATA[是什么让你的眼神如此无助 是什么让你的脸庞如此忧伤 是什么让你的内心如此迷茫 是什么让你的脚步如此彷徨 人人免于匮乏 人人免于恐惧 大家都能平等自在地交往 这就是我们最大的渴望 你要知道 有时沉默也是一种力量 可是你总要给我们一个可以看得见的方向 每一个心中都有一个天堂 那是人类挣脱心灵枷锁 寻找伊甸园过程中永不熄灭的回响 多年以后 马丁路德的梦想仍在我们胸中激荡 我们会一同祈祷 让自由的呼声响彻]]></description><category></category></item><item><title><![CDATA[SRM 421Div2 500]]></title><link>https://blog.youkuaiyun.com/BottomCodest/article/details/3040562</link><guid>https://blog.youkuaiyun.com/BottomCodest/article/details/3040562</guid><author>BottomCodest</author><pubDate>Thu, 09 Oct 2008 10:34:00 +0800</pubDate><description><![CDATA[fail system test了。郁闷的精度问题。题目要求精度为1e-9，所以我判断的时候想都没想，　在判断浮点数是否为0的时候就取精度为1e-9了。。。真是没脑子。。double的有效精度为16位。后来看Allie的解法，他根本没判断精度，直接逐步求精300次就ok了。。看来我的经验还是太少了。。。]]></description><category></category></item><item><title><![CDATA[USCAO Chap4 Fence Loops]]></title><link>https://blog.youkuaiyun.com/BottomCodest/article/details/3023683</link><guid>https://blog.youkuaiyun.com/BottomCodest/article/details/3023683</guid><author>BottomCodest</author><pubDate>Mon, 06 Oct 2008 20:14:00 +0800</pubDate><description><![CDATA[很久没有做usaco了。这道题其实挺简单，可是我想了一天多。。。思路还是太死板了。这道题的关键是把输入转换成图，然后求最小路径。输入转换图我是这样做的，主要思路是给每一条边的两个顶点编号，如果该点已经存在，则赋值，否则编号数加1。要实现这个，我是从第一条边到最最后一条边依次处理的。对于每一条边，若这条边与编号小的边相连，则可以肯定，这个顶点已经编过号了，所以只需找出这个编号就可以了。否则，这个点是]]></description><category></category></item><item><title><![CDATA[郁闷的SRM417]]></title><link>https://blog.youkuaiyun.com/BottomCodest/article/details/2915808</link><guid>https://blog.youkuaiyun.com/BottomCodest/article/details/2915808</guid><author>BottomCodest</author><pubDate>Fri, 12 Sep 2008 08:36:00 +0800</pubDate><description><![CDATA[昨天做的时候感觉还不错，cha完排在小组第一，今天早上一看，div2 500的题居然没过。。汗原来把string的substr(start,len)函数给弄错了。我把那个len当作end了。。。对stl不熟啊。。可恶的是几个test都过了，就没仔细查文档就交了。。1000的题其实很简单，，可惜一开始就想错了，越做越麻烦。归根结底，还是基础不扎实啊。不过rate还是涨了一点:).]]></description><category></category></item><item><title><![CDATA[memcpy和bcopy]]></title><link>https://blog.youkuaiyun.com/BottomCodest/article/details/2914198</link><guid>https://blog.youkuaiyun.com/BottomCodest/article/details/2914198</guid><author>BottomCodest</author><pubDate>Thu, 11 Sep 2008 16:26:00 +0800</pubDate><description><![CDATA[memcpy()和bcopy()的区别在于:memcpy将参数中第二个字符串拷贝到第一个字符串，bcopy相反。另外,memcpy不能处理地址重叠的情况，需用memmove.bcopy可以处理。memXXX()函数家族一个特点是最后一个参数都是一个长度参数。]]></description><category></category></item><item><title><![CDATA[判断endian的小程序]]></title><link>https://blog.youkuaiyun.com/BottomCodest/article/details/2914055</link><guid>https://blog.youkuaiyun.com/BottomCodest/article/details/2914055</guid><author>BottomCodest</author><pubDate>Thu, 11 Sep 2008 16:04:00 +0800</pubDate><description><![CDATA[#include int main(){    union {    int i;    char ch[sizeof(int)];    }u;        u.i = 0x0102;        if(u.ch[0]==2&&u.ch[1]==1){    printf("little endian/n");    }else    ]]></description><category></category></item><item><title><![CDATA[USACO: Chap3 Riding the Fences]]></title><link>https://blog.youkuaiyun.com/BottomCodest/article/details/2882369</link><guid>https://blog.youkuaiyun.com/BottomCodest/article/details/2882369</guid><author>BottomCodest</author><pubDate>Thu, 04 Sep 2008 21:00:00 +0800</pubDate><description><![CDATA[这道题是关于Eulerian回路/路径的，虽然算法比较简单，但我并没弄清原理。。。照抄text上的算法。但仍然提交了n次，归其原因，还是因为老毛病，对题意没理解透彻就急着写程序。效率问题：开始是建图的时候进行插入排序，后来改成直接插入，最后再排序，效率提高很多。]]></description><category></category></item><item><title><![CDATA[消息队列学习日记]]></title><link>https://blog.youkuaiyun.com/BottomCodest/article/details/2880381</link><guid>https://blog.youkuaiyun.com/BottomCodest/article/details/2880381</guid><author>BottomCodest</author><pubDate>Thu, 04 Sep 2008 14:10:00 +0800</pubDate><description><![CDATA[1. 头文件，链接时需要加-lrt，链接实时库。（在csdn上搜才知道，其实在man中就有说明。以后要养成查man的习惯）]]></description><category></category></item><item><title><![CDATA[USACO: chap3 Sweet Butter]]></title><link>https://blog.youkuaiyun.com/BottomCodest/article/details/2866539</link><guid>https://blog.youkuaiyun.com/BottomCodest/article/details/2866539</guid><author>BottomCodest</author><pubDate>Tue, 02 Sep 2008 14:18:00 +0800</pubDate><description><![CDATA[这是一道最短路径的题，开始图简便用floyd算法，结果超时。后来用Dijkstra算法，还是超时，因为求新加入的结点时我用的是线性算法，复杂度还是O(n^3).注意到这个图是一个稀疏图，因此用一个heap来实现求最近点，这样复杂度为O(n^2logn)。注：priority_heap是一个大顶堆另外知道了gdb的display命令。每到断点的时候自动显示变量的值，原来我一直n,p variable]]></description><category></category></item><item><title><![CDATA[zz5个数用7次比较进行排序]]></title><link>https://blog.youkuaiyun.com/BottomCodest/article/details/2863210</link><guid>https://blog.youkuaiyun.com/BottomCodest/article/details/2863210</guid><author>BottomCodest</author><pubDate>Mon, 01 Sep 2008 20:50:00 +0800</pubDate><description><![CDATA[TAOCP 第三卷 17x 页, 中文版cmp(a,b) -> max(a,b) = h, min(a,b) = icmp(c,d) -> max(c,d) = j, min(c,d) = kcmp(h,j) -> max(h,j) = o, min(h,j) = p则 a, b, c, d 可以在三次比较后构成  a -> c /    /b    d这样]]></description><category></category></item><item><title><![CDATA[Chap1 Milking Cows]]></title><link>https://blog.youkuaiyun.com/BottomCodest/article/details/2834967</link><guid>https://blog.youkuaiyun.com/BottomCodest/article/details/2834967</guid><author>BottomCodest</author><pubDate>Tue, 26 Aug 2008 20:09:00 +0800</pubDate><description><![CDATA[用模拟的方法，将农夫进入和离开的时间存放一个数组后排序。然后扫描数组，如果是进入，则在农场的农夫数加1，否则农夫数减1。这样最长的没挤奶时间为农夫数为0的最长时间，其他时间间隔为挤奶时间。一个小细节要注意的是，当一个农夫在某一时间离开，且另一农夫在这同一时间进入的时候，要把进入事件排到离开事件的前面，不然的话就会在这一点形成农夫数为0的时刻，从而出现错误。]]></description><category></category></item><item><title><![CDATA[dirent的char d_name[1]问题]]></title><link>https://blog.youkuaiyun.com/BottomCodest/article/details/2676490</link><guid>https://blog.youkuaiyun.com/BottomCodest/article/details/2676490</guid><author>BottomCodest</author><pubDate>Sat, 19 Jul 2008 08:45:00 +0800</pubDate><description><![CDATA[SunOS中dirent中的文件名定义为char d_name[0];这样,分配的时候malloc分配空间给d_name但是并不d_name本身并不占用空间.若声明为指针,则会多4个字节.分配方式如下.实际上把d_name这个结构的空间和字符串的空间放在一起,d_name就是name的首地址,起一个标号的作用.很明显,这个d_name必须是结构体中的最后一个元素,不然是不成立的.struct di]]></description><category></category></item><item><title><![CDATA[USACO:Milk]]></title><link>https://blog.youkuaiyun.com/BottomCodest/article/details/2592589</link><guid>https://blog.youkuaiyun.com/BottomCodest/article/details/2592589</guid><author>BottomCodest</author><pubDate>Fri, 27 Jun 2008 17:27:00 +0800</pubDate><description><![CDATA[一上来我直接排序然后贪心，时间复杂度是O(nlgn).手动搞了个堆排序。提交后，看了analysis。大觉汗颜，自己的思路还是太狭隘了。其实price的最高就是1000，建一个1000的数组，进行计数，复杂度只有O(n)]]></description><category></category></item><item><title><![CDATA[USACO:Name That Number]]></title><link>https://blog.youkuaiyun.com/BottomCodest/article/details/2542453</link><guid>https://blog.youkuaiyun.com/BottomCodest/article/details/2542453</guid><author>BottomCodest</author><pubDate>Fri, 13 Jun 2008 09:21:00 +0800</pubDate><description><![CDATA[第一思路是backtracing，然后二分查找字典。结果第10个例子超时。然后就没办法了。只能上网搜搜。。汗。看到一个反向转换的思路，然后顿时觉得自己太笨了，没想到这样做。字典才50,000条，backtracing的话是3^12个。赶紧写了个提交，才过。官方的答案是这两种思路都有。不过貌似用C++]]></description><category></category></item><item><title><![CDATA[Milking Cows]]></title><link>https://blog.youkuaiyun.com/BottomCodest/article/details/2541444</link><guid>https://blog.youkuaiyun.com/BottomCodest/article/details/2541444</guid><author>BottomCodest</author><pubDate>Thu, 12 Jun 2008 20:58:00 +0800</pubDate><description><![CDATA[这本是一道很简单的题，我却做了很长时间，究其原因，我想主要是不熟练，不自信。主要思路就是按到达时间排序，将相邻的时间全并，复杂度主要是排序，是O(nlogn).提交后，看分析，有一个算法很巧妙，把每一个农夫的到达和离开看作一个事件。然后对事件进行排序。有一个农夫则农夫数加一，有一个农夫离开则农夫数减一。]]></description><category></category></item><item><title><![CDATA[教训：vector的size()是无符号型]]></title><link>https://blog.youkuaiyun.com/BottomCodest/article/details/2520979</link><guid>https://blog.youkuaiyun.com/BottomCodest/article/details/2520979</guid><author>BottomCodest</author><pubDate>Sat, 07 Jun 2008 20:48:00 +0800</pubDate><description><![CDATA[今天做一道Div2的250分的题，有个例子居然没过，报错是段错误。。查了良久，未果，后来才发现，vector的size()是unsigned的。我用它减2后判断边界。。结果 －1被当成一个正数了。。惨痛啊。还好是practise.]]></description><category></category></item></channel></rss>