05 2015 档案
COJ 1208 矩阵快速幂DP
摘要:题目大意:f(i)是一个斐波那契数列,求sum(f(i)^k)的总和由于n极大,所以考虑矩阵快速幂加速我们要求解最后的sum[n]首先我们需要思考sum[n] = sum[n-1] + f(i+1)^k那么很显然sum[n-1]是矩阵中的一个元素块那么f(i+1)^k怎么利用f(i) , f(i... 阅读全文
posted @ 2015-05-29 00:47 Love风吟 阅读(305) 评论(0) 推荐(0)
UVALive 4015 树形dp
摘要:题目大意:从一个根节点出发,走最多x的长度,问最多能走过多少个节点,图保证是一棵树dp[0][i][j] , 表示走从i点为根的子树走过了j个点最后回到 i 最少需要多少时间dp[1][i][j] , 同理,但表示不需要回到 i 那么由儿子不断向父亲更新,有4种情况1.if(dp[0][u][k+j... 阅读全文
posted @ 2015-05-28 23:51 Love风吟 阅读(269) 评论(0) 推荐(0)
bzoj 2337 高斯消元+概率DP
摘要:题目大意:每条路径上有一个距离值,从1走到N可以得到一个所有经过路径的异或和,求这个异或和的数学期望这道题直接去求数学期望的DP会导致很难列出多元方程组我们可以考虑每一个二进制位从1走到N的平均概率值因为整个图是联通的那么所有点都默认会处于多元方程组中Pi = p[i] * sigma( v&d... 阅读全文
posted @ 2015-05-28 13:10 Love风吟 阅读(221) 评论(0) 推荐(0)
HDU 4418 高斯消元解决概率期望
摘要:题目大意:一个人在n长的路径上走到底再往回,走i步停下来的概率为Pi ,求从起点开始到自己所希望的终点所走步数的数学期望因为每个位置都跟后m个位置的数学期望有关E[i] = sigma((E[i+j]+j)*P[j])我们需要将模型转化一下,本来路径为012345这样,因为来回走,我们多定义n-... 阅读全文
posted @ 2015-05-27 22:52 Love风吟 阅读(250) 评论(0) 推荐(0)
HDU 3932 模拟退火
摘要:HDU3932题目大意:给定一堆点,找到一个点的位置使这个点到所有点中的最大距离最小简单的模拟退火即可 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 9 using nam... 阅读全文
posted @ 2015-05-26 14:44 Love风吟 阅读(407) 评论(0) 推荐(0)
POJ 1379 (随机算法)模拟退火
摘要:题目大意:给定一堆点,找到一个点的位置使这个点到所有点中的最小距离最大这里数据范围很小,精度要求也不高,我们这里可以利用模拟退火的方法,随机找到下一个点,如果下一个点比当前点优秀就更新当前点参考:http://www.cnblogs.com/heaad/archive/2010/12/20/1911... 阅读全文
posted @ 2015-05-26 14:05 Love风吟 阅读(247) 评论(0) 推荐(0)
POJ 3415 后缀数组+单调栈
摘要:题目大意:给定A,B两种字符串,问他们当中的长度大于k的公共子串的个数有多少个这道题目本身理解不难,将两个字符串合并后求出它的后缀数组然后利用后缀数组求解答案这里一开始看题解说要用栈的思想,觉得很麻烦就不做了,后来在比赛中又遇到就后悔了,到今天看了很久才算看懂首先建一个栈,从栈底到栈顶都保证是单调... 阅读全文
posted @ 2015-05-20 01:26 Love风吟 阅读(1034) 评论(0) 推荐(1)
CSU 1605 数独
摘要:题目大意:9宫格每个位置都有对应的分数,填完数独后根据对应位置的分数相加之和求个最大值,不存在输出-1说什么用位运算加速可以解决问题,但是对着标程还是T,最近学了dlx,发现这样解决数独快了很多位运算加速我确实写不出了,直接用dlx来做这道题目 1 #include 2 #include ... 阅读全文
posted @ 2015-05-18 23:25 Love风吟 阅读(190) 评论(0) 推荐(0)
HDU 1426 dancing links解决数独问题
摘要:题目大意:这是一个最简单的数独填充题目,题目保证只能产生一种数独,所以这里的初始9宫格较为稠密,可以直接dfs也没有问题但最近练习dancinglinks,这类数据结构解决数独无疑效率会高很多dancinglinks的数独限制条件是:1.每行有9个元素,共9行对应dlx81列2.每列有9个元素,共9... 阅读全文
posted @ 2015-05-18 23:22 Love风吟 阅读(323) 评论(0) 推荐(0)
FZU 1686 dlx重复覆盖
摘要:1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 9 using namespace std; 10 #define N 230 11 #define MA... 阅读全文
posted @ 2015-05-16 23:56 Love风吟 阅读(188) 评论(0) 推荐(0)
hdu 2295 dlx重复覆盖+二分答案
摘要:题目大意:有一堆雷达工作站,安放至多k个人在这些工作站中,找到一个最小的雷达监控半径可以使k个工作人所在的雷达工作站覆盖所有城市二分半径的答案,每次利用dlx的重复覆盖来判断这个答案是否正确 1 #include 2 #include 3 #include 4 #include 5... 阅读全文
posted @ 2015-05-16 23:10 Love风吟 阅读(194) 评论(0) 推荐(0)
zju 3209 dancing links 求取最小行数
摘要:题目可以将每一个格子都看做是一列,每一个矩形作为1行,将所有格子进行标号,在当前矩形中的格子对应行的标号为列,将这个点加入到十字链表中最后用dlx求解精确覆盖即可,dance()过程中记得剪枝 1 #include 2 #include 3 #include 4 #include ... 阅读全文
posted @ 2015-05-16 20:19 Love风吟 阅读(195) 评论(0) 推荐(0)
hust 1017 dancing links 精确覆盖模板题
摘要:最基础的dancinglinks的精确覆盖题目 1 #include 2 #include 3 #include 4 #include 5 6 using namespace std; 7 #define N 1005 8 #define MAXN 1000100 9 ... 阅读全文
posted @ 2015-05-15 00:38 Love风吟 阅读(206) 评论(0) 推荐(0)
POJ 1724 二维费用最短路
摘要:题目大意:有N个城市,编号1-N有R条路,每条路(单向)的起点为Si,终点为Di,长度为Li,如果要走这条路需要花Ti的钱现在你只有K元钱,求在不超支的前提下,从1走到N需要的最短距离这里总是希望路程尽可能的短,那么利用dijkstra的方法来解决问题,总是先扩展距离近的点,这样能更快的找到终点的最... 阅读全文
posted @ 2015-05-14 22:09 Love风吟 阅读(324) 评论(0) 推荐(0)
COJ 1211 大整数开平方
摘要:手写求大整数开根号所得到的值,具体计算过程参考别人的资料,最后利用java的大整数得到答案别人博客链接:http://www.cnblogs.com/Rinyo/archive/2012/12/16/2820450.html1.举例上式意为65536的开平方为256。手开方过程类似于除法计算。为了方... 阅读全文
posted @ 2015-05-12 21:54 Love风吟 阅读(1153) 评论(0) 推荐(0)
LA 3890 半平面交
摘要:二分查询答案,判断每一个新形成的向量合在一块能否形成半平面交 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 #define N 110 8 #define ep... 阅读全文
posted @ 2015-05-01 15:16 Love风吟 阅读(201) 评论(0) 推荐(0)
codeforces #301 div2
摘要:A:简单题每次判断向上转快,还是向下转快即可#include #include #include #include #include #include #include #include #include using namespace std;#define N 10005#define ll l... 阅读全文
posted @ 2015-05-01 13:26 Love风吟 阅读(221) 评论(0) 推荐(0)