## 【第8题】这是一道排列组合题

news2024/11/22 19:39:11

题目:ABC159 - D - Banned K

题目原文请移步下面的链接

  • https://www.luogu.com.cn/problem/AT_abc159_d
    • 参考题解:https://www.luogu.com.cn/problem/solution/AT_abc159_d
  • 标签:OIatcoder数学容斥原理

题解

思路(和思路无关的废话)

  • 这是一道看题就有思路的题;

  • 这是一道让我非常喜悦的题,我可以虐他了;

  • 这是一道经典的排列组合题;

  • 这是一道提交了3次才过的【普及-】题;

  • 这是一道OI圈中【不开long long见祖宗】题;

  • 这是一道最近10分钟就可以AC的题;

  • 这是一道最近不会在做如此简单的题。

代码

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;

void best_coder() {
    int n;
    scanf("%d", &n);
    unordered_map<int, LL> um;
    vector<int> v(n);
    for (int i = 0; i < n; ++i) {
        scanf("%d", &v[i]);
        ++um[v[i]];
    }
    LL cnt = 0;
    for (auto i : um) {
        if (i.second > 1) {
            cnt += i.second * (i.second - 1) / 2;
        }
    }
    for (auto i : v) {
        if (um[i] > 1) {
            printf("%lld\n", cnt - (um[i] - 1));
        } else {
            printf("%lld\n", cnt);
        }
    }
}

void happy_coder() {
}

int main() {
    // 提升cin、cout效率
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);

    // 小码匠
    best_coder();

    // 最优解
    // happy_coder();

    // 返回
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/643004.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

华为OD机试真题 JavaScript 实现【最小传输时延】【2023 B卷 100分】,附详细解题思路

一、题目描述 某通信网络中有N个网络节点&#xff0c;用1到N进行标识。 网络通过一个有向无环图表示&#xff0c;其中图的边的值表示结点之间的消息传递时延。 现给定相连节点之间的时延列表times[i] {u,v,w}&#xff0c;u表示源节点&#xff0c;v表示目的节点&#xff0c;…

C++入门攻略

C补足C语言部分缺陷 1.命名空间&#xff1a;1.1 命名空间namespace关键字1.命名空间中可以定义变量、函数、类型2.命名空间可以嵌套3.相同命名空间共存 1.2 命名空间的使用方式&#xff1a;1.名称加用域作用限定符的方式访问&#xff08;同上&#xff09;2.使用using引入某个空…

现在学大数据还来得及么

种一棵树最好的时机是十年前&#xff0c;其次是现在。如果你想学&#xff0c;那么就一定来的及。 Python 已成利器 在大数据领域中大放异彩 Python&#xff0c;成为职场人追求效率的利器&#xff0c;因为不管什么工作&#xff0c;数据都会是工作的一部分&#xff0c;有数据的…

学习【菜鸟教程】【C++ 继承】

链接 1. 教程原文 面向对象程序设计中最重要的一个概念是继承。继承允许我们依据另一个类来定义一个类&#xff0c;这使得创建和维护一个应用程序变得更容易。这样做&#xff0c;也达到了重用代码功能和提高执行效率的效果。 当创建一个类时&#xff0c;您不需要重新编写新的…

精通postman教程(一)下载及安装详解

作为一名测试工程师&#xff0c;那么Postman绝对是大伙必备的工具之一。 在这个系列教程中&#xff0c;我将为大伙详细讲解如何使用Postman进行API测试。 今天我将先为大伙介绍Postman的下载安装方法&#xff0c;让你们快速上手这款工具。 一、下载 下载地址&#xff1a;Do…

基于Java学院党员管理系统设计与实现(源码+lw+部署文档+讲解等)

博主介绍&#xff1a; ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ &#x1f345; 文末获取源码联系 &#x1f345; &#x1f447;&#x1f3fb; 精…

Java学习笔记(视频:韩顺平老师)4.0

如果你喜欢这篇文章的话&#xff0c;请给作者点赞哟&#xff0c;你的支持是我不断前进的动力。 因为作者能力水平有限&#xff0c;欢迎各位大佬指导。 目录 如果你喜欢这篇文章的话&#xff0c;请给作者点赞哟&#xff0c;你的支持是我不断前进的动力。 控制结构 顺序 分…

【面试系列】2023金三银四面经

&#x1f431; 个人主页&#xff1a;不叫猫先生&#xff0c;公众号&#xff1a;前端舵手 &#x1f64b;‍♂️ 作者简介&#xff1a;2022年度博客之星前端领域TOP 2&#xff0c;前端领域优质作者、阿里云专家博主&#xff0c;专注于前端各领域技术&#xff0c;共同学习共同进步…

深入浅出RTA广告投放

