状态压缩是一个很广的概念,在OI中也有很多的应用,当我们把他应用到动态规划中,可以用来精简状态,节约空间,也方便转移。最常见的就是用二进制来表是状态,利用各种位移运算,就可以实现\(O(1)\)的转移。状压DP适用于“窄棋盘”上的DP,否则状态太多无法存下。POJ1185炮兵阵地题意:给一个\(N ...
分类:
其他好文 时间:
2014-07-27 23:17:19
阅读次数:
391
题意:有n个地方,现在要站人进去,而每两个人之间至少要隔k个空地,问这n个地方能站的人数的期望是多少。分析:考虑dp[i]表示 i 个地方能站的期望数,从左往右推,如果i-k-1=1的话,如果第一个人站在第1个位置,那么右边会空出i-k-1个位置,如果站在2位置,那么右边会空出i-k-2个位置......
分类:
其他好文 时间:
2014-07-27 23:01:39
阅读次数:
195
1 #include 2 #include 3 #include 4 5 using namespace std; 6 7 int m, t, n; 8 double dp[1005][40][40]; 9 double p[1005][40];10 double p1, p2;11 1...
分类:
其他好文 时间:
2014-07-27 22:44:29
阅读次数:
277
INSERT INTO AABASPLUMAINSELECT PLUID,DPTID, PLUNO, PLUNAME, SPEC, PKUNIT, PKQTY, STKIT, SENDKIND FROM [192.168.1.100].[scmis].[dbo].BASPLUMAINselect *...
分类:
其他好文 时间:
2014-07-27 22:35:50
阅读次数:
289
我感觉这更像个数学问题。dp[i][j]表示将i件物品分成j组的方案数。状态转移方程:dp[i][j] = dp[i-1][j-1] + j * dp[i-1][j];将i张卡分成j组可以有之前两种情况得来:i-1张卡分成j-1组,只要将第i张卡独立分成一组就行了,或者是i-1张卡分成j组,第i张卡...
分类:
其他好文 时间:
2014-07-27 22:26:29
阅读次数:
257
题目链接题意 :Spiderman从最左边的楼通过将蛛丝粘到后边的某座楼顶,然后荡过去,接着发射蛛丝荡过去,直到到达最后的楼。问最少发射几次蛛丝。思路 :从横坐标 j 能跳过建筑物 i 需满足: (p[i].x - j)*(p[i].x - j) 3 #include 4 #include 5 .....
分类:
其他好文 时间:
2014-07-27 22:24:29
阅读次数:
191
B.Race to 1UVA 11762 第一次接触概率dp,完全没想到是dp...没想到能递推出来0 0 首先需要知道 总的期望=每件事的期望×每件事发生的概率 然后可以根据这个来写递推公式,也是dp? 假设不小于x的质数有m个,x的质因子有n个(种 更确切),那么在求X的期望时,可以考虑...
分类:
其他好文 时间:
2014-07-27 21:37:35
阅读次数:
280
http://acm.hdu.edu.cn/showproblem.php?pid=1203 1 #include 2 #include 3 #include 4 using namespace std; 5 6 int a[20000]; 7 double b[20000],dp[2000...
分类:
其他好文 时间:
2014-07-27 21:34:25
阅读次数:
218
HDU 3555 Bomb(数位DP)
ACM
题目地址:HDU 3555
题意:
问(0, n]里面有几个数有'49'这个子串。
分析:
裸数位DP。
直接用DFS做。
就是输入输出比较坑,杭电貌似都要用__int64。
代码:
/*
* Author: illuz
* File: 3555.cpp
* Cr...
分类:
其他好文 时间:
2014-07-27 11:47:33
阅读次数:
223
知识点:树的重心
定义:以这个点为根,那么所有的子树(不算整个树自身)的大小都不超过整个树大小的一半。
性质:
性质 1 :树中所有点到某个点的距离和中,到重心的距离和是最小的,如果有两个距离和,他们的距离和一样。
性质 2 :把两棵树通过某一点相连得到一颗新的树,新的树的重心必然在连接原来两棵树重心的路径上。
性质 3 :一棵树添加或者删除一个节点,树的重心最多只移动一...
分类:
其他好文 时间:
2014-07-27 11:44:53
阅读次数:
238