F. Equalize the Array【学习进度条2】
F. Equalize the Array
Tag:#map #思维
参考:F. Equalize the Array (map、思维)
因为只是用上一次结果的次数和个数,所以不需要每个次数都遍历,即达到了节省时间,提高效率,时间复杂度由O(n^2)降到O(n)。
【供粘贴代码】
#include<iostream>
#include<map>
using namespace std;int main(){int t; scanf("%d",&t);while(t--){int n;scanf("%d",&n);map<int,int,greater<int>> map1,map2;//按从大到小排列的mapint a[n];for(int i=0;i<n;i++){scanf("%d",&a[i]);map1[a[i]]++;}for(map<int,int>::iterator it=map1.begin();it!=map1.end();it++){//first为a[i]数值 second为a[i]的次数map2[it->second]++;//x:y }int sum=map2.begin()->first*map2.begin()->second;//从最大次数开始 剩余总数就是其本身个数 x*yint res=sum;map<int,int>::iterator prei=map2.begin();//prei指针记录上一个次数以及个数 for(map<int,int>::iterator i=++map2.begin();i!=map2.end();i++){//first为次数 second为个数sum-=(prei->first - i->first)*prei->second;//前面的先减去sum+=i->first*i->second;//加上本次数的i->second += prei->second;//例:统计总的3次的个数//为原本四次的减去一次后再加上原本就3次的 prei = i;//cout<<"sum:"<<sum<<endl;if(sum > res) res=sum; }cout<<n - res<<endl; }return 0;
}
F. Equalize the Array【学习进度条2】相关推荐
- 学习进度条(第一周)
学习进度条: 第一周 所花时间(包括上课) 5h 代码量(行) 150 博客量(篇) 2 了解到的知识点 这种主要是对上学期web知识的一个回顾,进行了第一次开学测验,了解了实发项目的开环情况. ...
- 学习进度条(第十五周)
学习进度条(第十五周) 所用时间:15小时左右 代码量:185行 博客量:3篇 收获知识:阅读<梦断代码>体会程序员的精彩经历,学会如何项目总结. 转载于:https://www.cnbl ...
- 焦旭超 201771010109《面向对象程序设计课程学习进度条》
...
- 发布 学习进度条 博客要求
学习进度条博客 (总分:10分) 1. 目的 通过每周补充完善进度条,记录你自己学习<软件工程>的历程.收获: 通过学习进度条来跟踪自己的学习状况. 2. 学习进度条撰写要求 标题:学习进 ...
- matlab 显示程序进度条,matlab学习---------------进度条waitbar
语法: h = waitbar(x,'message') waitbar(x,'message','CreateCancelBtn','button_callback') waitbar(x,'mes ...
- 十一月第三周学习进度条
学习时间:30h 代码量:500行 学习内容:web的一些知识,html5和css的一些简单界面美化还有js的入门,编写了几个简单的页面. 转载于:https://www.cnblogs.com/xi ...
- 201771010101 白玛次仁 《2018面向对象程序设计(Java)课程学习进度条》
周次 (阅读/编写)代码行数 发布博客量/评论他人博客数量 课余学习时间(小时) 学习收获最大的程序阅读或编程任务 第一周 20~40 1/0 1 九九乘法表 第二周 40~50 2/0 2 实验一, ...
- 《2018面向对象程序设计(java)课程学习进度条》
学习收获最大的程序阅读或编程任务 课堂/课余学习时间(小时) 发布博客/评论他人博客数量 (阅读/编写)代码行数 周次 九九乘法表 ...
- 《面向对象程序设计课程学习进度条》
周次 (阅读/编写)代码行数 发布博客量/评论他人博客数量 课余学习时间(小时) 学习收获最大的程序阅读或编程任务 第一周 100/40 1/0 4 实验4.6 第二周 200/50 1/0 4 实验 ...
最新文章
- winform分页案例简单实现方式~
- 技术前沿资讯-Apache Flink 1.14 新特性介绍
- Mysql闪回工具之binlog2sql的原理及其使用
- linux命令行大全 笔记,《Linux命令行大全》读书笔记
- macos支持exfat吗_在Windows上使用VMware Workstation虚拟机安装macOS
- vue 地图使用navigator_weex踩坑之旅第五弹 ~ 使用navigator内置模块实现导航
- mysql查看防火墙状态命令,centos 7中firewall防火墙的常用命令总结
- .NET 4.0 使用 asyn await
- python 爬取热搜网教程 (上)
- 第二章 Maxwell 安装部署
- 微信卡券开发HelloWord
- 如何使静态图片做成动态效果?怎么让静态图片动起来
- 在linux运行php文件
- 对DSP的基本了解(二)--DSP的软硬件环境
- 第九周项目四----广义表算法库及应用1
- 淘宝SEO优化提高流量的绝密办法
- 兼容QQ浏览器,UC浏览器滚动到底部
- Unity(游戏)中五种数据存储的方法
- Internet Download Manager浏览器插件安装方法
- k8s部署kong+konga+pgs
热门文章
- 斑马打印机(zebraZT410R-203dpi)打印RFID标签流程
- 使用torchvision时报错:ModuleNotFoundError: No module named ‘six‘
- OLED显示字符的大小与PCtoLCD2002生成字模
- logcat查询日志
- 如何使用VLOOKUP在Google表格中查找数据
- 梦想照进现实|CSDN 实体奖牌 第二期
- 如何修改Windows10系统文本背景色
- windows DNS缓存查看与清理
- 一文掌握Tableau制作透视表/数据表
- Domino版本、维护版本和补丁程序概念