poj 1990 MooFest(树状数组)

Pylon SDK C语言多相机采集的注意事项、关键设置及代码示例 前言 与单相机直接用句柄PYLON_DEVICE_HANDLE hdev进行操作所不同的是,在多相机连接采用索引值访问每个相机,对应句柄为PYLON_DEVICE_HANDLE hdev[deviceIndex] 。若连接N个相机设备,则索引值范围为[0,...,N-1]。显而易见,采用循环结构编程可以对多个相机采用同样的操作,包括参数设置、图像采集等。但多个相机的使用需要根据相机功能、相机与主机间的连接方式、网络适配器进行额外的设置。本文参考Pylon C开发者手册和Basler产品文档,对GigE类型 阅读详情

题意:N头奶牛每头耳背程度v,坐标x。两牛交流需要音量为distance * max(v(i),v(j)),求

所有牛两两交流所需总和?


思路:对耳背进行升序,一头一头的加入牛,这样加入每一头的时候,这头牛的耳背程度

肯定是最大的。开两个树状数组,分别记录距离和牛数量。

每次分别查询左右两边的牛数量和距离和。


代码:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long long ll;
const int maxn = 2*1e5+5;
ll tree_dis[maxn], tree_num[maxn];
struct node
{
    ll d, v;
    bool operator < (const node &a) const
    {
        return v < a.v;
    }
}a[maxn];

int lowbit(int x) { return x&(-x); }

ll query(ll *tree, ll pos)
{
    ll sum = 0;
    while(pos)
    {
        sum += tree[pos];
        pos -= lowbit(pos);
    }
    return sum;
}

void update(ll *tree, ll pos, ll val)
{
    while(pos < maxn)
    {
        tree[pos] += val;
        pos += lowbit(pos);
    }
}

ll sum(ll *tree, ll from, ll to)
{
    return query(tree, to-1) - query(tree, from-1);
}

int main(void)
{
    int n;
    while(cin >> n)
    {
        memset(tree_num, 0, sizeof(tree_num));
        memset(tree_dis, 0, sizeof(tree_dis));
        for(int i = 0; i < n; i++)
            scanf("%lld%lld", &a[i].v, &a[i].d);
        sort(a, a+n);
        ll res = 0;
        for(int i = 0; i < n; i++)
        {
            ll v = a[i].v, d = a[i].d;
            ll l = sum(tree_num, 1, d);
            ll r = sum(tree_num, d+1, maxn);
            res += v*((l*d-sum(tree_dis, 1, d))+(sum(tree_dis, d+1, maxn)-r*d));
            update(tree_dis, a[i].d, a[i].d);
            update(tree_num, a[i].d, 1);
        }
        printf("%lld\n", res);
    }
    return 0;
}



G - MooFest
Time Limit:1000MS     Memory Limit:30000KB     64bit IO Format:%lld & %llu

Description

Every year, Farmer John's N (1 <= N <= 20,000) cows attend "MooFest",a social gathering of cows from around the world. MooFest involves a variety of events including haybale stacking, fence jumping, pin the tail on the farmer, and of course, mooing. When the cows all stand in line for a particular event, they moo so loudly that the roar is practically deafening. After participating in this event year after year, some of the cows have in fact lost a bit of their hearing.  

Each cow i has an associated "hearing" threshold v(i) (in the range 1..20,000). If a cow moos to cow i, she must use a volume of at least v(i) times the distance between the two cows in order to be heard by cow i. If two cows i and j wish to converse, they must speak at a volume level equal to the distance between them times max(v(i),v(j)).  

Suppose each of the N cows is standing in a straight line (each cow at some unique x coordinate in the range 1..20,000), and every pair of cows is carrying on a conversation using the smallest possible volume.  

Compute the sum of all the volumes produced by all N(N-1)/2 pairs of mooing cows.  

Input

* Line 1: A single integer, N  

* Lines 2..N+1: Two integers: the volume threshold and x coordinate for a cow. Line 2 represents the first cow; line 3 represents the second cow; and so on. No two cows will stand at the same location.  

Output

* Line 1: A single line with a single integer that is the sum of all the volumes of the conversing cows.  

Sample Input

4
3 1
2 5
2 6
4 3

Sample Output

57




避坑指南:QCustomPlot鼠标事件冲突解决方案(左键拖动vs右键框选) 本文深入解析QCustomPlot在QT框架下的高级交互实现,重点解决左键拖动与右键框选的冲突问题。通过自定义事件处理和QRubberBand技术,提供了一套完整的无冲突交互方案,帮助开发者优化数据可视化应用的用户体验。 阅读详情

相关推荐

PFC中pb模型实战:从胶结参数设置到破坏模拟全流程解析

本文详细解析了PFC软件中平行胶结模型(PB模型)的实战应用全流程。从胶结参数(pb_kn, pb_ks, pb_ten等)的物理意义与精准赋值入手,深入探讨了模型构建、胶结施加以避免初始损伤的技巧,并系统介绍了破坏过程的监测、阈值判定方法以及高级可视化与常见问题诊断。旨在帮助岩土工程与颗粒材料研究者掌握从参数调试到破坏模拟的核心操作,提升数值模拟的准确性与效率。

