Sdywolf的博客

Have no fear of perfection,you will never reach it.--Dali

BZOJ1085 骑士精神【IDA*算法】

Description  在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且有一个空位。在任何时候一个骑士都能按照骑士的走法(它可以走到和它横坐标相差为1,纵坐标相差为2或者横坐标相差为2,纵坐标相差为1的格子)移动到空位上。 给定一个初始的棋盘,怎样才能经过移动变成如下目标棋盘: 为...

2017-06-30 13:15:15

阅读数 197

评论数 0

A*与K短路

A*算法一般的搜索有两种:BFS或DFS。这两种搜索都有一个特点,就是搜索顺序与每个节点与起点的距离有关,但是,这样搜索的节点很多是没有必要的,在现实中,我们在走下一步时,还要考虑下一步到终点的距离,A∗A*算法就是在普通的BFS中加一个估价函数,对下一步到终点的距离进行估计,优先搜索到起点的距离...

2017-06-30 09:08:45

阅读数 814

评论数 0

BZOJ 1053 反素数【DFS剪枝】

Description  对于任何正整数x,其约数的个数记作g(x)。例如g(1)=1、g(6)=4。如果某个正整数x满足:g(x)>g(i)0<i<xg(x)>g(i) 0<i<x,则称x为反质数。例如,整数1,2,4,6等都是反质数。现在给定一个数N,你能求...

2017-06-29 14:20:13

阅读数 224

评论数 0

BZOJ2813--奇妙的斐波那契【线性筛】【斐波那契数列】

DescriptionFibonacci数列是这样一个数列: F1 = 1, F2 = 1, F3 = 2 … Fi = Fi-1 + Fi-2 (当 i >= 3) pty忽然对这个古老的数列产生了浓厚的兴趣,他想知道:对于某一个Fibonacci数Fi, 有多少个Fj能够整除Fi...

2017-06-29 10:52:42

阅读数 271

评论数 0

欧拉筛法与积性函数

欧拉筛法普通的筛法,即Eratosthenes筛法,复杂度为O(nloglogn)O(nloglogn),当范围大时,就扛不住了,需要利用欧拉筛法,也称线性筛法,下面还会介绍利用欧拉筛法的优美性质来求积性函数。 先给出欧拉筛法的代码:for(int i=2;i<=n;i++){ i...

2017-06-28 21:35:33

阅读数 257

评论数 0

DP--多重背包--队列优化

问题描述:给出背包大小,给出一些物品,每个物品有一个重量、价值、个数,求能装进背包的最大总价值。 我们知道,这样的问题有很多种解法,比如可以用二进制拆分来使每个物品的个数变成原来的log,但是,这样显然还不够,下面我们来讨论利用队列来将多重背包优化到O(n*allv)的复杂度。我们知道,背包问题...

2017-06-12 21:39:06

阅读数 264

评论数 0

DP--斜率优化--BZOJ1096--仓库建设

Description  L公司有N个工厂,由高到底分布在一座山上。如图所示,工厂1在山顶,工厂N在山脚。由于这座山处于高原内陆地区(干燥少雨),L公司一般把产品直接堆放在露天,以节省费用。突然有一天,L公司的总裁L先生接到气象部门的电话,被告知三天之后将有一场暴雨,于是L先生决定紧急在某些工厂建...

2017-06-09 09:11:42

阅读数 285

评论数 0

计算几何--凸包--Andrew算法--HDU1392

题目描述给出一些点,求凸包的周长。什么是凸包用不严谨的话来讲,给定二维平面上的点集,凸包就是将最外层的点连接起来构成的凸多边型,它能包含点集中所有的点。凸包的Andrew算法Andrew算法是graham的变种。它的思想是这样的: 先按横坐标排序,然后选出最左边的点(最左边的点一定要选入凸包),...

2017-06-04 21:33:40

阅读数 266

评论数 0

斜率优化DP模板题--HDU3507 Print Article

题目大意:给出一串正数,将这一串数分成若干段,每一段的代价为这一段数的加和的平方+一个常数m,求最小代价。不难写出DP转移方程:f[i]=max(f[j]+(sum[i]−sum[j])2+m)f[i]=max(f[j]+(sum[i]-sum[j])^2+m)但是,这样复杂度是N2N^2的,对于...

2017-06-02 20:36:55

阅读数 239

评论数 0

提示
确定要删除当前文章?
取消 删除