BZOJ2456: mode(众数)

2024-04-16 01:48
文章标签 众数 mode bzoj2456

本文主要是介绍BZOJ2456: mode(众数),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Description
给你一个n个数的数列,其中某个数出现了超过n div 2次即众数,请你找出那个数。

Input
第1行一个正整数n。
第2行n个正整数用空格隔开。

Output
一行一个正整数表示那个众数。

Sample Input
5

3 2 3 1 3

Sample Output
3

HINT
100%的数据,n<=500000,数列中每个数<=maxlongint。

zju2132 The Most Frequent Number

Source
鸣谢 黄祎程

思路:
因为所求ans的出现次数大于一半,其他所有数加起来对sum的贡献都没有ans大,所以就这样了

个人以为还可以用dp的思路解决。
定义 d p [ i ] dp[i] dp[i]为前 i i i个数中出现次数最多的数次数和其他数的差值。当 d p [ i ] dp[i] dp[i]为0的时候说明出现次数为总数的一半,此时可能有两个众数。当 d p [ i ] < 0 dp[i]<0 dp[i]<0的时候,就需要更新众数,并令 d p [ i ] = − d p [ i ] dp[i]=-dp[i] dp[i]=dp[i]

#include <stdio.h>int main()
{int n;scanf("%d",&n);int sum = 0,now = 0,x = 0;while(n--){scanf("%d",&x);if(x == now)sum++;else sum--;if(sum < 0){now = x;sum = -sum;}}printf("%d\n",now);return 0;
}

这篇关于BZOJ2456: mode(众数)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/907503

相关文章

Unstructured cannot write mode RGBA as JPEG 错误解决

Unstructured cannot write mode RGBA as JPEG 错误解决 0. 错误详细1. 解决方法 0. 错误详细 Image Extraction Error: Skipping the failed imageTraceback (most recent call last):File "/root/miniconda3/envs/learn-y

混合模式属性background-blend-mode

background-blend-mode 是 CSS 中的一个属性,它允许你将背景图像与背景颜色或背景图像之间以一种特定的混合模式进行混合。这个属性为网页设计师提供了一种强大的方式来创建视觉上吸引人的背景效果,无需使用图像编辑软件或额外的图像文件。 background-blend-mode 可以应用于单个背景图像与背景颜色之间,或者当设置多个背景图像时,应用于这些图像之间。混合模式包括了许多

【Mysql】系统服务启动访问报错问题处理:this is incompatible with sql_mode=only_full_group_by

一、背景: 本来已经正常运行的平台,突然有一天由于对服务器进行部分操作迁移,发现jar可以正常启动,但是访问功能一直报错,监控后台日志后,发现了问题: 报错的具体信息如下: Caused by: java.sql.SQLSyntaxErrorException: Expression #1 of SELECT list is not in GROUP BY clause and conta

Hugging Face Offline Mode 离线模式

Hugging Face Offline Mode 离线模式 1. 缓存管理2. 遥测日志 在使用 Hugging Face 的库时,缓存和遥测日志是两个重要的功能。本文将介绍如何管理缓存、启用离线模式以及如何关闭遥测日志。 1. 缓存管理 在使用 Hugging Face 模型时,权重和文件通常会从 Hub 下载并存储在默认的缓存目录中,这个目录通常位于用户的主目录。如果

关闭qcom soc系列手机的ramdump mode

在 kernel/msm-3.10 / arch/arm64/configs/ze550kl_user_defconfig中 将CONFIG_MSM_DLOAD_MODE=y改成 #CONFIG_MSM_DLOAD_MODE is not set 然后在/ drivers/power/reset/msm-poweroff.c中将 if (!in_panic) { // Normal re

CUDA-MODE课程笔记 第9课: 归约(也对应PMPP的第10章)

我的课程笔记,欢迎关注:https://github.com/BBuf/how-to-optim-algorithm-in-cuda/tree/master/cuda-mode CUDA-MODE课程笔记 第9课: 归约(也对应PMPP的第10章) 课程笔记 本节课的题目。 这节课的内容主要是 Chapter 10 of PMPP book ,Slides里面还给出了本节课的

初探UML(User-Mode-Linux)

由标题我们已经知道这里要说的UML不是“统一建模语言”,而是“用户模式的Linux”,使用它有什么好处呢?让我们先保留点神秘感,一步一步学习,通过实践来感悟它的魅力。 实验环境:电脑一台(装有Ubuntu13.10系统,Kernel版本为3.11.0-12-generic,64位) 下面将通过UML环境的搭建、GDB调试、网络测试这3个方面来了解下UML: 一.搭建UML实验环境 1.下载

算法day17|如何求普通二叉树的众数

算法day17|如何求普通二叉树的众数 501的变式:普通二叉树的众数 501的变式:普通二叉树的众数 如果把二叉搜索树变成普通二叉树,我们该怎么思考呢?这个时候就要回到我一开始的思路了,用哈希表来解决问题。 class Solution {public:unordered_map<int,int> map;void traversal(TreeNode* root){if(

算法day17|530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先

算法day17|算法day17|530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先 530.二叉搜索树的最小绝对差501.二叉搜索树中的众数236. 二叉树的最近公共祖先 530.二叉搜索树的最小绝对差 中间的逻辑有一点小绕,我第一次也做了20分钟左右才发现问题。具体代码如下: class Solution {public:int Mi

MySQL 主从幂等复制slave_exec_mode=IDEMPOTENT

MySQL slave_exec_mode 参数用于控制主从复制数据冲突时的处理策略,可选值有STRICT和IDEMPOTENT,分别代表严格模式和幂等模式,默认值为STRICT,该参数可动态调整。 原文地址: https://mytecdb.com/blogDetail.php?id=76 STRICT,严格模式IDEMPOTENT,幂等模式 默认STRICT模式下,从库复制过程中