php55的博客 1075

poj 1990 MooFest // 树状数组

poj 1990 MooFest // 树状数组 Time Limit:1000MS Memory Limit:30000K Total Submissions:10281 Accepted:4702 Description Every year, Farmer John's N (1 <= N <= 20,000) cows at...

Rshs 225

zabbix监控深信服下一代防火墙配置

深信服下一代防火墙v8.0管理界面,zabbix,SNMP

weixin_43996471的博客 6873

MooFest 树状数组 + 前缀和

比较友好的数据结构题 建议读者好好思考思考……. 可以分析出与前缀和的关系, 之后就愉快的套起树状数组辣 #include &lt;cstdio&gt; #include&lt;queue&gt; #include&lt;cstring&gt; #include&lt;cmath&gt; #include&lt;algorithm&gt; using namespace std; con...

EM LGH 276

在Docker中集成GPU监控体系

先上效果图 等文档整理出来再更

tamako0v0的博客 2471

MatLab Desired port was :31515解决方案

前言:使用的MatLabR2022b今天突然出现了错误,在程序中打不开文件。后尝试了下面的方法,可以解决。后面还有另一种方法,上面方法如果行不通,大家可以尝试一下。搜索栏输入:firewall.cpl。找到相关项,右键属性,设置为允许。

qq_42212501的博客 1342

集训队专题(9)1006 MooFest

MooFest Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 60000/30000K (Java/Other) Total Submission(s) : 32   Accepted Submission(s) : 16 Problem Description Every year, Farmer John'

RaAlGhul的博客 1181

第一章:基础知识 - 概念与基础,理解什么是功耗

电源管理与功耗调优:实战项目经验分享

坚韧与专注 885

MooFest(树状数组+离线处理)

Problem Description Every year, Farmer John's N (1 <= N <= 20,000) cows attend "MooFest",a social gathering of cows from around the world. MooFest involves a variety of events including hayba

745

[Dify] -进阶13- 使用“知识库 + 工作流”打造智能推荐系统

本文介绍了在Dify平台上构建智能推荐系统的方法,重点阐述了知识库与工作流技术的结合应用。通过知识库管理RAG流程,实现文档上传、向量嵌入和检索优化;利用工作流设计节点化推荐逻辑,支持并行处理与条件分支。以电话销售话术推荐为例,展示了从数据收集到实时生成的完整流程。该方法具有准确性高、扩展性强、维护简便等优势,可广泛应用于各类推荐场景,实现从数据存储到智能推荐的闭环解决方案。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 1068

Qt for WebAssembly环境搭建

一、前言 二、Ubuntu 1、在线安装Qt15 在线安装下载器:https://download.qt.io/official_releases/online_installers/ 安装时记得勾选WebAssembly,如下: 2、安装依赖 # Install Python sudo apt-get install python2.7 # Install CMake (optional, only needed for tests and building Binaryen) sudo apt

贝勒里恩的博客 3670

【POJ】1990-MooFest(树状数组or线段树)

树状数组和线段树的解法比较,感觉不论在内存还是时间上都是树状数组占优 大题思路对 v从小到大进行排序,之后找之前的(也就是比v小的坐标) v * sum(abs(xi - x)) 这样的话 abs无法处理,我们用另外一个树状数组记录在x ~ y区间牛的个数,之前那个记录在x ~ y区间内牛的坐标和 Accepted 484 79 C++ 1

花月阁 739

通过Python实现物联网金橙子自动打标

对于自家公司使用金橙子打标卡时,为了与生产线或者PLC联动等,往往需要对金橙子打标卡进行二次开发,而在二次开发中不得不涉及到MarkEzd.dll这个文件,而这个dll文件网上版本多不说,一般都没法直接使用,最后还不得不花大价钱购买专用库。而本文针对这个问题,涉法通过python来绕过MarkEzd.dll文件,直接进行自动化控制EzCad来实现联动,可应用于实际生产。文章最后拓展一下以物联网的形式,实现手机平台等登录网页,输入想要的印字内容后,远程打印的案例。

lylelo的博客 3365

POJ1990 MooFest 树状数组 题解(附图)

MooFest Time Limit: 1000MS   Memory Limit: 30000K Total Submissions:9207   Accepted: 4167 Description Every year, Farmer John's N (1 &lt;= N &lt;= 20,000) cows attend "MooFest",a soc...

bestsort 936

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

POJ - 1990 MooFest(树状数组)

POJ-1990 MooFest 题目链接 题意: 每头牛 iii 都有自己的位置 xix_ixi​ 和听力上限 viv_ivi​ ,如果 两头牛 iii 和 jjj 想要交流,假设 xi<xjx_i<x_jxi​<xj​ ,需消耗 (xj−xi)×max(vi,vj)(x_j-x_i) \times max(v_i,v_j)(xj​−xi​)×max(vi​,vj​) 这些能...

NaNa 305

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

