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/ ...
随机推荐
- python学习day14 装饰器(二)&模块
装饰器(二)&模块 #普通装饰器基本格式 def wrapper(func): def inner(): pass return func() return inner def func(): ...
- Codeforces Gym 101252D&&floyd判圈算法学习笔记
一句话题意:x0=1,xi+1=(Axi+xi%B)%C,如果x序列中存在最早的两个相同的元素,输出第二次出现的位置,若在2e7内无解则输出-1. 题解:都不到100天就AFO了才来学这floyd判圈 ...
- mongodb中比较级查询条件:($lt $lte $gt $gte)(大于、小于)、查找条件
查询表中学生年级大于20,如下: db.getCollection('student').find({'age':{'$gt':'20'}}) $lt < (less than ) ...
- GroupBox、TextBox、CheckBox、ToolStrip、RichTextBox、Timer控件
GroupBox:划分窗体区域,内部可以拖放组件 TextBox:可编辑文本框,也可设置为只读 属性:ReadOnly(只读).PasswordChar(密码显示的符号,如*).Multiline(多 ...
- sea.js简单使用教程
sea.js简单使用教程 下载sea.js, 并引入 官网: http://seajs.org/ github : https://github.com/seajs/seajs 将sea.js导入项目 ...
- mongodb3.6集群搭建:分片+副本集
mongodb是最常用的noSql数据库,在数据库排名中已经上升到了前五.这篇文章介绍如何搭建高可用的mongodb(分片+副本)集群. 在搭建集群之前,需要首先了解几个概念:路由,分片.副本集.配置 ...
- 库增删该查,表增删该查,记录增删该查,表与表关系(多对多,多对一,一对一),mysql用户管理
库增删该查 增加库 create database db1 create database db1 charset="gbk 查看库 show databases 查看所有库 show cr ...
- 学习WPF
http://www.cnblogs.com/prism/archive/2010/07/21/1781855.html 如何在WPF中画三角,以及把按钮设置成颜色渐变的样式:
- postfix - SPF 防发件人欺骗
安装 perl 依赖: yum install perl-Mail-SPF perl-Sys-Hostname-Long 下载 SPF 插件工具: wget https://launchpad.net ...
- TED学习笔记
20180621(如何做得更好) 多一些探索,询问,聆听,奋斗,成就自己,比一味的做事儿有效的多. 1.刻意让自己的生活在两个区域交替:(1)学习区Learning Zero (2)执行区Perfor ...