2012年10月28日

.搞ACM的就特么伤不起!!!

摘要: 搞ACM的就特么伤不起!!!RoBa原创,转载请注明出处劳资六年前开始搞ACM啊!!!!!!!!!!从此踏上了尼玛不归路啊!!!!!!!!!!!!谁特么跟劳资讲算法是程序设计的核心啊!!!!!!尼玛除了面试题就没见过用算法的地方啊!!!!!!谁再跟劳资讲算法之美算法的力量,劳资一本算法导论拍死你啊!!!!!!!!那是搞ACM的入门书啊!!!!特么的入门书就一千多页啊!!!!!!!还没有习题答案啊,学完了你特么都不知道自己到底会不会啊有木有!!!!!!然后你就得看lrj的黑书啊!!!!!!还是特么的没有习题答案啊!!!!那书难的一B啊!!!!人家一个“显然”得出的结论够你想一礼拜啊有木有!!!! 阅读全文

posted @ 2012-10-28 00:08 Acmer_Roney 阅读(209) 评论(0) 推荐(0) 编辑

2012年10月23日

内联函数

摘要: 在函数声明或定义时,将inline关键字加在函数返回类型前面的就是内联函数。例1:View Code 1 #include<iostream> 2 using namespace std; 3 inline int max(int a,int b){ 4 return a>b?a:b; 5 } 6 int main() 7 { 8 int x1=max(3,4); 9 int x2=max(7,2);10 int x3=max(x1,x2);11 cout<<x1<<' '<<x2<<' '< 阅读全文

posted @ 2012-10-23 22:19 Acmer_Roney 阅读(376) 评论(0) 推荐(0) 编辑

2012年10月19日

Buy Tickets poj 2828

摘要: 题意:一些人排队去买票。首先输入一个N,代表一共有N个人。接下来有N行输入,每行两个数。第I的两个数num和val,分别代表第I个人排在第num个人的后面,val代表第I个人的值。根据最后的排队情况依次输出每个人的值。题解:线段树,倒叙插入。线段树的节点记录相应的区间有多少个空位。首先按顺着看,某个人插入到哪个位置,目前他就在哪个位置,接着如果后面有人插到他前面,他就要先后移相应的位。然后逆着看,最后一个人排在的位置一定是确定的,因为后面不会再有人再插到他前面。再往前某个人的位置这样确定:他插到的位置+后面插到他前面的人数。因此在线段树更新时就可以这样:插入到它大于的第一个空位数的位置后(nu 阅读全文

posted @ 2012-10-19 22:18 Acmer_Roney 阅读(174) 评论(0) 推荐(0) 编辑

2012年10月18日

Minimum Inversion Number HDU 1394

摘要: 题意:给出n个数的一个排列,要求求出这列数按如下变换得到的n个排列中最小的逆序数。(逆序数:a given number sequence a1, a2, ..., an is the number of pairs (ai, aj) that satisfy i < j and ai > aj)例如原数列为:a1,a2,a3......an。第一个数列:原数列:a1,a2,a3......an。第二个数列:将原数列的第一个元素移到末尾得到的数列:a2,a3......an,a1。第三个数列:将上述得到的数列的第一个元素移到末尾得到的数列:a3,a4......an,a1,a2。以 阅读全文

posted @ 2012-10-18 23:28 Acmer_Roney 阅读(176) 评论(0) 推荐(0) 编辑

2012年10月17日

Mayor's posters poj 2528

摘要: View Code 1 #include<cstdio> 2 #include<iostream> 3 #include<cstring> 4 #include<algorithm> 5 using namespace std; 6 const int maxn=100005; 7 bool Hash[maxn]; 8 int li[maxn],ri[maxn]; 9 int num[maxn*3],spt[maxn<<4];10 int cnt;11 int GotNum(int key,int n){12 int l=0,r=n- 阅读全文

posted @ 2012-10-17 23:36 Acmer_Roney 阅读(157) 评论(0) 推荐(0) 编辑

Count Color poj 2777

摘要: 题意:一个板,分成L段,开始板的每一段都被涂成颜色1。接下来对板有两种操作:1. "C A B C" Color the board from segment A to segment B with color C.2. "P A B" Output the number of different colors painted between segment A and segment B (including). 题解:线段树+lazy.思路:线段树的每个节点记录该段的颜色编号。叶节点记录该段的颜色,父亲节点记录该段的颜色。所以一开始建树时,所有节点的 阅读全文

posted @ 2012-10-17 13:02 Acmer_Roney 阅读(181) 评论(0) 推荐(0) 编辑

2012年10月13日

Stars HDU 1541

摘要: 题意:每个星星有一个等级,该等级为它左下角的星星的个数。星星的坐标按Y坐标为第一关键字X坐标为第二关键字的递增的顺序给出。最后输出0~n-1等级的星星一共有多少个。题解:树状数组。AC代码:View Code 1 #include<cstdio> 2 #include<cstring> 3 #include<iostream> 4 using namespace std; 5 const int maxn=32005; 6 int a[maxn],sum[maxn]; 7 void Updata(int p,int c){ 8 while(p<=320 阅读全文

posted @ 2012-10-13 18:57 Acmer_Roney 阅读(563) 评论(0) 推荐(0) 编辑

递归算法学习系列二(归并排序)

摘要: 转自:http://www.cnblogs.com/jillzhang/archive/2007/09/16/894936.html 归并排序是利用递归和分而治之的技术将数据序列划分成为越来越小的半子表,再对半子表排序,最后再用递归步骤将排好序的半子表合并成为越来越大的有序序列,归并排序包括两个步骤,分别为: 1)划分子表 2)合并半子表 首先我们来讨论归并算法,归并算法将一系列数据放到一个向量中,索引范围为[first,last],这个序列由两个排好序的子表构成,以索引终点(mid)为分界线,以下面一个序列为例 7,10,19,25,12,17,21,30,48这样的一个序列中,分为两个子序 阅读全文

posted @ 2012-10-13 10:43 Acmer_Roney 阅读(106) 评论(0) 推荐(0) 编辑

大牛们的Blog~~~

摘要: 大牛们的Blog~~~ 阅读全文

posted @ 2012-10-13 10:31 Acmer_Roney 阅读(116) 评论(0) 推荐(0) 编辑

POJ 2299 Ultra-QuickSort

摘要: 转自:http://www.slyar.com/blog/poj-2299-c.htmlSlyar:题目本质就是求逆序对了,简单介绍一下。逆序对是指在序列{a0,a1,a2...an}中,若ai<aj(i>j),则(ai,aj)上一对逆序对。而逆序数顾名思义就是序列中逆序对的个数。例如: 1 2 3是顺序,则逆序数是0;1 3 2中(2,3)满足逆序对的条件,所以逆序数只有1; 3 2 1中(1,2)(1,3)(2,3)满足逆序对,所以逆序是3。由定义不能想象,序列n的逆序数范围在[0,n*(n-1)/2],其中顺序时逆序数为 0,完全逆序时逆序数是n*(n-1)/2。可以利用归并 阅读全文

posted @ 2012-10-13 09:48 Acmer_Roney 阅读(159) 评论(0) 推荐(0) 编辑

导航