上一页 1 ··· 15 16 17 18 19
摘要: hdu1011 和 hdu1561类似,给定每个节点的花费以及价值,并且子节点必须在父亲节点取到以后才可以被取到相当于是在树上进行的01背包dp时考虑每一个子树 root和它的每一个儿子,状态转移方程为dp[root][j]=max(dp[root][j],dp[root][j-k]+dp[ son... 阅读全文
posted @ 2014-08-25 23:51 PlasticSpirit 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 等比数列是一种常用的数列朴素的求和方法是直接每项相加,不会影响取模,代码也很简单,但是时间复杂度为o(n),难以令人满意于是我们想到了通项公式我们知道,等比数列和前n项和公式为(a1-a1*q^n)/(1-q).而通过二分计算快速幂可以在log(n)的时间计算出q^n的值,(代码如下)。剩下的貌似就... 阅读全文
posted @ 2014-08-12 15:02 PlasticSpirit 阅读(1127) 评论(0) 推荐(1) 编辑
摘要: 归并排序通过分治的思想可以在nlogn的时间内完成数组的排序同时在归并排序的归并过程中,又可以通过排序内部的细节获得原数组的逆序数,见注释直接上代码了:void merge(int a[],int start,int len,int size){ int l=0,r=0; int mid=start... 阅读全文
posted @ 2014-08-05 16:22 PlasticSpirit 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 并查集是一种可以在较短的时间内进行集合的查找与合并的树形数据结构每次合并只需将两棵树的根合并即可通过路径压缩减小每颗树的深度可以使查找祖先的速度加快不少代码如下:int getfather(int x) //查找祖先{ if(father[x]!=x) father[... 阅读全文
posted @ 2014-08-05 16:03 PlasticSpirit 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 借着usaco 3.26搞了几天最短路。。不得不说usaco真是菜鸟学习算法的利器啊,有数据可以查错。。题上是一个800*800的稀疏图,需要求全源最短路先用floyd试了一下。。毕竟就三行,很好写。。时间o(n3),裸交第九个点果然TLE了,不过看题解有人水过了就把逻辑语言改了一下,无向图时间又可... 阅读全文
posted @ 2014-08-05 10:28 PlasticSpirit 阅读(166) 评论(0) 推荐(0) 编辑
上一页 1 ··· 15 16 17 18 19