codeforce 939E 差分+二分/三分

PyTorch+C3D实战:用UCF101数据集训练你的第一个视频动作识别模型(附完整代码) 本文详细介绍了如何使用PyTorch和C3D模型在UCF101数据集上构建视频动作识别系统。从环境配置、数据预处理到模型训练与优化,提供了完整的代码实战指南,帮助开发者快速掌握视频行为识别技术。文章特别强调了3D卷积核设计、混合精度训练等关键技术要点,并分享了模型部署优化经验。 阅读详情

传送门:http://codeforces.com/problemset/problem/939/E

题意:

有两种操作:

(1)在集合S中插入一个元素

(2)输出最大的 Max(s)−mean(s) M a x ( s ) − m e a n ( s ) ——其中s是集合的子集,Max(s)表示s中最大的元素,mean(s)表示s的平均值

(3) 输入保证插入的元素比原集合中的所有元素都要大

分析:

(1)有一个前提条件:所选的最优的集合s必然包含集合S中最大的元素,其他元素必然是S的一个前缀

(2)函数 Max(s)−mean(s) M a x ( s ) − m e a n ( s ) 有极值

(3)对于有极值的函数考虑用二分或者三分的思路求解

题解(二分思路):

设

mi=an−an+∑i−1j=0aji+1 m i = a n − a n + ∑ j = 0 i − 1 a j i + 1

得 mi+1−mi m i + 1 − m i = an+∑i−1j=0aj−ai(i+1) a n + ∑ j = 0 i − 1 a j − a i ( i + 1 ) (此处去除了分母,因为分母对于函数的正负号没有影响,而二分过程只与函数的正负号有关,故可以去除分母)

设 f(i)=mi+1−mi f ( i ) = m i + 1 − m i

可以用前一项减去后一项来证明证明 f(i) f ( i ) 是非递减的

二分找到最小的 i i 使得 f(i)<=0 时 Max(s)−mean(s) M a x ( s ) − m e a n ( s ) 取得最大值

代码:

#include <iostream>
#include <bits/stdc++.h>
using namespace std;

long long sum[500005];
long long a[500005];
int main()
{
    int q;
    cin>>q;
    int cnt=0;
    memset(a,0,sizeof a);
    memset(sum,0,sizeof sum);
    double ans=0;
    while(q--)
    {
        int op;
        cin>>op;
        if(op==1)
        {
            cin>>a[cnt];
            int l=0,r=cnt;
            if(cnt>=1)
                sum[cnt]=sum[cnt-1]+a[cnt];
            else
                sum[cnt]=a[cnt];
            while(l<r)
            {
                int mid=(l+r)/2;
                long long fi;
                if(mid!=0)
                    fi=a[cnt]+sum[mid-1]-a[mid]*(mid+1);
                else
                    fi=a[cnt]-a[mid]*(mid+1);
                if(fi<=0) r=mid;
                else l=mid+1;
            }
            double avg=1.0*(sum[r-1]+a[cnt])/(r+1);
            double tmp=a[cnt]-avg;
            ans=max(ans,tmp);
            cnt++;
        }else{
            printf("%.10f\n",ans);
        }
    }
    return 0;
}

三分思路:不做差分,直接找函数的最大值,网上的题解大多为三分,故不做详细分析

如何用Python实现SPEI指数计算?从数据准备到结果可视化完整指南 本文提供了一份完整的Python实现SPEI指数计算指南,涵盖从数据准备、潜在蒸散量计算到结果可视化的全流程。详细介绍了使用Thornthwaite方法计算PET、拟合三参数log-logistic分布以及标准化转换的核心算法,并提供了模块化代码和可视化方案,帮助用户构建可复用的干旱分析工具。 阅读详情

相关推荐

微信DAT图片恢复全攻略:从文件定位到批量解密(附最新路径变化)

本文提供了一份详尽的微信DAT图片恢复指南,涵盖新旧版本文件路径变化解析、DAT文件定位方法以及批量解密操作步骤。针对微信图片加密存储为DAT格式的痛点,文章介绍了高效易用的图形化解密工具,帮助用户将加密文件快速还原为JPG、PNG等可查看格式,并强调了数据安全与隐私保护的重要性。

p4q5r6s7t的博客 744

CF 939E-Maximize! (三分法)

