数颜色

数颜色

https://ac.nowcoder.com/acm/problem/210755

题目

MoveToEx找到了很多不同颜色的珠子,他把这些珠子排成了一列,每个珠子的颜色用 表示。
定义一个区间的美观度为区间中不同颜色的珠子个数。
求:在所有 个区间中,所有区间的美观度之和是多少。

解题思路

枚举每个区间的左边界

  • 确定左边界后,枚举区间的右边界,统计区间内的珠子个数,将其计入结果

C++代码

#include<iostream>
#include<vector>
#include<unordered_set>
using namespace std;

int main(){
    int n;
    cin >> n;
    vector<int> color(n);
    for(int i=0; i<n; ++i)
        cin >> color[i];

    int sum = 0;
    for(int i=0; i<n; ++i){
        unordered_set<int> st;
        for(int j=i; j<n; ++j){
            st.insert(color[j]);
            sum += st.size();
        }
    }
    cout << sum << endl;
    return 0;
}
全部评论

相关推荐

07-03 11:02
中山大学 C++
字节刚oc,但距离九月秋招很近了有两段互联网实习,非腾讯字节。不敢赌转正,现在在纠结去还是不去如果实习俩月离职会有什么后果吗
阿城我会做到的:不去后悔一辈子,能否转正取决于ld的态度,只要他不卡,答辩就是走流程,个人觉得可以冲一把
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-03 17:37
点赞 评论 收藏
分享
asdasdasda...:19岁,不容易啊可能升个本会好点,现在学历歧视太严重了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务