CF1989C Two Movies 题解
贪心。如果某人对两部电影评分不一样,显然取评分高的那一个。如果是 \(1\) 和 \(0\) 或 \(1\) 和 \(-1\),那么显然取 \(1\)。如果是 \(0\) 和 \(-1\),显然取 \(0\)。
接下来,讨论评分一样的情况。对于 \(0\) 和 \(0\),取哪一个都没有影响,直接忽略。对于 \(1\) 和 \(1\),我们记录这种人的个数,在处理完评分不一样的人之后统一处理。由于我们要使最小值最大,所以优先将这种人的增加评分给较小的一部电影。否则不会影响最小值,显然不优。
对于 \(-1\) 和 \(-1\),同理,我们记录这种人的个数,在处理完评分不一样的人之后统一处理。由于我们要使最小值最大,所以优先将这种人的减少评分给较大的一部电影。否则会减小最小值,显然不优。
时间复杂度 \(O(n)\)。
#include <bits/stdc++.h>
using namespace std;
long long t,n,a[300000],b[300000];
int main()
{
scanf("%lld",&t);
while(t--)
{
long long x=0,y=0,pf=0,nf=0;
scanf("%lld",&n);
for(int i=1;i<=n;i++)scanf("%lld",&a[i]);
for(int i=1;i<=n;i++)scanf("%lld",&b[i]);
for(int i=1;i<=n;i++)
if(a[i]>b[i])x+=a[i];
else if(a[i]<b[i])y+=b[i];
else if(a[i]==1&&b[i]==1)pf++;
else if(a[i]==-1&&b[i]==-1)nf++;
while(pf)
{
if(x<=y)x++;
else y++;
pf--;
}
while(nf)
{
if(x>=y)x--;
else y--;
nf--;
}
printf("%lld\n",min(x,y));
}
return 0;
}
CF1989C Two Movies 题解的更多相关文章
- hdu_5193_Go to movies Ⅱ(带插入删除的逆序对,块状链表)
题目链接:hdu_5193_Go to movies Ⅱ 题意: 有n个人站成一排,每个人的身高为Hi.每次有人加入或者有人离开,就要判断有多少人站反了(i < j&&Hi> ...
- 2016 华南师大ACM校赛 SCNUCPC 非官方题解
我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...
- noip2016十连测题解
以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...
- BZOJ-2561-最小生成树 题解(最小割)
2561: 最小生成树(题解) Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1628 Solved: 786 传送门:http://www.lyd ...
- Codeforces Round #353 (Div. 2) ABCDE 题解 python
Problems # Name A Infinite Sequence standard input/output 1 s, 256 MB x3509 B Restoring P ...
- 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解
题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...
- 2016ACM青岛区域赛题解
A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Jav ...
- poj1399 hoj1037 Direct Visibility 题解 (宽搜)
http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...
- 网络流n题 题解
学会了网络流,就经常闲的没事儿刷网络流--于是乎来一发题解. 1. COGS2093 花园的守护之神 题意:给定一个带权无向图,问至少删除多少条边才能使得s-t最短路的长度变长. 用Dijkstra或 ...
- CF100965C题解..
求方程 \[ \begin{array}\\ \sum_{i=1}^n x_i & \equiv & a_1 \pmod{p} \\ \sum_{i=1}^n x_i^2 & ...
随机推荐
- rabbitmq防止消息的重复消费
一.rabbitmq出现消息重复的场景 A:消息消费成功,事务已经提交,ack时,机器宕机,导致没有ack成功, Broker的消息重新由unack变为ready,并发送给其他消费者 B:消息消费失败 ...
- 异步编程与Tortoise-ORM框架
title: 异步编程与Tortoise-ORM框架 date: 2025/04/19 00:13:05 updated: 2025/04/19 00:13:05 author: cmdragon e ...
- Windows系统优化 3-清理预安装软件
事件起因: 经过我们上次 Windows系统优化 2-系统设置优化 之后,现在电脑已经基本上可以使用,不过对于有强迫症的我来说还差了一步,那就是系统预安装的软件: 对于我们刚入手的电脑你是否有 这些 ...
- 聊聊AI浏览器
提供AI咨询+AI项目陪跑服务,有需要回复1 大模型一直有个难以解决的问题:系统的知识是过时的,他们难以跟进最新的信息. 基于这个原因,ChatGPT以及DeepSeek都提出了联网功能,只不过效果嘛 ...
- linux期末考试题(2)
linux期末考试题 一.选择题(共30分,每小题2分) 1.以下关于自由软件的说法,正确的是(D) A.自由软件是一种有版权保护的软件 B.修改自由软件应取得原作者的许可 C.微软的 Ofice 软 ...
- Map之“获取map中的key流转为List”
一.获取map中的key转为List 注意 这里可以获取map中所有的key来转换为List, 这样后很多方案就不需要另外查询出来处理了 代码 @Test public void test() { M ...
- HarmonyOS Next开发教程之地图定位
今天分享一下在鸿蒙开发中的地图定位问题,也就是在地图中如何定位自己所在的位置. 关于如何加载显示地图在之前的文章已经详细介绍过,有问题的友友可以点击查看: HarmonyOS NEXT实战教程-实现K ...
- 动态DP(DDP)
动态DP是树上的.带修改的DP.修改操作一般而言用树剖加线段树加广义矩阵乘法来维护,复杂度可以达到 \(n\log^2 n\). 叫DDP是不知从哪里延续下来的一种神秘简称. P4719 [模板]动态 ...
- P1514 [NOIP 2010 提高组] 引水入城 题解
题意:P1514 [NOIP 2010 提高组] 引水入城有点复杂,自己看吧. 思路 这里提供一个好像没见过的纯 DP 做法,不需要神秘的证明以及任何脑子,直接顺着思路做即可. 首先判断正确性就是从第 ...
- Java 注解使用教程
简介 Java 1.5 引入了注解,现在它在 Java EE 框架(如 Hibernate.Jersey 和 Spring )中被大量使用.Java 注释是该语言的一个强大特性,用于向 Java 代码 ...