首页 > 其他分享 >CodeForces 1883F You Are So Beautiful

CodeForces 1883F You Are So Beautiful

时间:2024-07-28 16:52:40浏览次数:16  
标签:Beautiful 找出 元素 end int 1883F ++ So 数组

题目链接:CodeForces 1883F【You Are So Beautiful】



思路

       要找出一个子数组使得在数组中只能找出一个子序列和当前子数组相等,则只需要找出首元素的数字必须为当前元素值第一次出现,尾元素的数字必须为当前元素值最后一次出现,则只能找出唯一的子序列和当前子数组相等。所以从前往后遍历,记录每个元素值第一次出现和最后一次出现的位置,然后逐个遍历遇到第一次出现的元素值时可以找出的子数组又多了一个,所以计数变量加1,直到遍历至最后一次出现的元素就将前面的第一次出现的元素个数加到结果上,此时这些加到结果上的子数组都满足首元素值是第一次出现,尾元素值是最后一次出现。


代码

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;

const int N = 1e6 + 10;
const double eps = 1e-8;

int n,k;
int  a[N];

void solve() {
  cin >> n;
  for (int i = 0; i < n; i++)
    cin >> a[i];

  ll ans = 0;
  map<int, int> first, end, cnt;

  for (int i = 0; i < n; i++) {
    if (cnt[a[i]] == 0) {
      cnt[a[i]]++;
      first[a[i]] = i;
      end[a[i]] = i;
    } else {
      end[a[i]] = i;
    }
  }

  int sum = 0;

  for (int i = 0; i < n; i++) {
    if (first[a[i]] == i)
      sum++;
    if (end[a[i]] == i)
      ans += sum;
  }

  cout << ans << endl;
}

int main() {
  int t;
  cin >> t;
  while (t--)
    solve();
  return 0;
}

标签:Beautiful,找出,元素,end,int,1883F,++,So,数组
From: https://www.cnblogs.com/againss/p/18328420

相关文章

  • macOS Sequoia 15 beta 4 (24A5298h) ISO、IPSW、PKG 下载
    macOSSequoia15beta4(24A5298h)ISO、IPSW、PKG下载iPhone镜像、Safari浏览器重大更新、备受瞩目的游戏和AppleIntelligence等众多全新功能令Mac使用体验再升级请访问原文链接:https://sysin.org/blog/macOS-Sequoia/,查看最新版。原创作品,转载请保留出处。作者主页......
  • macOS Sequoia 15 beta 4 (24A5298h) Boot ISO 原版可引导镜像下载
    macOSSequoia15beta4(24A5298h)BootISO原版可引导镜像下载iPhone镜像、Safari浏览器重大更新、备受瞩目的游戏和AppleIntelligence等众多全新功能令Mac使用体验再升级请访问原文链接:https://sysin.org/blog/macOS-Sequoia-boot-iso/,查看最新版。原创作品,转载请保......
  • 无法导入名称“CatBoostRegressor”
    我使用pipinstall成功安装了catboost,但是当我在代码中导入catboostregressor时,它抛出以下错误:fromcatboostimportCatBoostRegressorImportError:cannotimportname'CatBoostRegressor'有什么想法吗?很可能遇到了CatBoost版本的问题,该版本在0.24版中更......
  • iOS基础---多线程:GCD、NSThread、NSOperation
    系列文章目录iOS基础—多线程:GCD、NSThread、NSOperationiOS基础—CategoryvsExtension文章目录系列文章目录一、GCD1.GCD的任务、函数、队列a.任务b.函数c.队列2.GCD的使用a.同步函数+并发队列b.异步函数+并发队列c.同步函数+串行队列d.异步函数+串行队列e.同步函......
  • Nginx 如何处理 WebSocket 连接?
    ......
  • (BS ISO 11898-1:2015)CAN_FD 总线协议详解5- MAC子层描述3
    目录 创作不易,请帮忙点赞+评论+转载,非常感谢5.4.3MACRF(远程帧)规范5.4.3.1描述5.4.3.2MACDF和MACRF相同的字段5.4.3.3仲裁字段5.4.3.4控制字段5.4.4错误帧(EF)的规范5.4.4.1描述5.4.4.2错误标志5.4.4.3错误分隔符5.4.5过载帧(OF)的规定5.......
  • Microsoft.PowerShell.Commands.Utility.Resources.dll文件丢失导致程序无法运行问题
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个Microsoft.PowerShell.Commands.Utility.Res......
  • Microsoft.CognitiveServices.Speech.extension.embedded.sr.dll文件丢失导致程序无法
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个Microsoft.CognitiveServices.Speech.extens......
  • 【Unity插件】Editor Console Pro:提升开发效率的神器
    在Unity开发过程中,控制台(Console)是我们排查错误、获取信息的重要窗口。而EditorConsolePro则是Unity编辑器控制台的强大替代品,为Unity的控制台带来了更多实用的功能和改进,极大地提升了开发效率。一、EditorConsolePro简介EditorConsolePro是一款在Unity......
  • 14 Python列表操作内置函数(append、+、extend、insert、index、del、pop、remove、len
     欢迎来到@一夜看尽长安花博客,您的点赞和收藏是我持续发文的动力对于文章中出现的任何错误请大家批评指出,一定及时修改。有任何想要讨论的问题可联系我:[email protected]。发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。   专栏:java全栈C&C++PythonAIP......