HDU 5000 Clone
这场就出了3题。。就坑在这题上了,还好保住了名额
思路:要推出最大值的时候,每个人的属性和必然相同,并且这个和必然是所有和 / 2,这样的话,问题转化为给n个数字,要组合成sum / 2有多少种方法,就用dp背包推一遍就可以得解了。
现场的时候就没推出sum / 2就是答案
代码:
#include
#include
const i...
分类:
其他好文 时间:
2014-09-13 22:52:46
阅读次数:
192
题目大意:一个人随即从一个点出发,到达邻接点的概率相同,求出走d步都不会到达1~n点的每一项的不可能概率(这里第一次随即取的点是要求的点也算到达过了)这道题开始一直在计算到达那一点的可能性,最后用1-ans[i],但到最后还是没有找到自己哪里错了,有机会再看看后来直接计算不可能概率,通过dp找到一直...
分类:
其他好文 时间:
2014-09-13 22:44:56
阅读次数:
295
题目地址:HDU 5000
这个题当时有过这种想法,就是所有满足的情况的属性和是一定的。但是不会求方案数。。(太弱。。。)而且当时也很不确定猜测是否正确。。所以就放下了。。。算是通过学习了下dp求方案数吧。
至于那个猜测,我也给不出证明,但是个人觉得是只有在和都是相等的时候,才可以通过某一个数的增减来始终保持至少有一个较大的,至少有一个较小的,而假如和不一样的话,就会产生其中一个会消灭另一个的...
分类:
其他好文 时间:
2014-09-13 21:30:15
阅读次数:
214
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5005
题目巨长,所以不贴题目了,直接说大意(话说大意也不短。。。。)。
题目大意:有两个人A和X,给一个有向无环图(DAG),每一个出度为0的节点(下面称这些节点为“叶子节点”)有两个权值x和y(所有的x,y都不一样,这点非常重要)。除了叶子节点,其他所有节点都都由A或X控制。如果当前位置...
分类:
其他好文 时间:
2014-09-13 21:29:55
阅读次数:
182
http://acm.hdu.edu.cn/showproblem.php?pid=5001
思路:dp计算出途径每个点的总概率,1-x即为所求解。
dp题,先介绍下dp[i][j]为第j步走在第i个点的概率,那么dp[i][j]=dp[x1][j-1]+dp[x2][j-1]+...,x1,x2为i 的相邻节点。上一步在相邻节点这一步才能走到该点嘛。
每个点概率要一个一个的算,当算到第ii...
分类:
其他好文 时间:
2014-09-13 21:28:55
阅读次数:
193
依次枚举每个不能走过的点,DP递推下一步情况,求出所有其他点的概率之和即为这个点不会被走过的概率。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define LL long long
#define inf 1<<29
using namespace std...
分类:
其他好文 时间:
2014-09-13 20:11:25
阅读次数:
225
http://acm.hdu.edu.cn/showproblem.php?pid=5001
应该算是一道简单的概率题。想了两个多小时,结果越想越麻烦。最后敲出来了,但是MLE。
最后借鉴实验室学长的思路,发现这样想很直观,正退就可以。
设dp[j][d]表示不能经过i点走了d步到达j点的概率。那么dp[j][d] = ∑ dp[k][d-1]/edge[k].size()。那么不经...
分类:
其他好文 时间:
2014-09-13 20:10:15
阅读次数:
235
每只羊有n个属性
下面n个数字表示每个属性的值范围为[ 0, T[i] ]
对于羊圈里的a羊和b羊,若a羊的每个属性都>=b羊,则a羊会杀死b羊。
问羊圈里最多存活多少只羊。
规律1:sum相同的羊不会互相杀死。
因为若2个羊的属性都相同,a羊某个属性要增加1,则a羊另一个属性要减少1,这样ab一定能共存。
规律2:
sum不同的羊不会重合。
我们设a羊sum = x,b羊sum...
分类:
其他好文 时间:
2014-09-13 18:50:05
阅读次数:
180
题意:
给定n个点m条边的无向图
问:
从任意点出发任意走d步,从不经过某个点的概率
dp[i][j]表示从不经过i点的前提下,走了d步到达j点的概率。
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define N 55
#define...
分类:
其他好文 时间:
2014-09-13 18:49:45
阅读次数:
145
动手练习:
(1)自己实现ls命令
#include
#include
int ls(int argc,char * argv[])
{
int i;
for(i = 2;i < argc;i++)
{
DIR * dp;
struct dirent *dirp;
if((dp = opendir(argv[i])) == NU...
分类:
其他好文 时间:
2014-09-13 12:07:55
阅读次数:
151