對于map的新應用

題源codeforces1974 problemC

題目大意

定義當兩個三元組A和B中,滿足三元組中有且僅有兩個元素相等,比如
a 1 = b 1 , a 2 = b 2 , a 3 ! = b 3 a_1=b_1,a_2=b_2,a_3!=b_3 a1?=b1?,a2?=b2?,a3?!=b3?
這只是一種情況,三種情況之一

解題思路

暴力。
挨個遍歷這個數組中的所有三元組,把這些三元組中前兩個元素/后兩個元素/兩邊兩個元素,用

map<pair<int,int>,int>

記錄下來,然后如果重復出現,就加上。
去重。
挨個遍歷這個數組中的所有三元組,把這些三元組全部用

map<tuple<int,int,int> ,int>

然后記錄下來所有重復出現的三元組,重復次數也記錄,便于去重。
詳情請看代碼

代碼

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define For for (int i = 1; i <= n; i++)
#define rFor for (int i = n; i > 0; i--)
#define rep(i, sta, end) for (int i = sta; i <= end; i++)
#define rrep(i, end, sta) for (int i = end; i >= sta; i--)
#define ALL(x) for (auto item : x)inline void solve() {int n;cin>>n;vector<int> arr(n+10);For cin>>arr[i];ll ans=0;map<pair<int,int> ,int> count_of_pair;//Iterate over all triples of the entire arrayrep(i,1,n-2)ans+=count_of_pair[{arr[i],arr[i+1]}]++;//cout<<ans<<endl;count_of_pair.clear();rep(i,1,n-2)ans+=count_of_pair[{arr[i+1],arr[i+2]}]++;//cout<<ans<<endl;count_of_pair.clear();rep(i,1,n-2)ans+=count_of_pair[{arr[i],arr[i+2]}]++;//cout<<ans<<endl;count_of_pair.clear();map<tuple<int,int,int>,int> count_of_triple;rep(i,1,n-2){ans-=3*count_of_triple[{arr[i],arr[i+1],arr[i+2]}]++;}//cout<<ans<<endl;cout<<max(ans,0LL)<<endl;//cout<<endl;
}int main() {ios::sync_with_stdio(0);cin.tie(0), cout.tie(0);int num = 1;cin >> num;while (num--) {//cout << "Main function execute properly before solve function " << endl;solve();//	cout << "Main function execute properly after solve function" << endl;}return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/14856.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/14856.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/14856.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java抽象類和接口知識總結

一.抽象類 1.啥是抽象類 用專業語言描述就是&#xff1a;如果一個類中沒有包含足夠的信息來描繪一個具體的對象&#xff0c;這樣的類就是抽象類 當然這話說的也很抽象&#xff0c;所以我們來用人話來解釋一下抽象類 拋開編程語言這些&#xff0c;就以現實舉例&#xff0c;我…

每日練習之排序——鏈表的合并;完全背包—— 兌換零錢

鏈表的合并 題目描述 運行代碼 #include<iostream> #include<algorithm> using namespace std; int main() { int a[31];for(int i 1;i < 30;i)cin>>a[i];sort(a 1,a 1 30);for(int i 1;i < 30;i)cout<<a[i]<<" ";cout&…

Mysql之Innodb存儲引擎

1.Innodb數據存儲 innodb如今能夠做到mysql的默認數據存儲引擎&#xff0c;肯定有著其好處的&#xff0c;那么innodb有什么好處呢? 1. 當意外斷電或者重啟&#xff0c; InnoDB 能夠做到奔潰恢復&#xff0c;撤銷沒有提交的數據 2.InnoDB 存儲引擎維護自己的緩沖池&#xff0c…

UDS(ISO 14229)學習筆記

文章目錄 名詞縮寫Vector視頻筆記$10$27Fault Memory物理尋址和功能尋址UDS服務分類0x19服務0x14DTC汽車控制器(ECU)中DTC的狀態位物理尋址和功能尋址單幀 多幀 首幀 連續幀名詞縮寫 DTC Diagnostic Trouble Code FTB Fault Type Byte SID Service Identifier SF Subfunctio…

DML(Data Manipulation Language)數據操作語言

一、增加 insert into -- 寫全所有列名 insert into 表名(列名1,列名2,...列名n) values(值1,值2,...值n);-- 不寫列名&#xff08;所有列全部添加&#xff09; insert into 表名 values(值1,值2,...值n);-- 插入部分數據 insert into 表名(列名1,列名2) values(值1,值2); 舉…

醫院掛號就診系統的設計與實現

前端使用Vue.js 后端使用SpiringBoot MyBatis 數據使用MySQL 需要項目和論文加企鵝&#xff1a;2583550535 醫院掛號就診系統的設計與實現_嗶哩嗶哩_bilibili 隨著社會的發展&#xff0c;醫療資源分布不均&#xff0c;患者就診難、排隊時間長等問題日益突出&#xff0c;傳統的…

軟考備考三

操作系統 操作系統概述 功能&#xff1a;組織和管理軟件&#xff0c;硬件資源以及計算機系統中的工作流程&#xff0c;控制程序的執行&#xff0c;向用戶提供接口。 分類&#xff1a; 1.批處理操作系統 單道批 多道批&#xff08;宏觀上并行&#xff0c;微觀上串行&#xff09…

Hadoop3:HDFS的Fsimage和Edits文件介紹

一、概念 Fsimage文件&#xff1a;HDFS文件系統元數據的一個永久性的檢查點&#xff0c;其中包含HDFS文件系統的所有目 錄和文件inode的序列化信息。 Edits文件&#xff1a;存放HDFS文件系統的所有更新操作的路徑&#xff0c;文件系統客戶端執行的所有寫操作首先 會被記錄到Ed…

K8s 身份認證和權限

文章目錄 K8s 身份認證和權限認證Service AccountsService Account Admission ControllerToken ControllerService Account Controller 授權(RBAC)RoleClusterRoleRoleBindingClusterRoleBinding K8s 身份認證和權限 Kubernetes 中提供了良好的多租戶認證管理機制&#xff0c;…

二叉樹的鏈式結構

1.二叉樹的遍歷 2.二叉樹鏈式結構的實現 3.解決單值二叉樹題 1.二叉樹的遍歷 1.1前序&#xff0c;中序以及后序遍歷 二叉樹的遍歷是按照某種特定的規則&#xff0c;依次對二叉樹的結點進行相應的操作&#xff0c;并且每個結點只操作一次。 二叉樹的遍歷有這些規則&#xff…

主流電商平臺商品實時數據采集API接口||抖音電商數據分析實例|可視化

— 1 — 抖音電商數據【抖音電商API數據采集】分析場景 1. 這里&#xff0c;我們選擇“伊利”這個品牌作為案例進行分析&#xff0c;在短短的4個月里&#xff0c;從最初每月營收17.07萬&#xff0c;到6月份達到了2485.54 萬&#xff0c;伊利的牛奶&#xff0c;有點牛&#xff…

Spring 對 Junit4,Junit5 的支持上的運用

1. Spring 對 Junit4,Junit5 的支持上的運用 文章目錄 1. Spring 對 Junit4,Junit5 的支持上的運用每博一文案2. Spring對Junit4 的支持3. Spring對Junit5的支持4. 總結&#xff1a;5. 最后&#xff1a; 每博一文案 關于理想主義&#xff0c;在知乎上看到一句話&#xff1a;“…

在Windows下訪問WSL(Windows Subsystem for Linux)文件夾

在Windows下訪問WSL&#xff08;Windows Subsystem for Linux&#xff09;文件夾&#xff0c;可以按照以下步驟操作&#xff1a; 通過Windows文件資源管理器訪問&#xff1a; 打開文件資源管理器。在地址欄中輸入\\wsl$&#xff0c;然后按回車鍵。這將打開一個顯示WSL可用發行版…

kafka配置消費者重要參數

文章目錄 fetch.min.bytesfetch.max.wait.msfetch.max.bytesmax.poll.recordsmax.partition.fetch.bytessession.timeout.ms和heartbeat.interval.msmax.poll.interval.msrequest.timeout.msauto.offset.resetenable.auto.commitpartition.assignment.strategy區間(range)輪詢(…

Xline社區會議Call Up|在 CURP 算法中實現聯合共識的安全性

為了更全面地向大家介紹Xline的進展&#xff0c;同時促進Xline社區的發展&#xff0c;我們將于2024年5月31日北京時間11:00 p.m.召開Xline社區會議。 歡迎您屆時登陸zoom觀看直播&#xff0c;或點擊“閱讀原文”鏈接加入會議&#xff1a; 會議號: 832 1086 6737 密碼: 41125…

通過cmd命令行使用用3dmax自帶的vray渲染

有時調試需要使用vray渲染vrscene文件看效果&#xff0c;只裝有3dmax下可以使用自帶vray渲染&#xff0c;在3dmax的渲染日志里面看自帶引擎路徑 使用命令行進入到此目錄 執行命令指定vr文件即可看到效果&#xff0c;如&#xff1a;vray.exe -sceneFile“C:\test15\202405241…

pip安裝報錯解決之后,手動安裝太麻煩,怎么辦

在使用pip install package_name安裝公共庫的時候,經常會報錯: Microsoft Windows [版本 6.1.7601] 版權所有 (c) 2009 Microsoft Corporation。保留所有權利。C:\Users\Administrator>pip install hatch WARNING: Ignoring invalid distribution -ip (d:\soft\python\py…

記一次成功的性能調優

環境&#xff1a;mysql8&#xff0c;表A大小10G&#xff0c;dbeaver24.0.5 現象&#xff1a;查詢頁面加載數據慢 操作&#xff1a; 第一步&#xff1a;新建sql編輯器&#xff0c;把sql貼到編輯器&#xff0c;帶參數&#xff1b; 第二步&#xff1a;在sql前加explain空一個并…

Cesium與Three相機同步(2)

之前實現了將Three相機同步到Cesium相機Cesium與Three相機同步(1)-CSDN博客 現在是將Cesium相機同步到Three相機,從而實現了相機雙向同步。 <!DOCTYPE html> <html lang="en"><head><title>three.js webgl - orbit controls</title&g…

【教學類-58-03】黑白三角拼圖03(4*4宮格)總數算不出+隨機抽取10張

背景需求&#xff1a; 【教學類-58-01】黑白三角拼圖01&#xff08;2*2宮格&#xff09;256種-CSDN博客文章瀏覽閱讀318次&#xff0c;點贊10次&#xff0c;收藏12次。【教學類-58-01】黑白三角拼圖01&#xff08;2*2宮格&#xff09;256種https://blog.csdn.net/reasonsummer/…