摘要: 传送门 解题思路 期望$dp$。因为这个是期望步数,所以要倒着推。那么这道题就变得一脸可做了,设$f[i]$表示还有$i$张牌没有收集的期望,那么考虑再抽一张,有$(n-i)/n$的概率抽到抽过的牌,有$i/n$的概率抽到没有抽过的牌。那么转移方程就是: $f[i]=f[i]*\dfrac{(n-i 阅读全文
posted @ 2018-10-08 21:24 Monster_Qi 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 传送门 解题思路 首先刷出一个20位的表,这样利于后面的操作。设$f[i][j]$为填到第$i$位,目前后$j$位为6的个数,当$j=3$时就是已经满足条件。那么$f[i+1][j+1]+=f[i][j] ,f[i+1][0]+=f[i][j]*9 f[i+1][3]+=f[i][j]*10$,这个 阅读全文
posted @ 2018-10-08 17:29 Monster_Qi 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 解题思路 缩点后按拓扑排序跑一个dp。 #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<cstdlib> #include<queue> using namespace std; const 阅读全文
posted @ 2018-10-08 16:46 Monster_Qi 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 解题思路 有向图最小路径点覆盖问题,有这样的结论就是有向图最小路径点覆盖等于n-拆点二分图中最大匹配。具体怎么证明不太知道。。输出方案时找到所有左部未匹配的点一直走$match​$就行了。 #include<iostream> #include<cstdio> #include<cstring> # 阅读全文
posted @ 2018-10-08 15:40 Monster_Qi 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 传送门 因为骑士只能走"日"字,所以一定是从一个奇点到偶点或偶点到奇点,那么这就是一张二分图,题目要求的其实就是二分图的最大独立集。最大独立集=n-最大匹配。 #include<iostream> #include<cstdio> #include<cstring> using namespace 阅读全文
posted @ 2018-10-08 15:00 Monster_Qi 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 传送门 解题思路 一道基环树上$dp$的题,这种题比较套路吧,首先第一遍$dfs$把环找出来,然后对于环上的每一个点都向它子树内做一次树形$dp$,$f[i][0/1]$表示到了$i$这个点选或不选的最大值,转移和没有上司的舞会那道题差不多,就是求一个带权最大独立集。然后再在环上做一次树形$dp$, 阅读全文
posted @ 2018-10-08 11:49 Monster_Qi 阅读(217) 评论(0) 推荐(0) 编辑
摘要: Description 给出n个数(A1...An)现求一组整数序列(X1...Xn)使得S=A1*X1+...An*Xn>0,且S的值最小 Input 第一行给出数字N,代表有N个数 下面一行给出N个数 Output S的最小值 Sample Input 2 4059 -1782 Sample O 阅读全文
posted @ 2018-10-08 09:54 Monster_Qi 阅读(168) 评论(0) 推荐(0) 编辑