日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > hdu 5045 Contest--2014acm上海賽區網絡賽

hdu 5045 Contest--2014acm上海賽區網絡賽

來源:程序員人生   發布時間:2014-10-12 20:37:02 閱讀次數:3669次

題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=5045


Contest

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 171    Accepted Submission(s): 60


Problem Description
In the ACM International Collegiate Programming Contest, each team consist of three students. And the teams are given 5 hours to solve between 8 and 12 programming problems. 

On Mars, there is programming contest, too. Each team consist of N students. The teams are given M hours to solve M programming problems. Each team can use only one computer, but they can’t cooperate to solve a problem. At the beginning of the ith hour, they will get the ith programming problem. They must choose a student to solve this problem and others go out to have a rest. The chosen student will spend an hour time to program this problem. At the end of this hour, he must submit his program. This program is then run on test data and can’t modify any more. 

Now, you have to help a team to find a strategy to maximize the expected number of correctly solved problems. 

For each problem, each student has a certain probability that correct solve. If the ith student solve the jth problem, the probability of correct solve is Pij .

At any time, the different between any two students’ programming time is not more than 1 hour. For example, if there are 3 students and there are 5 problems. The strategy {1,2,3,1,2}, {1,3,2,2,3} or {2,1,3,3,1} are all legal. But {1,1,3,2,3},{3,1,3,1,2} and {1,2,3,1,1} are all illegal. 

You should find a strategy to maximize the expected number of correctly solved problems, if you have know all probability
 

Input
The first line of the input is T (1 ≤ T ≤ 20), which stands for the number of test cases you need to solve.

The first line of each case contains two integers N ,M (1 ≤ N ≤ 10,1 ≤ M ≤ 1000),denoting the number of students and programming problem, respectively.

The next N lines, each lines contains M real numbers between 0 and 1 , the jth number in the ith line is Pij .
 

Output
For each test case, print a line “Case #t: ”(without quotes, t means the index of the test case) at the beginning. Then a single real number means the maximal expected number of correctly solved problems if this team follow the best strategy, to five digits after the decimal point. Look at the output for sample input for details.
 

Sample Input
1 2 3 0.6 0.3 0.4 0.3 0.7 0.9
 

Sample Output
Case #1: 2.20000
 

Source
2014 ACM/ICPC Asia Regional Shanghai Online
 

Recommend
hujie   |   We have carefully selected several similar problems for you:  5052 5051 5049 5048 5046 
 

Statistic | Submit | Discuss | Note


可以轉換成最小費用流問題,果斷貼模板上去了。。。


//#pragma comment(linker, "/STACK:36777216") #include <functional> #include <algorithm> #include <iostream> #include <fstream> #include <sstream> #include <iomanip> #include <numeric> #include <cstring> #include <climits> #include <cassert> #include <complex> #include <cstdio> #include <string> #include <vector> #include <bitset> #include <queue> #include <stack> #include <cmath> #include <ctime> #include <list> #include <set> #include <map> using namespace std; #define typef int #define typec double const typef inff = 0x3f3f3f3f; const typec infc = 0x3f3f3f3f; const int E=1010; const int N=100; class network { public: int nv, ne, pnt[E], nxt[E]; int vis[N], que[N], head[N], pv[N], pe[N]; typec cost, dis[E], d[N];typef flow, cap[E]; void addedge(int u, int v, typef c, typec w) { pnt[ne] = v; cap[ne] = c; dis[ne] = +w; nxt[ne] = head[u]; head[u] = ne++; pnt[ne] = u; cap[ne] = 0; dis[ne] = -w; nxt[ne] = head[v]; head[v] = ne++; } double mincost(int src, int sink) { int i, k, f, r; typef mxf; for (flow = 0, cost = 0; ; ) { memset(pv, -1, sizeof(pv)); memset(vis, 0, sizeof(vis)); for (i = 0; i < nv; ++i) d[i] = infc; d[src] = 0; pv[src] = src; vis[src] = 1; for (f = 0, r = 1, que[0] = src; r != f; ) { i = que[f++]; vis[i] = 0; if (N == f) f = 0; for (k = head[i]; k != -1; k = nxt[k]) if(cap[k] && dis[k]+d[i] < d[pnt[k]]){ d[pnt[k]] = dis[k] + d[i]; if (0 == vis[pnt[k]]) { vis[pnt[k]] = 1; que[r++] = pnt[k]; if (N == r) r = 0; } pv[pnt[k]]=i; pe[pnt[k]]=k; } } if (-1 == pv[sink]) break; for (k = sink, mxf = inff; k != src; k = pv[k]) if (cap[pe[k]] < mxf) mxf = cap[pe[k]]; flow += mxf; cost += d[sink] * mxf; for (k = sink; k != src; k = pv[k]) { cap[pe[k]] -= mxf; cap[pe[k] ^ 1] += mxf; } } return cost; } void build(int v) { nv = v; ne = 0; memset(head, -1, sizeof(head)); } };network g; int m,n; //n 人數 m題數 double So[20][1010]; double solve(int x,int y){ // cout<<"ST SOLVE"<<endl; double ret=0; int Pro=y-x+1; int nv=n+Pro+1; // cout<<"Pro="<<Pro<<' '<<"nv="<<nv<<' '<<"n="<<n<<endl; g.build(nv+1); for(int i=1;i<=n;i++) g.addedge(0,i,1,0); for(int i=n+1;i<=n+Pro;i++) g.addedge(i,nv,1,0); for(int i=1;i<=n;i++) for(int j=n+1;j<=n+Pro;j++){ g.addedge(i,j,1,-So[i][j-n-1+x]); } ret=g.mincost(0,nv); return ret; } int main(){ #ifdef ONLINE_JUDGE #else freopen("in.txt","r",stdin); #endif int T,kase=0; scanf("%d",&T); while(T--){ scanf("%d%d",&n,&m); for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ scanf("%lf",&So[i][j]); } } double ans=0.0;int t=0; for(int i=1;i<=m;i+=n){ ans+=solve(i,min(m,i+n-1)); } printf("Case #%d: %.5lf ",++kase,-ans); } return 0; }













生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 午夜欧美一区二区三区在线播放 | 日韩欧美激情电影 | 91av视频免费在线观看 | 亚洲一区二区精品视频 | 国产精品久久久久久久久久东京 | 日韩区欧美久久久无人区 | 国产福利视频 | 国产乱码精品一区二区三区五月婷 | 日韩成人中文字幕 | 日韩欧美色 | 81精品国产乱码久久久久久 | 日韩国产成人 | 欧美日韩在线不卡 | 91麻豆精品国产91久久久久久久久 | 亚洲精品一区二区网址 | 亚洲第一福利视频 | 成人精品国产一区二区4080 | 正在播放国产精品 | 国产日韩欧美视频 | 久久精品国产亚洲一区二区三区 | 欧美夜夜| 麻豆传媒免费观看 | 在线啊v | 人善交videos欧美3d动漫 | 18av视频 | 久久a久久 | 91玖玖| 久久高清精品 | 国产精品久久久久久久久久三级 | 亚洲精品色综合av网站 | 国产激情综合五月久久 | av网站免费播放 | 久久精品国产色蜜蜜麻豆 | 亚洲精品久久 | 日韩精品免费一区二区三区 | 国产精品毛片一区二区在线看 | 可以在线观看av的网站 | 国产在线精品一区二区三区 | 人人九九精 | h片在线观看视频免费免费 日韩国产一区二区 | 熟女少妇a性色生活片毛片 国产伊人精品 |