ARC 103
官方题解
C
这道题教会了我怎样正确统计众数和第二众数...........
我之前的方法是错的
#include <bits/stdc++.h>
using namespace std;
#define rep(i, _st, _ed) for(register int i = (_st); i <= (_ed); i++)
int n, buc[2][100009];
int main() {
// freopen("top2_3.txt", "r", stdin);
cin >> n;
rep(i, 1, n) {
int tmp; cin >> tmp;
buc[i%2][tmp]++;
}
int mx[2][2], num[2]; memset(mx, 0, sizeof mx); memset(num, 0, sizeof num);
rep(j, 0, 1) rep(i, 0, 100000){
if(mx[j][0] < buc[j][i]) {
mx[j][1] = mx[j][0];
mx[j][0] = buc[j][i];
num[j] = i;
} else if(mx[j][1] < buc[j][i]){
mx[j][1] = buc[j][i];
}
}
/*
error:
if(mx[j][0] <= buc[j][i]) {
mx[j][1] = mx[j][0];
mx[j][0] = buc[j][i];
num[j] = i;
}
因为只有当更新最大值时, 才会更新次大值...
其实应该单独考虑
hack:
155 166 159
这样这个bug程序会得到mx1 = 166, mx2 = 155的错误结果
*/
int chg = 0;
if(num[0] != num[1]) chg = mx[0][0] + mx[1][0];
else {
chg = max(mx[0][0] + mx[1][1] , mx[1][0] + mx[0][1]);
}
// printf("%d %d\n %d %d\n", mx[0][0], mx[0][1], mx[1][0], mx[1][1]);
cout << n-chg <<endl;
}
ARC 103的更多相关文章
- 【AtCoder】 ARC 103
link C-//// 直接算会出现奇偶两组选了同一个数,注意处理一下就行 #include<bits/stdc++.h> #define ll long long #define dbg ...
- RMAN异机恢复遭遇ORA-01547、ORA-01152、ORA-01110错误案例
测试环境: 操作系统 : Red Hat Enterprise Linux ES release 4 (Nahant Update 4) VMWARE 数据库 : O ...
- AtCoder | ARC103 | 瞎讲报告
目录 ARC 103 A.//// B.Robot Arms C.Tr/ee D.Distance Sums ARC 103 窝是传送门QwQ A.//// 题意 : 给你\(n\)(\(n\)为偶数 ...
- block使用小结、在arc中使用block、如何防止循环引用
引言 使用block已经有一段时间了,感觉自己了解的还行,但是几天前看到CocoaChina上一个关于block的小测试主题: [小测试]你真的知道blocks在Objective-C中是怎么工作的吗 ...
- ORA-16038: log 3 sequence# 103 cannot be archived
[size=large]今天在自己机器做了个实验,插入10万条,由于空间少,重启数据库时出现: [size=x-large]SQL> startup ORACLE instance starte ...
- Convert BSpline Curve to Arc Spline in OpenCASCADE
Convert BSpline Curve to Arc Spline in OpenCASCADE eryar@163.com Abstract. The paper based on OpenCA ...
- Entity Framework 6 Recipes 2nd Edition(10-3)译 -> 返回结果是一个标量值
10-3. 返回结果是一个标量值 问题 想取得存储过程返回的一个标量值. 解决方案 假设我们有如Figure 10-2所示的ATM机和ATM机取款记录的模型 Figure 10-2. 一个ATM机和A ...
- 黑马程序员——ARC机制总结和用ARC建立模型
ARC 全称:Automatic Reference Counting 使用ARC 只需要在建立一个新的项目的时候把 下面的√打上 Xcode5以后都会默认建议开发者使用ARC机制 新的项目中如果有部 ...
- JSONKit在项目中使用设置(ARC与方法更新)
在项目中经常会遇到解析json的情况,如果有同学想要解析JSON,那么JSONKit可以是一个不错的选择. git中JSONKit 的地址为:https://github.com/johnezang/ ...
随机推荐
- 转:centos 7 安装音频视频解码器
(原文:https://blog.csdn.net/zhou1519/article/details/39035233/) 1.安装额外的软件源epel和nux-dextop rpm -Uvh htt ...
- 更换gcc工具链
title: 更换gcc工具链 date: 2019/1/16 19:27:51 toc: true --- 更换gcc工具链 下载后解压到一个临时目录先看看文件结构 mkdir tmp tar xj ...
- go 闭包程序解读
package main import "fmt" // 下面这函数就是闭包函数(就是返回一个匿名函数的地址的函数,其中要1.定义一个需要保护的局部变量i 2.一个匿名的函数) , ...
- Kubernetes之存储
存储卷概述 容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要应用时会出现一些问题.首先,当容器崩溃时,kubelet 会重启它,但是容器中的文件将丢失——容器以干净的状态(镜像最初的状态) ...
- BOM:浏览器对象模型之浏览器剖析入门
BOM简介 BOM与DOM的关系 BOM对象包含的内容 重新认识浏览器 一.分裂的BOM和被收服的DOM BOM定义:是browser object model的缩写,简称浏览器对象模型. 主要处理浏 ...
- DirectX11 With Windows SDK--06 DirectXMath数学库
前言 xnamath.h原本是位于DirectX SDK的一个数学库,但是现在Windows SDK包含的数学库已经抛弃掉原来的xnamath.h,并演变成了现在的DirectXMath.h.其实本质 ...
- DQL用户、权限管理(mysql8.0)
DQL用户.权限管理(mysql8.0) 查看所有的用户: use mysql; -- 使用mysql数据库 select * from user; -- 查询user表中的全部信息,也就是用户 创建 ...
- 【转载】c++类的实例化与拷贝
https://www.cnblogs.com/chris-cp/p/3578976.html c++的默认拷贝构造函数,从深度拷贝和浅拷贝说起: https://blog.csdn.net/qq_2 ...
- table 表格固定表头和第一列、内容可滚动
整理了下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" c ...
- [Luogu P3295][SCOI 2016]萌萌哒
先说下暴力做法,如果[l1,r1]和[l2,r2]子串相等等价于两个区间内每个数对应相等.那么可以用并查集暴力维护,把对应相等的数的位置维护到同一个集合里去,最后答案其实就是把每个集合可以放的数个数乘 ...