上一页 1 2 3 4 5 6 ··· 12 下一页

2012年8月18日

一位ACMer过来人的心得

摘要: 转自:http://blog.csdn.net/lyy289065406/article/details/6642572刻苦的训练我打算最后稍微提一下。主要说后者:什么是有效地训练?我想说下我的理解。很多ACMer入门的时候,都被告知:要多做题,做个500多道就变牛了。其实,这既不是充分条件、也不会是必要条件。我觉得一般情况下,对于我们普通学校的大学生,各方面能力的差距不会太大,在这种情况下,训练和学习的方法尤为重要。其实,500题仅仅是一个标志,而且仅仅表示你做ACM-ICPC有一定的时间,我们训练的目的是什么?我觉得有四点1、提高编程能力2、学习算法,(读书,读论文,包括做一些题目验证)3 阅读全文

posted @ 2012-08-18 13:34 矮人狙击手! 阅读(4951) 评论(0) 推荐(2) 编辑

poj1189

摘要: 题意:在一块木板上,钉上钉子,排布成等边三角形。一个球从顶部开始,自由下落。每碰到一个钉子以后,等概率地向两边继续滚。现从该等边三角形的钉子中,拔去其中某些钉子。求这个球从顶部开始下落,滚到底部某个格子的概率。思路:DP模拟。逐步递推,分别计算每一层,滚到每一个口的概率。最后一层每个口的概率,就是对应底部每个格子的概率。每一个口的概率,若遇到一个钉子,则除以2后就是下一层对应两个口的概率;若没遇到钉子,则直接等于再下层的对应入口,即直接落下。一开始的初值,就是2^层数,即全部都是钉子时,第一个格子对应的概率。 1 #include <iostream> 2 #include < 阅读全文

posted @ 2012-08-18 10:31 矮人狙击手! 阅读(557) 评论(0) 推荐(0) 编辑

2012年8月17日

poj1183(dp)

摘要: 水题dp问题动态转移方程:初始化:sum[1][1]=a[1][1];其余全为0sum[i][j]=max(sum[i-1][j-1]+a[i][j],sum[i-1][j]+a[i][j]),这个的意思是根据图来的,把图好好看下,很容易就写出来了第一次自己写的dp,纪念下…… 1 #include <iostream> 2 3 using namespace std; 4 int max(int a,int b) 5 { 6 return a>b?a:b; 7 } 8 int a[105][105]; 9 int sum[105][105];10 int main()11 阅读全文

posted @ 2012-08-17 22:58 矮人狙击手! 阅读(192) 评论(0) 推荐(0) 编辑

poj1157

摘要: 今天开始做dp,感觉dp比较考思维能力,关于那个动态转移方程,我一直很好奇人们是怎么推的呢??有没有什么方法呢???题目大意:每种花有一个编号,有几个花瓶,花瓶也是有编号的,每种花放在不同的花瓶的艺术价值不一样,要你把这些花按某种策略放在这些花瓶里,得到艺术价值总值最大,并且,编号小的花所在的花瓶的编号要比编号大的花所在花瓶的编号小。 ans[i][j]表示前i朵花放进前j个瓶子中的艺术值a[i][j]表示第i多花放在第j个瓶子里面的艺术值动态转移方程:ans[i][j]=max(ans[i][j-1],ans[i-1][j-1]+a[i][j] 1 #include <iostream 阅读全文

posted @ 2012-08-17 21:22 矮人狙击手! 阅读(816) 评论(0) 推荐(0) 编辑

最大流EK算法

摘要: 前面的的几篇关于网络流的我被坑了,原来我用的算法叫做EK下面总结下网络流的模板吧 1 #include <iostream> 2 #include <queue> 3 //#include <conio.h> 4 using namespace std; 5 #define arraysize 201 6 int maxData = 0x7fffffff; 7 int capacity[arraysize][arraysize]; //记录残留网络的容量 8 int flow[arraysize]; //标记从源点到当前节点实际还剩多少流量可用 9 int 阅读全文

posted @ 2012-08-17 19:33 矮人狙击手! 阅读(1921) 评论(0) 推荐(0) 编辑

spa算法

摘要: sap算法详解与模板 [转]链接:1. Maximum Flow: Augmenting Path Algorithms Comparison http://community.topcoder.com/tc?module=Static&d1=tutorials&d2=maxFlowRevisited2. 刘汝佳《算法艺术与信息学竞赛》 P321 ( 注: 上面的代码似乎有误,retreat()部分未回退< 详见下文or 链接1. > )---------------------------------------------关键概念与性质:距离函数(distanc 阅读全文

posted @ 2012-08-17 18:52 矮人狙击手! 阅读(1722) 评论(0) 推荐(0) 编辑

poj1459(网络流)

摘要: 这道题跟我前面写的那两道网络流的题差不多,刚开始被题的描述吓到了,后来发现稍微变动下,原来的代码还可以继续用是这样的,原来的问题都是单源单汇问题,这题是多源多汇,关键在于把多源多汇问题转化为单源单汇,只要构造一个超级源点和一个超级汇点就ok了,把超级源点和各个源点之间加一条边,把各个汇点和超级汇点之间加一条边,这样就ok了,其实很简单关于最大流的问题我只会这一种方法,其他还有spa,ek ,以及spa算法的优化问题,这些最好都学习下 1 #include <cstdio> 2 #include <cstring> 3 #define Max 0x7f7f7f7f 4 i 阅读全文

posted @ 2012-08-17 17:13 矮人狙击手! 阅读(422) 评论(0) 推荐(0) 编辑

hdu3549(网络流)买一送一poj1273

摘要: 这道题跟poj1273是一模一样的,只略微改变了几个地方,就ok了,更正下,上面的算法不叫Ford_Fulkerson ,而是EK 1 #include <cstdio> 2 #include <cstring> 3 #define Max 0x7f7f7f7f 4 int n,m; 5 int path[100][100]; 6 int visited[100]; 7 int que[10000]; 8 int pre[100]; 9 int flow[100];10 int min(int a ,int b)11 {12 return a>b?b:a;13 } 阅读全文

posted @ 2012-08-17 15:34 矮人狙击手! 阅读(185) 评论(0) 推荐(0) 编辑

poj1273(网络流入门)

摘要: 今天首次接触到网络流,看了半天有些地方还是不太理解,关于算法本身的理解可能还有点问题,所以在实现上还有点困难 1 #include <cstdio> 2 #include <cstring> 3 #define Max 0x7f7f7f7f 4 int n,m; 5 int path[205][205]; 6 int visited[205]; 7 int que[205]; 8 int pre[205]; 9 int flow[205];10 int min(int a ,int b)11 {12 return a>b?b:a;13 }14 int BFS()/ 阅读全文

posted @ 2012-08-17 15:05 矮人狙击手! 阅读(793) 评论(0) 推荐(1) 编辑

2012年8月16日

求最大公约数

摘要: 还是自己总结下一些简答的东西吧,留着以后用long long gcd (long long a,long long b){ return b==0?a:gcd(b,a%b);}第一次调用的时候a是大于b的,因为这里会判断b==0?,所以第一步要先判断下 阅读全文

posted @ 2012-08-16 22:46 矮人狙击手! 阅读(184) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 ··· 12 下一页

导航