CF1043E Train Hard, Win Easy

题意:

n个人有Ai和Bi两个属性,给出m个关系:xi yi表示xi和yi不能配对
i,j两人规定匹配的价值为min (Ai + Bj , Bi + Aj )
回答出每个人跟所有人配对(除开不能和自己匹配的人)的价值总和

题解:

两两匹配
取min (Ai + Bj , Bi + Aj )
假设 Ai + Bj < Bi + Aj
Ai - Aj < Bi -Bj
按照此规则排序即可,在前面的选x,后面的选y
再考虑m个不能匹配的情况
具体实现:先减去m个不能匹配的值,然后再加上所有匹配情况的值
对于第i个数,用它的y与前面的x匹配,用它的x与后面的y匹配

代码:

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,m;
const int maxn=1000006;
struct node{int x,y,id;bool operator<(const node b){return x-y<b.x-b.y;}
}a[maxn];
int ans[maxn];
int sum[maxn],sum2[maxn];
signed main()
{cin>>n>>m;for(int i=1;i<=n;i++){scanf("%lld%lld",&a[i].x,&a[i].y);a[i].id=i;}for(int i=1;i<=m;i++){int u,v;scanf("%lld%lld",&u,&v);int h=min(a[u].x+a[v].y,a[u].y+a[v].x);ans[u]-=h;ans[v]-=h;}sort(a+1,a+n+1);int tot=0;for(int i = 1 ; i <= n ; i ++) sum[i] = sum[i - 1] + a[i].x;for(int i = n ; i >= 1 ; i --) sum2[i] = sum2[i + 1] + a[i].y;for(int i = 1 ; i <= n ; i ++) { ans[a[i].id] += sum[i - 1] + (i - 1) * a[i].y;ans[a[i].id] += sum2[i + 1] + (n - i) * a[i].x;}for(int i=1;i<=n;i++)cout<<ans[i]<<" ";return 0;
}

CF1043E Train Hard, Win Easy相关推荐

  1. 第一次马拉松_成为数据科学家是一场马拉松而不是短跑

    第一次马拉松 Since Data Science became the "Sexiest Job of the 21st Century" the interest in the ...

  2. 每日学术速递1.29

    CV - 计算机视觉 |  ML - 机器学习 |  RL - 强化学习 | NLP 自然语言处理 更多Ai资讯: Subjects:cs.CV 1. Compact Transformer Trac ...

  3. 手部姿态检测(按视频段)_v3(hcn)

    参考链接: https://github.com/huguyuehuhu/HCN-pytorch hcn(分层共现网络): 1.2018年提出,早于st-gcn 2.区别于GCN和RNNs,这是基于C ...

  4. 飞桨学习赛:英雄联盟大师预测2023年2月85.365分方案

    ★★★ 本文源自AlStudio社区精品项目,[点击此处]查看更多精品内容 >>> 飞桨学习赛:英雄联盟大师预测2023年2月85.365分方案 比赛链接 - 飞桨学习赛:英雄联盟大 ...

  5. libsvm中tools(easy.py,subset.py,grid.py,checkdata.py)的使用

    这几天在用libsvm(2.8.6)中的一些工具,总结一下. libsvm的一些工具还是非常有用的,1.可以调用subset.py将你的样本集合按你所想要的比例进行抽样出两个子样本集合.2.还可以调用 ...

  6. python图像分类代码_Kaggle—So Easy!百行代码实现排名Top 5%的图像分类比赛

    Kaggle-So Easy!百行代码实现排名Top 5%的图像分类比赛 作者:七月在线彭老师 说明:本文最初由彭老师授权翟惠良发布在公众号"七月在线实验室"上,现再由July重新 ...

  7. 【Win 10 应用开发】RTM版的UAP项目解剖

    原文:[Win 10 应用开发]RTM版的UAP项目解剖 Windows 10 发布后,其实SDK也偷偷地在VS的自定义安装列表中出现了,今天开发人员中心也更新了下载.正式版的SDK在API结构上和以 ...

  8. 键盘快捷键将剪贴板内容粘贴到命令提示符窗口(Win XP)[关闭]

    本文翻译自:Keyboard shortcut to paste clipboard content into command prompt window (Win XP) [closed] Is t ...

  9. 【强化学习】《Easy RL》- Q-learning - CliffWalking(悬崖行走)代码解读

    目录 0. 前言 1. 超参数 2. 训练 2.1 初始化环境和智能体 2.2 智能体选择动作 2.3 环境接收动作并反馈下一个状态和奖励 2.4 智能体进行策略更新(学习) 3. 结果处理 3.1 ...

最新文章

  1. SDRAM芯片初始化、行有效、列读写时序(高手进阶,终极内存技术指南——完整/进阶版) ——本文为转载...
  2. mybatis教程--映射之一对一查询
  3. 7.6~7.20集训总结(一)
  4. Effective Java之用enum代替int常量(三十)
  5. 功能Java示例 第2部分–讲故事
  6. IntelliJ IDEA 修改单行注释的格式
  7. Thingsboard 3.1.0 - 数据订阅
  8. 我的十大期望,已经过去五年了,我看看还需要多少年
  9. Ubuntu安装酷的桌面监控陈程序Conky
  10. java电影推荐系统_基于Mahout的电影推荐系统
  11. 2021年全国计算机南京考点,2021考研考场安排:往年南京市考研考点及考场安排
  12. 【 产品经理学习笔记 | 巨详细】1.1-1.4 初识产品经理
  13. 项目开发遇到前端传递时间问题处理
  14. 如何取得UnityHub内旧版本Unity下载链接
  15. 阿松嘚嘚嘚-数据库篇2-完美范式不完美
  16. 数学期望、信息量、信息熵、相对熵、交叉熵
  17. 一个男人最高的品味是他选择的女人
  18. C语言---集合---合取-析取-异或-条件语句-双条件语句
  19. 电子商务物流与供应链管理
  20. ubuntu22.04安装惠普激光打印机m30w记录

热门文章

  1. java解析json_JAVA解析JSON数据
  2. python win32ui选取文件夹_最全 Python 算法实现资源汇总!
  3. c#web服务器 虚拟目录,C#建立自己的Web服务器
  4. 二叉搜索树python,代表python中的二叉搜索树
  5. python编程自然数表达式_[宜配屋]听图阁
  6. linux内核线程socket,从Linux源码看Socket(TCP)的accept
  7. php转译html,使用php转义输出HTML到JavaScript
  8. 跨部门不配合工作_跨部门协作,队友总是“甩锅”,这三个方法教你快速避坑!...
  9. case when影响性能吗_字段为NULL会影响查询性能吗?
  10. java 声明变量构成_Java—变量