摘要: 链接:第四次小练A.POJ 3094 Quicksum水题中的水题啊~直接上代码: 1 #include 2 #include 3 #include 4 using namespace std; 5 6 char a[300]; 7 8 int main() 9 {10 while(1)11 {12 memset(a,0,sizeof(a));13 gets(a);14 if(a[0]=='#') break;15 int i,j,sum=0,k;16 int n=strlen(a);17... 阅读全文
posted @ 2013-08-12 09:29 Teilwall 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 链接:第三次练习A.ZOJ 3203Light Bulb这道题............哎~既可以用数学直接推导出来,也可以三分求,还可以二分求~~~~NO1.数学公式这种方法搞的不是很清楚..........T T .........什么时候几何这么烂了.................= =心都碎了~感觉影子的最长的长度会在h,h*D/H,以及另外的某个数中(D+H-sqrt((H-h)*D)-(H-h)*D/sqrt((H-h)*D))........可是判断条件.......ORZ木有弄清~代码:#include#include#include#include#includeusing 阅读全文
posted @ 2013-08-11 21:31 Teilwall 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 感觉线段树......有点捉急啊........hdu1166 敌兵布阵很基础的题目~,就只有建树~更新点~和询问~。。。。。。代码: 1 #include 2 #include 3 #include 4 using namespace std; 5 6 const int MAX=55555; 7 int a[MAX>1;17 build(l,m,x>1;30 if(k=r)39 return a[x];40 int m=(l+r)>>1,re=0;41 if(lem) re+=query(le,ri,m+1,r,x 2 #incl... 阅读全文
posted @ 2013-08-09 23:21 Teilwall 阅读(607) 评论(0) 推荐(0) 编辑
摘要: 链接:第二次小练这次是我们这组出的题目~我出了一道......B-Prison rearrangement,感觉有点复杂~不过其实题目想通了还是很简单的......@荆红浅醉出的是A、C、D,@从此不再出的是E——一道很尼玛的二分......题目难懂啊~~~这一次很凑巧,大家出的题目的题面都是英文而且....比较长......不过这都是巧合.....= =A.Monkey and BananaHDU 1069B.Prison rearrangementPOJ 1636题意:就是两个监狱换犯人,他们想换一半,但是发现两个监狱的有部分犯人不能放在一个监狱里,否则会有危险,就问在尽可能换一半犯人前提 阅读全文
posted @ 2013-08-08 23:27 Teilwall 阅读(224) 评论(0) 推荐(0) 编辑
摘要: HDU 1003 Max Sum题意:给出一串数字,求出其中某段连续的数字之和最大的值,同时要输出起点的位置和终点的位置~~~方法一: 用sum记录某一段和的值,maxx为目前为止最大的sum值,当sum+a[i]max时,使max=sum,同时更新要输出的起点值start以及要输出的终点值end~代码: 1 #include 2 #include 3 #include 4 using namespace std; 5 6 int main() 7 { 8 int t,n,cas=0; 9 scanf("%d",&t);10 while(t--)11 {1... 阅读全文
posted @ 2013-08-07 16:52 Teilwall 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 不知道为什么~除了我室友其他的同学都觉得DFS很简单~且比BFS容易得多........我真心不觉得啊T T~我真心觉得BFS比DFS简单得多................= = 为了把DFS完全搞懂,决定做一些DFS的题目.......HDU 2181哈密顿绕行世界问题题意: 给出每个城市与之相连的三个城市的编号,求出给定城市环游所有城市,并回到给定城市的所有路线~按字典序输出~是一道简单的DFS题目~只要注意输出的第一个和最后一个都是给定城市,以及哈密顿所走城市数即可~代码: 1 #include 2 #include 3 #include 4 using namespac... 阅读全文
posted @ 2013-08-06 21:32 Teilwall 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 自己在做有关俄罗斯套娃的题目时,发现自己写出的一个方法可以解决求最长上升子序列(LIS)和最长下降子序列(LDS)的问题。 俄罗斯套娃:这个问题在前一篇中讲的有,在此处就不多讲了~链接求最长上升子序列: 给定排好序的一堆数列中,求其的LIS长度。它的LIS长度就是它非上升子序列的个数。 WHY? 其实自己模拟一下就可以发现:计算出第一组非上升子序列,它的最后一个数一定是这组数列的最小的一个数;第二组非上升子序列的最后一个数就一定会是剩下的数中最小的一个..........哪么,上升子序列的长度是多少,就一定可以排出多少组非上升子序列~但每一组非上升子序列的最后一个数并不一... 阅读全文
posted @ 2013-08-05 14:05 Teilwall 阅读(1610) 评论(7) 推荐(0) 编辑
摘要: 链接:8.3比赛这次是动态规划里的LCS,LIS,LCIS专场.......A.Common Subsequence就是:给出两个字符串,求出其中的最长公共子序列的长度~LCS代码: 1 //memory:4276KB time:109ms 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 8 int c[1010][1010]; 9 10 int maxx(int a,int b,int c)11 {12 if(b>a) a=b;13 if(c>a) a=c;14 return... 阅读全文
posted @ 2013-08-04 17:17 Teilwall 阅读(451) 评论(2) 推荐(0) 编辑
摘要: 转自:http://hzzy-010.blog.163.com/blog/static/79692381200872024242126/好详细~~~也十分好理解~~~最长公共子序列问题(非连续的)首先将要看到如何运用动态编程查找两个 DNA 序列的最长公共子序列(longest common subsequence,LCS)。发现了新的基因序列的生物学家通常想知道该基因序列与其他哪个序列最相似。查找 LCS 是计算两个序列相似程度的一种方法:LCS 越长,两个序列越相似。子序列中的字符与子字符串中的字符不同,它们不需要是连续的。例如,ACE是ABCDE的子序列,但不是它的子字符串。请看下面两个 阅读全文
posted @ 2013-08-04 09:55 Teilwall 阅读(911) 评论(0) 推荐(0) 编辑
摘要: 链接:第三次组队赛//这一次是搜索全场.......哎~感觉BFS还行,但DFS不是很懂啊.............= =A.A Knight's Journey据说是很经典但也是很水的DFS题目~题意:在一个p*q的棋盘上,一个knight要环游棋盘 ,每个点只走一遍,要历遍所有的点,问是否可能,若不可以则输出impossible,反之输出坐标。注:在题目中要求按字典树输出,故要注意坐标点~按下图的序号走,则从(A,1)开始历遍,第一次成功的就是按字典树排列的点~代码: 1 #include 2 #include 3 #include 4 using namespace std; 5 阅读全文
posted @ 2013-08-01 23:45 Teilwall 阅读(270) 评论(0) 推荐(0) 编辑