码迷,mamicode.com
首页 > 其他好文 > 详细

第十九周 1.4---1.10

时间:2016-01-08 00:27:23      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:

终于考完了

----

诶--- --- ---

1.7

cf500c

http://codeforces.com/problemset/problem/500/C

补去年的题了......

懒成狗了......

给出 n 本书的重量,m 天,还有这m 天每天要看哪一本书,然后每次看一本书的时候,是将这本书上面的书拿走,再拿走要看的书,再把挪走的那一摞书放回来

确定书最开始的顺序,使得搬的书的重量最小

按照看书的先后顺序来放,没有出现过的书就不管

假设现在要看的书是 x ,它的上面有 m 这么重的书

现在需要搬 m

如果不是按照看书的顺序来放的放,假设现在有一个m0在x 的上面

现在需要搬动 m + m0 > m

技术分享
 1 #include<cstdio>
 2 #include<cstring>
 3 #include<iostream>
 4 #include<algorithm>
 5 using namespace std;
 6 
 7 const int maxn = 1005;
 8 int a[maxn],w[maxn];
 9 int n,m;
10 int b[maxn],vis[maxn];
11 int c[maxn];
12 
13 void solve(){
14     int cnt = 0;
15     memset(vis,0,sizeof(vis));
16     memset(c,0,sizeof(c));
17     for(int i = 1;i <= m;i++){
18         if(!vis[a[i]]){
19             b[++cnt] = a[i];
20             vis[a[i]] = 1;
21         }
22     }
23 
24   /*  for(int i = 1;i <= cnt;i++){
25         printf("b[%d] = %d\n",i,b[i]);
26     }*/
27 
28     int ans = 0;
29     for(int i = 1;i <= m;i++){
30         int pos = 0;
31         for(int j = 1;j <= cnt;j++){
32             if(b[j] == a[i]) {
33                 pos = j;
34                 break;
35             }
36             ans += w[b[j]];
37           //  printf("--- i = %d  b[%d] = %d\n",i,j,b[j]);
38         }
39         memcpy(c,b,sizeof(b));
40         for(int j = 1;j < pos;j++){
41             b[j+1] = c[j];
42         }
43         b[1] = a[i];
44 
45        /* for(int j = 1;j <= cnt;j++){
46             printf("  %d  ",b[j]);
47         }
48         printf("\n");*/
49     }
50     printf("%d\n",ans);
51 }
52 
53 int main(){
54     while(scanf("%d %d",&n,&m) != EOF){
55         for(int i = 1;i <= n;i++) scanf("%d",&w[i]);
56         for(int i = 1;i <= m;i++) scanf("%d",&a[i]);
57         solve();
58     }
59     return 0;
60 }
View Code

 

第十九周 1.4---1.10

标签:

原文地址:http://www.cnblogs.com/wuyuewoniu/p/5111663.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!