POJ 1990 MooFest 树状数组

题目来源:POJ 1990 MooFest 题意:就算每两头牛之间声音值 2头牛v的最大值*2头牛之间的距离 思路:按照v从小到大插入树状数组 每插入一头牛i 统计x比他小的个数s1 x比他大的个数s2 x比他小的距离l1 x比他大的距离l2 求和 #include #include #include using namespace std; const int maxn = 2001

嗯。 1025

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

POJ - 1990 MooFest 树状数组

  POJ - 1990 MooFest 题意: 给定 n 头牛的 听力阈值 和 所在位置,第 i 头牛和第 j 头牛相互交流所需的最小值为 max(Vi,Vj)*(Xi-Xj)。求所有牛相互交流的总和。 思路: 将牛的听力阈值降序排列。计算时当前牛的听力阈值即为最大所以只需求出 距离和牛数 就能算出当前牛到其他已经存在树状数组中牛的的总和,并更新。 这里用到两个树状数组 #incl...

没有梦想何以远行 224

POJ 1990 MooFest (树状数组)

每年,农夫约翰的N(1 每个奶牛具有耳背值v(i)(在1..20,000的范围内)。如果一头牛向牛i吼叫,她必须使用至少是两头母牛之间距离的v(i)倍的声音,以便被牛i听到。如果两个奶牛i和j想要交谈,她们必须以等于她们之间的距离乘以max(v(i),v(j))的音量说话。  假设N头奶牛中的每头奶牛都站在直线上(每头奶牛在1..20,000范围内的某个独特x坐标),每对奶牛都使用尽

Interstellar_的博客 999

POJ 1990 MooFest(树状数组+离线处理)

POJ1990 MooFest(树状数组+离线处理) 分析: 因为要求max(vi,vj),所以先读入所有的牛,将牛按它的vi值从小到大排序,所以当前处理的牛总是vi值最大的。 接下来就要算当前第i头牛的坐标xi和之前出现的所有牛的坐标之差的总和了。维护两个树状数组,数组1的sum(1,x)表示的是坐标值 那么假设当前处理第i头牛,维护当前已经处理了的所有牛的坐标和total,并执行:ad

code 1372

POJ 1990 MooFest(树状数组好题)

题目链接: http://poj.org/problem?id=1990 题意: 给定nnn个奶牛,每个奶牛有两个权值,第一个pospospos表示位置,每个点的pospospos均不相同,第二个表示valvalval表示奶牛声音传播属性,对于两个奶牛(x,y)(x,y)(x,y)之间的交流有一个结果,值等于∣posx−posy∣\left| pos_x-pos_y\right|∣posx​−po...

梧桐 249

POJ 1990 MooFest(树状数组)

MooFest Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 6968   Accepted: 3132 Description Every year, Farmer John's N (1 <= N <= 20,000) cows attend "MooFest

MR CODER 349

POJ 1990 MooFest 【树状数组】

MooFest Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 6056   Accepted: 2669 Description Every year, Farmer John's N (1 <= N <= 20,000) cows attend "MooFest",

wyjwyl的专栏 487

POJ1990 MooFest,树状数组

树状数组经典题,翻了一下别的解题报告,都是大同小异解释的不清楚,详情可以看我代码中的注释 /******************************************************************************* # Author : Neo Fung # Email : neosfung@gmail.com # Last modified:

Neo Fung的专栏 1273

POJ1990-MooFest(树状数组)

MooFest 题意:有n头牛,每头牛有两个属性,音量v,在X轴上的坐标x。牛i牛_i牛i​和牛j牛_j牛j​想要通话,音量至少是max(vi,vj)∗abs(xi−xj)max(v_i, v_j) * abs(x_i - x_j)max(vi​,vj​)∗abs(xi​−xj​),要求每对牛通话音量的和。 思路: 暴力做法就是∑i=0n∑j=0i−1(max(vi,vj)∗abs(xi−xj))\sum_{i=0}^n\sum_{j=0}^{i-1}(max(v_i, v_j) * abs(x_i - x

weixin_45363113的博客 239

POJ 1990 MooFest(树状数组)

MooFest Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 5395   Accepted: 2329 Description Every year, Farmer John's N (1 <= N <= 20,000) cows attend "MooFest",

ACway的专栏 1291

[POJ 1990] MooFest (树状数组)

POJ - 1990 有NN头牛排成一行,每两头牛之间进行交谈 代价为 max(v[i],v[j])∗distance(i,j)max(v[i], v[j])*distance(i,j),问代价和为多少很显然,如果暴力去做的话,是 O(n2)O(n^2)的,必然会 T 所以我们要依照vv的值来依次计算 即对vv的值从小到大进行排序,然后对vv从小到大计算 计算到排序后第ii头牛时,前面的牛

MisDeer's blog 358
上一篇: hdoj 4549 M斐波那契数列(费马小定理降幂,矩阵快速幂)
下一篇: lightoj1085 - All Possible Increasing Subsequences(树状数组)
cillyb
博客等级 码龄11年 225粉丝 497原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值