LA 4636 积木艺术

Posted 谦谦君子,陌上其华

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LA 4636 积木艺术相关的知识,希望对你有一定的参考价值。

https://vjudge.net/problem/UVALive-4636

题意:

给出正视图和侧视图,判断最少要用多少个立方体。

 

思路:

首先正视图里出现的积木个数都是必须的,记录下每一列积木的个数出现的次数,接下来看侧视图,如果侧视图某一列积木个数在主视图里找不到,那么就要额外的加上这一列积木数。

 1 #include<iostream>
 2 #include<cstring>
 3 #include<algorithm>
 4 using namespace std;
 5 
 6 const int maxn = 30;
 7 
 8 int vis[maxn];
 9 
10 int n, m;
11 
12 int main()
13 {
14     //freopen("D:\\txt.txt", "r", stdin);
15     int x;
16     while (~scanf("%d%d",&n,&m) && n && m)
17     {
18         int x;
19         int ans = 0;
20         memset(vis, 0, sizeof(vis));
21         for (int i = 0; i < n; i++)
22         {
23             scanf("%d", &x);
24             ans += x;
25             vis[x]++;
26         }
27         for (int i = 0; i < m; i++)
28         {
29             scanf("%d", &x);
30             if (!vis[x])   ans += x;
31             else  vis[x]--;
32         }
33         printf("%d\n", ans);
34     }
35 }

 

以上是关于LA 4636 积木艺术的主要内容,如果未能解决你的问题,请参考以下文章

BZOJ 4636 蒟蒻的数列

主席树 或者 离散化+分块 BZOJ 4636

BZOJ4636蒟蒻的数列 STL

[bzoj4636]蒟蒻的数列_线段树

BZOJ_4636_蒟蒻的数列_线段树+动态开点

bzoj4636: 蒟蒻的数列