【题目链接】 http://www.lydsy.com/JudgeOnline/problem.php?id=2111 【题意】 给定n,问1..n的排列中有多少个可以构成小根堆。 【思路】 设f[i]为以i为根的方案数,设l为左子树大小r为右子树大小,则有: f[i]=C(i-1,l)*f[l]* ...
分类:
其他好文 时间:
2016-04-03 18:48:45
阅读次数:
362
Word Cut Time Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Submit Status Practice CodeForces 176B Word Cut Submit Status Practice ...
分类:
其他好文 时间:
2016-03-28 02:02:53
阅读次数:
194
提交题意:给了n*m的网格,然后有p个重型的防御塔,能承受1次攻击,q个轻型防御塔不能接受任何攻击,然后每个防御搭会攻击他所在的行和所在的列,最后求在这个网格上放至少一个防御塔的方案数,我们枚举 选取多少个重型防御塔然后这个重型防御塔有多少是两个在一行,和两个在一列 O(P^3)的效率#includ...
分类:
其他好文 时间:
2015-11-09 12:27:17
阅读次数:
194
这一题是最近在看Coursera的《算法与设计》的公开课时看到的一道较难的DP例题,之所以写下来,一方面是因为DP的状态我想了很久才想明白,所以借此记录,另一方面是看到这一题有运用到 排列计数 的方法,虽然排列计数的思路简单,但却是算法中一个数学优化的点睛之笔。
分类:
编程语言 时间:
2015-09-07 21:14:25
阅读次数:
288
dp(i, j, k)表示共i位, 最高位是j, 数字k出现次数. 预处理出来.差分答案, 对于0~x的答案, 从低位到高位进行讨论------------------------------------------------------------------------------#inclu...
分类:
其他好文 时间:
2015-09-04 12:21:01
阅读次数:
203
Polya计数+dp求满足对应循环的不动点有几个
1004: [HNOI2008]Cards
Time Limit: 10 Sec Memory Limit: 162 MB
Submit: 2046 Solved: 1212
[Submit][Status][Discuss]
Description
小春现在很清闲,面对书桌上的N张牌,他决定给每张染色,目前小春...
分类:
其他好文 时间:
2015-05-07 14:34:30
阅读次数:
142
第五届省赛C:colourful cupcakesN=60.天真如我,居然在考虑搜索的算法/(ㄒoㄒ)/~~三叉树……3^60=10^24+……不计算考虑复杂度都是耍流氓>__#include#include#include#include#include#include#includeusing ...
分类:
其他好文 时间:
2015-05-04 23:35:08
阅读次数:
171
分析:
用计数dp思想:DP[I][J]=(DP[I-1][J-1]+DP[I-1][J]+DP[I-1][J+1]),最后再除pow(k+1,n)容易爆精度,改用概率dp思想DP[I][J]=(DP[I-1][J-1]+DP[I-1][J]+DP[I-1][J+1])/(k+1)即可。
代码:
//poj 2537
//sep9
#include
using namespace std;
...
分类:
其他好文 时间:
2015-04-23 19:58:25
阅读次数:
140
题意:
有n个盒子,有个宝石在第s个盒子中。第一个个人做m次交换操作,第二个人只看到其中的任意k次操作,每个操作被看到的几率是一样的。问第二个人最可能猜这个宝石在几号盒子。
做法:
dp算方法数。 dp[i][j][k],i表示真实的操作了几次,k表示第二个人看到了几次操作,j表示第几个盒子,dp的值表示这种情况下第一个人有多少种情况会猜宝石在j盒子中。
初始化dp[0][s][0]=1,开始操作数为0时,肯定猜的是在第s个盒子中。
然后转移:
1.ab交换 ab直接互相转移 dp[i][a][k]=d...
分类:
其他好文 时间:
2015-04-19 21:24:22
阅读次数:
197
hdu 5136 Yue Fei's Battle(计数DP)—— black 的专栏 —— waShaXiu...
分类:
其他好文 时间:
2015-01-12 16:42:40
阅读次数:
177