题目链接 http://codeforces.com/problemset/problem/939/E 题意简述 现在有一个数列,一开始为空,有两种操作。 1.加入一个数,保证这个数比之前的数都要大 2.在这个数列中选择一个子集S,是的S中的最大元素减掉S的平均值最大,输出这个最大值 做法 首先,每次加入一个数,有两种可能,一种是最大值不变,第二种是以当前加入的这个数为最大值...

Michael_Li的博客 368

CSRT跟踪算法的使用

Fu Xianjun. All Rights Reserved. 文章目录 前言 一、CSRT跟踪算法是什么? 二、使用步骤 1.引入库 2.读入数据 总结 前言 随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、CSRT跟踪算法是什么? 在具有通道和空间可靠性的判别相关滤波器(DCF-CSR)中,我们使用空间可靠性图将滤波器支持调整为从帧中选择区.

sinat_53821602的博客 7906

codeforces 939E (三分)

题意:1 、往集合里面加一个数,这个数比集合里所有元素都大 2、取一个子集使得 (子集中最大数MAX - 子集所有数的平均值) 最大 题解:emm不太会,看题解才发现是个凹性函数,可以用三分求解。 因为加入的数一定是最大数,贪心的想一定取这个数+一些较小的数 而三分的特点是尽量取较小的数,写一写可以发现是个三分 还有看到一个坑是(当三分查找的元素只剩两个时,不管大小,他只会默认左...

yxmGo 440

智能车竞赛走马观碑组:如何高效识别目标板并优化绕行策略(附实战代码)

本文深入探讨了智能车竞赛走马观碑组中,如何构建从图像识别到路径决策的全栈优化方案。针对目标板识别与绕行策略的核心难点,文章详细解析了基于MobileNetV2的高效识别流水线、结合预瞄点与纯追踪算法的平滑路径规划,以及横向与纵向协同控制策略,并提供了实战代码与调试指南,旨在全面提升小车的比赛表现。

o5p6q的博客 884

数据中心GPU芯片性能参数速查表(Nvidia+国产算力卡)

本文提供了一份数据中心GPU芯片性能参数速查表,涵盖Nvidia与国产算力卡两大阵营。文章详细解读了算力、显存、互连技术及功耗等关键性能指标,并对比了A100、H100、昇腾910B等主流型号,旨在帮助用户根据AI训练、推理等实际场景,做出高效的硬件选型与成本评估决策。

a0b1c2d3的专栏 837

CodeForces - 939E Maximize!

Maximize! 题 意:给你q个询问,两种操作,1.每次往容器里面加入一个x,保证x一定大于容器里面所有的数。2.输出容器里面的一个子集,求最大的子集的MAX - avg最大。 数据范围: 1&lt;=q&lt;=5e5 1&lt;=x&lt;=1e9 输入样例: 6 1 3 2 1 4 2 1 8 2 输出样例: 0.0000000000 0.50000000...

子灬丶逾 219

09、Flutter FFI Dart Native API

本文介绍了 Dart Native API 的基本用法,解决了 Dart 与 C 异步通讯的问题

eieihihi的专栏 4400

codeforces 差分 Extreme Subtraction

codeforces 差分数组

m0_62031207的博客 339

【机电杂谈2】BLDC和PMSM的特点和区别

在日常生活中,小到电动玩具,大到电动汽车,永磁电机的身影可以说是无处不在。有刷直流电机、无刷直流电机、永磁同步电机由于其结构和输出特定的不同也被应用到不同的场合。如果你经常拆一些玩具和家电,就会看到大量的有刷直流电机和无刷直流电机,而永磁同步电机主要应用在高精度的工业伺服和电动汽车领域。本文就从电机的结构和控制方面,对这几种常见的永磁电机做简单的梳理和归纳。

2937

JavaSwing_4.2: JDialog、JOptionPane(对话框)

JDialog,对话框。使用 JDialog 类可以创建自定义有的对话框,或者调用 JOptionPane 中的多个静态方法快速创建各种标准的对话框。JOptionPane是 JavaSwing 内部已实现好的,以静态方法的形式提供调用,能够快速方便的弹出要求用户提供值或向其发出通知的标准对话框。

谢TS的博客 7万+

codeforces 939E. Maximize!(二分答案)

传送门 二分答案好题。 题意简述:要求支持动态在一个数列队尾加入一个新的数(保证数列单增),查询所有子数列的 最大值减平均值 的最大值。 然而网上一堆高人是用三分做的。 我们先考虑当前的答案有可能由什么构成。 加入最后一个数之前的最大值。 加入最后一个数之后,以最后一个数为最大值的值。 于是问题变成了去求min{(∑j=1iai)+ani+1}min\{\frac{(\sum_{j=1}^i...

苟为蒟蒻又何妨 262

IMX6ULL---从零开始移植uboot-imx

IMX6ULL---从零开始移植uboot-imx

weixin_42162924的博客 1029

Codeforces 939E - Maximize!

传送门:http://codeforces.com/contest/939/problem/E 本题是一个序列上的问题。 一个序列S,初始时为空。依次给出Q个指令: ①将元素x加入S,保证x≥max(S); ②查询:max{max(T)-avg(T)|T⊆S}。 设在某一次查询时,S={ai|i=1,2,...,n},则a1≤a2≤...≤an。 定义$sum(k)=\sum_{i=1...

weixin_30591551的博客 139

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Codeforces 939E - Maximize! 三分

http://codeforces.com/problemset/problem/939/E 题目: E. Maximize! time limit per test 3 seconds memory limit per test 256 megabytes input standard input output standard output You are given a...

sun_hongjia的博客 763

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

CodeForces 939E Maximize! 三分

题意:    有一个空的数列现在有两种操作1.向空的数列添加一个大于数列尾元素的数放在数列的尾部2.询问最大 子序列的(最大值-该子序列的平均值)的最大值(子序列不必连续)分析:    通过分析我们可以知道一定要包含最大值,其他值选择的时候也是从小一个个的去选择。选择让平均值尽可能的小。。这个时候我们分析出来就是一个凸形曲线。。对于凸形曲线用三分。。。#include&lt;bits/stdc++...

努力打工 336

codeforces939e(三分)

E. Maximize! time limit per test 3 seconds memory limit per test 256 megabytes input standard input output standard output You are given a multiset S consisting of posit

yypurpose的博客 328

Codeforces 939E Maximize! (三分查找)

E. Maximize! time limit per test 3 seconds memory limit per test 256 megabytes input standard input output standard output You are given a multiset S consisting of posit

咸鱼有梦想 1152

Maximize! CodeForces - 939E(三分,尺取)

You are given a multiset S consisting of positive integers (initially empty). There are two kind of queries: Add a positive integer to S, the newly added integer is not less than any number in it. Fin...

tomjobs的博客 709

CodeForces - 939E Maximize! [尺取法]

CodeForces - 939E Maximize! [尺取法]

ACTerminate的博客 662

codeforce 939 E. Maximize!(贪心)

E. Maximize!time limit per test3 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given a multiset S consisting of positive integers (initially empty). There ar...

gyr 383

牛客练习赛76 F phi and phi 和 codeforces 1200 D. White Lines (差分数组)

这道题推算式好说,有意思的是一个差分处理比较巧妙。 上面的东西写出来之后,按着他写代码就很容易了。 cf 1200 D 二维差分(待写)

weixin_45608039的博客 183

Codeforces 939E Maximize! 尺取法/贪心

E. Maximize!time limit per test3 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given a multiset S consisting of positive integers (initially empty). There ar...

J. Cole 442

Codeforces 44C Holidays(差分)

Codeforces 44C Holidays 题目: School holidays come in Berland. The holidays are going to continue for n n n days. The students of school № N N N are having the time of their lives and the IT teacher Marina Sergeyevna, who has spent all the summer busy checki

hhyer的博客 522

【 Special Permutations】(codeforce1234E)(数学+差分数组)

题目: Let's definepi(n)pi(n)as the following permutation:[i,1,2,…,i−1,i+1,…,n][i,1,2,…,i−1,i+1,…,n]. This means that theii-th permutation isalmost identity(i.e. which maps every element to itself)...

哇哈哈哈的博客 609

codeforce div2 C 树状数组

http://codeforces.com/contest/362 题目大意:给你一个序列,用冒泡排序法让他变为非递减的序列最少需要几次。在冒泡交换之间,你有一个swap操作,该swap操作是交换任意两个数组元素的位置,问在该操作后,所再需要的冒泡交换次数是多少,并输出方案数 思路:树状数组维护一下区间序列,知道该区间内比他大的有几个就行了。然后暴力。 //看看会不会爆int!...

weixin_33717298的博客 144

Codeforces 939E(三分)

E. Maximize!time limit per test3 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given a multiset S consisting of positive integers (initially empty). There ar...

qq_36876305的博客 440
上一篇: codeforce 940D 思维题
下一篇: My Andoid Tool 微信禁用方案记录
_Overflow
博客等级 码龄13年 3粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值