poj2228 分第一天是否熟睡dp兩次
#include#includepoj2228#include
#include
#include
using
namespace
std;
int n,b,ans,a[4100],f[2][4100][2
];void
dp1()
}ans=max(ans,max(f[now][b][0],f[now][b][1
]));
}void
dp2()
}ans=max(ans,f[now][b][1
]);}
intmain()
環形運輸 複製接後頭,明顯有單調性
#include#include環形運輸#include
#include
#include
using
namespace
std;
int a[2100000],q[2100000
];int
main()
int head=1,tail=1,mmax=0;q[1]=1
;
for(int i=2;i<=2*n-1;i++)
printf(
"%d\n
",mmax);
return0;
}
cf 24d 這是有後效性的題,解個方程咯,這裡是兩個二元其他三元那就左往右乙個個消,實在元素多就gauss咯
#include#includecf 24d#include
#include
#include
using
namespace
std;
double a[1100],b[1100],f[1100][1100
];int
main()
for(int i=1;i<=m;i++)f[n][i]=0
;
for(int i=n-1;i>=stx;i--)
f[i][m]=(b[m-1]+f[i+1][m]+3.0)/(2.0-a[m-1
]);
for(int j=m-1;j>=1;j--)f[i][j]=a[j]*f[i][j+1]+b[j];
}printf(
"%.4lf\n
",f[stx][sty]);
return0;
}
資料結構與演算法學習筆記2 環形佇列
因為普通的佇列空間無法復用,單純的將rear,front兩個指標進行增加,導致出佇列的資料所佔的空間沒法使用,這樣的話佇列的空間會越來越少,於是出現了環形佇列.其次,環形佇列中進行約定,預留乙個空間,也就是rear指向的那個位置,這個位置不能存放資料,當其他位置已經存放過資料之後,就認為這個佇列已滿...
演算法與資料結構學習(9) 環形鍊錶及約瑟夫問題
鍊錶中每個節點的指標域是單向的,指向下乙個節點,並且最後乙個節點的next指標指向第乙個節點,這樣就形成了乙個閉環,這樣的鍊錶結構就是單向迴圈鍊錶,它可以用於解決約瑟夫問題 josephu問題 設編號為1,2,3,n的n個人圍坐一圈,約定編號為k 1 k n 的人從1開始報數,數到m的那個人出列,他...