一、RTA诞生背景 广告主在媒体投放广告时&#xff0c;往往需要将数据回传给DSP或媒体平台&#xff0c;供他们进行针对性优化。但是随着很多公司对数据隐私性的重视和保护&#xff0c;导致广告主不能或者不愿意将数据回传给DSP或媒体平台&#xff0c;但这样做又必然导致投放模型…

Lightroom Classic 2023(版本 12.3)主要新增功能

macw发布了Adobe Lightroom Classic 2023(版本 12.3)软件&#xff0c;该版本新增了哪些功能呢&#xff1f;随着小编一起了解一下吧&#xff01; 主要新增功能概述 轻松消除图像中的杂色 借助 AI 支持的降噪功能&#xff0c;可以轻松、有效地消除 RAW 图像中的杂色&#xff0c…

抽象工厂模式(六)

过气的&#xff0c;终究是过气了 上一章简单介绍了工厂方法模式(五), 如果没有看过,请观看上一章 一. 抽象工厂模式 引用 菜鸟教程里面的单例模式介绍: https://www.runoob.com/design-pattern/abstract-factory-pattern.html 抽象工厂模式&#xff08;Abstract Factory Pat…

记Gitlab备份与设置自动备份

今天给Gitlab做了一个备份&#xff0c;并且设置了每天自动备份&#xff0c;记录一下。 一、导出全部项目 由于Gitlab Web页面并没有自动备份的相关设置&#xff0c;只有各个项目有一个“导出项目”功能。为了保证安全&#xff0c;先把所有项目全部使用“导出项目”功能导出一…

Redis实战案例1-短信登录

Redis的共享session应用 1. 项目的相关工作 导入sql文件 找到对应的sql文件即可 基本表的信息 基本架构 导入对应的项目文件&#xff0c;启动相关的service服务; 在nginx-1.18.0目录下启动命令行start nginx.exe&#xff1b; 2. 基于session实现登录的流程 这里利用到Javaweb中…

脚踩Midjourney、Stable Diffusion,谷歌StyleDrop真要杀疯了!

脚踩Midjourney、Stable Diffusion&#xff0c;谷歌StyleDrop真要杀疯了 导语StyleDrop组件MuseMuse架构Muse图像生成实现流程 适配器微调Adapter TuningMuse中的Adapter Tuning 反馈迭代训练 最近&#xff0c;谷歌发布了一款引人瞩目的AI绘画工具——StyleDrop。这个工具通过学…

ZYNQ - 以太网远程更新贴片SD卡应用程序【SD NAND应用】

写在前面 对于ZYNQ系列的板卡固化&#xff0c;可以通过JTAG接口&#xff0c;使用SDK固化到FLASH中&#xff0c;或者可将SD卡取出将SD卡中保存的固化工程进行修改&#xff0c;但在很多情况下&#xff0c;离线更新会很不方便&#xff0c;本文借鉴网上常见的远程更新QSPI FLASH的…

解析Java异常机制:捕获编程中的错误,保障代码稳定性

工作中&#xff0c;程序遇到的情况不可能完美。比如&#xff1a;程序要打开某个文件&#xff0c;这个文件可能不存在或者文件格式不对&#xff1b;程序在运行着&#xff0c;但是内存或硬盘可能满了等等。 软件程序在运行过程中&#xff0c;非常可能遇到刚刚提到的这些问题&…

java OpenCSV自定义列标题和列位置

背景:最近使用csv进行数据导出&#xff0c;提高导出性能 问题&#xff1a;CsvBindByName和CsvBindByPosition不能同时用&#xff0c;要么是没标题要么是不是指定的排序规则 实现思路&#xff1a; 自定义排序规则&#xff0c;HeaderNameBaseMappingStrategy的writeOrder 属性可…

C++基于jrtp实现rtp发送与接收代码实现(附源码)

C++常用功能源码系列 文章目录 C++常用功能源码系列前言一、jrtp是什么二、rtp sender源码三、rtp receive源码总结前言 本文是C/C++常用功能代码封装专栏的导航贴。部分来源于实战项目中的部分功能提炼,希望能够达到你在自己的项目中拿来就用的效果,这样更好的服务于工作实…

Mininet拓扑构建与命令使用

实验目的&#xff1a; 1、通过命令模拟创建SDN网络。 2、深入了解Mininet的命令使用。 3、学会使用网络构建启动参数、内部交互命令及外部运行参数。 实验环境&#xff1a; 设备名称软件环境硬件环境主机Mininet_2.2.0_desktop_cv1.1CPU&#xff1a;1核 内存&#xff1a;2G 磁…

【MySQL数据库】MySQL数据库管理

MySQL数据库管理 一、数据库简述1.1简介1.2数据库基本概念1.3数据库的发展史1.3主流的数据库介绍1.4数据库的类型1.4.1关系型数据库特点1.4.2非关系型数据库介绍 1.5SQL语言分类 二、数据库基础应用2.1查看数据库2.2创建新的库、表2.3删除库、表2.4管理表中的数据记录2.4.1插入…