洛谷
codeforceso(
n2m)
o (n
2m
)的暴力懶得寫了,比較容易,可以自己想想。
做法是這樣的,首先我們發現乙個結論:
對於某個顏色(我們就把尺寸當成染色問題好了),如果你拿的個數越多,那麼它對於答案的貢獻就越來越少。這個東西是顯然的,所以這個函式是乙個凸函式。
那麼這樣子就可以貪心,每次選擇對於答案貢獻最多的乙個顏色,然後同時更新一下它下一次再拿的時候對於答案的貢獻就好了。
時間複雜度o(
n2+n
m)o (n
2+nm
)
#include
#include
#include
#include
#include
#include
using
namespace
std;
#define ll long long
#define max 3030
inline
int read()
int n,m;
double p[max][333],f[333][max],tmp[max],ans,d[333];
void calc(int k)
int main()
for(int i=1;i<=n;++i)
printf("%.10lf\n",ans);
return
0;}
CF183D T shirt(動態規劃,貪心)
洛谷 codeforces o n 2m 的暴力懶得寫了,比較容易,可以自己想想。做法是這樣的,首先我們發現乙個結論 對於某個顏色 我們就把尺寸當成染色問題好了 如果你拿的個數越多,那麼它對於答案的貢獻就越來越少。這個東西是顯然的,所以這個函式是乙個凸函式。那麼這樣子就可以貪心,每次選擇對於答案貢獻...