- 博客(23)
- 问答 (7)
- 收藏
- 关注
原创 ZOJ 2938 Rock Skipping (暴力枚举)
# include # include # include # include # include using namespace std;struct node{ int pos;///初始位置 int num;///跳的次数 int dd;///跳的间隔 int last;///最后位置};struct node s[110];int cm
2014-10-29 23:01:39 775
原创 hdu 4474 Yet Another Multiple Problem (bfs)
///给你一个数n,再给你m个k 求 各位都不为这m个数的n的最小倍数# include# include# include# include# include # includeusing namespace std;int vis[100010],map[11],tt[11],n;int k,x;struct node{ int mod; string
2014-10-24 18:53:11 692
原创 HDU 1896 Stones (优先队列)
# include # include # include using namespace std;struct node{ int pos; int d; int num; friend bool operator <(node n1,node n2) { if(n1.pos==n2.pos) return n1.d>n2.d;//仍的距离从小到大 return
2014-10-20 21:08:44 564
原创 poj 3253 Fence Repair (优先队列)
///优先队列,每次取两个最小的木板的长度,再把这个长度放进队列,反复取# include # include # include # include # include # include using namespace std;///长度小的放在前面class cmp{public: bool operator ()(const __int64 a,const _
2014-10-20 21:01:27 570
原创 hdu 4424 Conquer a New Region (并查集)
///题意:给出一棵树,树的边上都有边权值,求从一点出发的权值和最大,权值为从一点出去路径上边权的最小值# include # include # include # include using namespace std;# define MAX 200010struct node{ int u,v; int w;};struct node a[MAX];_
2014-10-19 22:32:49 703
原创 zoj 3288 Domination (概率dp)
///dp[i][j][k]表示i行j列已经有棋子,且放了k个的概率///dp[i][j][k]一共有四种转移方式///1:dp[i-1][j][k-1] 概率为 (n-(i-1))*j/(n*m-(k-1))///2:dp[i][j-1][k-1] 概率为 i*(m-(j-1))/(n*m-(k-1))///3:dp[i-1][j-1][k-1] 概率为 (n-(i-1))*(
2014-10-12 19:54:59 794
原创 hdu 3076 ssworld VS DDD (概率dp)
///题意:/// A,B掷骰子,对于每一次点数大者胜,平为和,A先胜了m次A赢,B先胜了n次B赢。///p1表示a赢,p2表示b赢,p=1-p1-p2表示平局///a赢得概率 比一次p1 两次p0*p1 三次 p0^2*p1,即A赢的概率为p1+p*p1+p^2*p1+...p^n*p1,n->无穷///即a_win=p1/(1-p);b_win=p2/(1-p);///dp[i][j
2014-10-09 22:36:49 798
原创 poj 2096 Collecting Bugs (概率dp)
/*dp求期望逆着递推求解题意: 一个软件有s个子系统,会产生n种bug 某人一天发现一个bug,这个bug属于一个子系统,属于一个分类 每个bug属于某个子系统的概率是1/s,属于某种分类的概率是1/n 问发现n种bug,每个子系统都发现bug的天数的期望。求解: dp[i][j]表示已经找到i种bug,j个系统的bug,达到目标状态的天数的期望
2014-10-09 19:46:50 739
原创 hdu 4405 Aeroplane chess (概率dp)
/*题目大意:问从0到n所花费时间平均时间。每次有投骰子,投到几就走几步。当然了,还有近道。题目分析:假设现在在i,那么接下来有六种可能的走法,分别是:i到i+1,在由i+1到结束i到i+2,在由i+2到结束i到i+3,在由i+3到结束i到i+4,在由i+4到结束i到i+5,在由i+5到结束i到i+6,在由i+6到结束其中每一个可能的走法发生的概率为n为1/6。那么不妨定义d
2014-10-08 21:00:33 773
原创 hdu 3152 Obstacle Course (bfs)
//从0 0到n-1 n-1位置 最小消耗,走到i,j位置需要消耗a[i][j]//可以走四个方向#include #include #include #include #include # define inf 999999999using namespace std;int n;int dp[150][150];int a[150][150];int dir[4][2]
2014-10-07 19:32:43 711
原创 hdu 3853 LOOPS (概率dp)
/*dp[i][j]表示(i,j)到(R,C)需要消耗的能量则:dp[i][j]=p1[i][j]*dp[i][j]+p2[i][j]*dp[i][j+1]+p3[i][j]*dp[i+1][j]+2;///+2 转移到下一个能量要消耗2化简得:dp[i][j]=((p2[i][j]*dp[i][j+1])+(p3[i][j]*dp[i+1][j])+2)/(1-p1[i][j]);*
2014-10-06 10:09:07 847
原创 poj 1659 Frogs' Neighborhood (判断简单图并输出)
# include# include# include# includeusing namespace std;struct node{ int d; int num;};struct node a[15];bool cmp(node a1,node a2){ return a1.d>a2.d;}int main(){ int map[15
2014-10-05 18:50:46 594
原创 hdu 2454 Degree Sequence of Graph G (判断简单图)
///已知各点的度,判断是否为一个简单图#include#include#includeusing namespace std;int a[1010];bool cmp(int x,int y){ return x>y;}int main(){ int t,n,i,j; scanf("%d",&t); while(t--) {
2014-10-05 18:18:03 1123
原创 poj 1221 UNIMODAL PALINDROMIC DECOMPOSITIONS (母函数)
/*给出一个数n,把它拆分成若干个数的和,要求最大的数在中间并向两边非递增。问拆法有多少种。母函数。枚举中间的那一个数,因为左右对称,所以只需要求左边部分的方案即可。注意,左右两部分的取数必须小于中间的数,中间的数是0的话则以n为最大取值。*/# include # include # include # include typedef long long LL;using
2014-10-04 21:44:48 1026
原创 poj 1322 Chocolate (概率dp)
///有c种不同颜色的巧克力,一个个的取,当发现有相同的颜色的就吃掉,去了n个后,到最后还剩m个的概率///dp[i][j]表示取了i个还剩j个的概率///当m+n为奇时,概率为0# include # include # include # include using namespace std;double dp[1010][1010];int main(){ in
2014-10-04 20:17:45 994
原创 HDU 2152 Fruit (母函数)
# include# include # include # include using namespace std;int main(){ int n,m,i,j,k; int c1[110],c2[110]; int a[110],b[110]; while(~scanf("%d%d",&n,&m)) { for(i=0;i<
2014-10-04 16:18:02 952
原创 hdu 1709 The Balance (母函数)
/*题目:给出一定(n)数量的砝码,每个砝码重a1,a2,a3。。。an,问题:求出【1~sum】中(sum为各砝码总和)不能被称出的重量;问题关键:天平两边都可以放砝码,放在同一端:a[j+k]+=a[j]不同端a[abs(j-k)]+=a[j]假设原来的砝码都放在右端,则可以把新加的砝码放在左端,得到新重量,此时a[abs(j-k)]+=a[j]。*/# include # i
2014-10-03 22:15:34 674
原创 hdu 1085 Holding Bin-Laden Captive! (母函数)
//给你面值为1,2,5的三种硬币固定的数目,求不能凑出的最小钱数//G(x)=(1+x+...+x^num1)(1+x^2+...+x^2num2)(1+x^5+,,,+x^5num3),//展开,系数不为0的数都是可以由硬币组合出来的。# include # include # include # include using namespace std;int main(){
2014-10-03 20:32:54 707
原创 hdu 1398 Square Coins (母函数)
//输入是一个整数。输出他的拆分数(即拆分的方案数),本题与1028最大的不同之处就在于他的面额只能是整数的平方# include # include # include # include using namespace std;int main(){ int n,i,j,k; int c1[310],c2[310]; while(~scanf("%d",&n),n) { for(i=0;i<=n;i++) {
2014-10-03 10:28:13 742
原创 hdu 1028 Ignatius and the Princess III (母函数)
///整数拆分模版///g(x)=(1+x+x^2...)(1+x^2+x^4...)(1+x^3+x^6...)# include# include# include# includeusing namespace std;int main(){ int n,i,j,k,c1[125],c2[125]; while(~scanf("%d",&n)) {
2014-10-03 10:02:35 743
转载 母函数详解
母函数(Generating function)详解在数学中,某个序列的母函数是一种形式幂级数,其每一项的系数可以提供关于这个序列的信息。使用母函数解决问题的方法称为母函数方法。母函数可分为很多种,包括普通母函数、指数母函数、L级数、贝尔级数和狄利克雷级数。对每个序列都可以写出以上每个类型的一个母函数。构造母函数的目的一般是为了解决某个特定的问题,因此选用何种母函数视乎序列本身
2014-10-02 19:21:54 608
原创 hdu 4223 Dynamic Programming? (dp)
//连续的和的绝对值最小# include # include # include # include using namespace std;int main(){ int t,i,j,num,n,min1; int sum[1010],a[1010]; int cas=0; while(~scanf("%d",&t)) {
2014-10-01 21:42:07 1273
原创 hdu 1364 Illusive Chase (dfs)
# include # include # include # include using namespace std;struct node{ int x1; int x2; char x[5];};struct node a[100010];int map[110][110];int n,m,k;bool judge (int xx1,int yy
2014-10-01 20:30:30 1174 1
空空如也
ffmpeg怎么抽帧取流
2021-05-31
QT连接远程Mysql 库不匹配
2020-10-10
socket上传视频文件,服务端生成的文件不能播放
2020-08-28
数据库查询语句,具体见图片
2017-08-13
如何知道.gz压缩包里源文件的名字
2017-03-26
1.txt压缩成2.txt.gz 解压出来怎么保持原有的文件名 非命令
2017-03-22
c++怎么解压文件 tar.zip gz格式等
2016-12-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人