当前位置: 首页 > news >正文

长春网站建设外包/注册域名后如何建立网站

长春网站建设外包,注册域名后如何建立网站,微信公众号里面免费做网站,网站模板和定制ARC142E Pairing Wizards 题目大意 有nnn个法师,编号为111到nnn。法师iii有强度aia_iai​,他计划打败强壮度为bib_ibi​的怪物。 你可以执行以下操作任意次: 选中一个法师,将它的强壮度增加1 一对法师(i,j)(i,j)(i,j)称为好的…

ARC142E Pairing Wizards

题目大意

nnn个法师,编号为111nnn。法师iii有强度aia_iai,他计划打败强壮度为bib_ibi的怪物。

你可以执行以下操作任意次:

  • 选中一个法师,将它的强壮度增加1

一对法师(i,j)(i,j)(i,j)称为好的,当至少满足以下条件之一:

  • 法师iii至少有bib_ibi的强壮度,法师jjj至少有bjb_jbj的强壮度
  • 法师iii至少有bjb_jbj的强壮度,法师jjj至少有bib_ibi的强壮度

你的目标是对于i=1,…,mi=1,\dots,mi=1,,m,使得(xi,yi)(x_i,y_i)(xi,yi)称为一对好的法师。求最小的操作数量。


题解

首先,令mnx=max⁡(x,y)∈E(min⁡(bx,by))mn_x=\max\limits_{(x,y)\in E}(\min(b_x,b_y))mnx=(x,y)Emax(min(bx,by))。如果ax<mnxa_x<mn_xax<mnx,则不断增加axa_xax使得ax=mnxa_x=mn_xax=mnx

如果bx>axb_x>a_xbx>ax,则xxx属于XXX集合;如果bx≤axb_x\leq a_xbxax,则xxx属于YYY集合。我们把每一对法师看作一条边,因为上面对axa_xax的改变,所以每条边中至少有一个点在YYY集合中。

每个XXX集合的点xxx对应一个点xxx,每个YYY集合中的点yyy和一个在1到100之间的值aaa对应一个点(y,a)(y,a)(y,a)。我们可以按如下方法建图,那么答案为最小割,即最大流,用网络流即可解决。

  • 对于i∈Xi\in XiX,连边(s,i,bi−ai)(s,i,b_i-a_i)(s,i,biai)
  • 对于i∈Yi\in YiY,连边((i,j),t,1)((i,j),t,1)((i,j),t,1)
  • 对于i∈Yi\in YiY,连边((i,j),(i,j−1),∞)((i,j),(i,j-1),\infty)((i,j),(i,j1),)
  • 对于(i,j)∈E,i∈X,j∈Y,bi>aj(i,j)\in E,i\in X,j\in Y,b_i>a_j(i,j)E,iX,jY,bi>aj,连边(i,(j,bi−aj),∞)(i,(j,b_i-a_j),\infty)(i,(j,biaj),)

如果要使ax≥bxa_x\geq b_xaxbx,则割第一类边;如果要使ax≥by,ay≥bxa_x\geq b_y,a_y\geq b_xaxby,aybx,则割第二类边。因为无限的影响,第三类边只能将jjj值小的放在sss的一边,jjj值大的放在ttt的一边,第四类边不会被割。这样就可以求最小的操作数了。

code

#include<bits/stdc++.h>
using namespace std;
int n,m,x,y,ans=0,vt=0,s,t,v1=0,v2=0,inf=1e9,a[105],b[105],mn[105],on[105],re[105];
int tot=1,cs[100005],l[100005],r[100005],w[100005],d[100005],vd[100005];
struct node{int x,y;
}vw[10005];
void add(int xx,int yy,int zz){l[++tot]=r[xx];cs[tot]=yy;r[xx]=tot;w[tot]=zz;
}
int aug(int i,int augco){if(i==t) return augco;int augc=augco,dl=0,md=n-1;for(int u=r[i];u;u=l[u]){int j=cs[u];if(w[u]>0){if(d[i]==d[j]+1){dl=min(augc,w[u]);dl=aug(j,dl);w[u]-=dl;w[u^1]+=dl;augc-=dl;if(d[s]>=n) return augco-augc;if(!augc) break;}if(md>d[j]) md=d[j];}}if(augco==augc){--vd[d[i]];if(!vd[d[i]]) d[s]=n;d[i]=md+1;++vd[d[i]];}return augco-augc;
}
void sap(){vd[0]=n;while(d[s]<n) ans+=aug(s,inf);
}
int main()
{scanf("%d",&n);s=++vt;t=++vt;for(int i=1;i<=n;i++){scanf("%d%d",&a[i],&b[i]);mn[i]=a[i];}scanf("%d",&m);for(int i=1;i<=m;i++){scanf("%d%d",&x,&y);vw[i]=(node){x,y};mn[x]=max(mn[x],min(b[x],b[y]));mn[y]=max(mn[y],min(b[x],b[y]));}for(int i=1;i<=n;i++){ans+=mn[i]-a[i];a[i]=mn[i];if(a[i]<b[i]){add(s,i+2,b[i]-a[i]);add(i+2,s,0);}else{re[i]=++v2;on[i]=1;for(int j=1;j<=100;j++){add(2+n+(i-1)*100+j,t,1);add(t,2+n+(i-1)*100+j,0);if(j>1){add(2+n+(i-1)*100+j,2+n+(i-1)*100+j-1,inf);add(2+n+(i-1)*100+j-1,2+n+(i-1)*100+j,0);}}}}for(int i=1;i<=m;i++){x=vw[i].x;y=vw[i].y;if(on[x]==0&&on[y]==1){if(b[x]>a[y]){add(x+2,2+n+(y-1)*100+b[x]-a[y],inf);add(2+n+(y-1)*100+b[x]-a[y],x+2,0);}}else if(on[x]==1&&on[y]==0){swap(x,y);if(b[x]>a[y]){add(x+2,2+n+(y-1)*100+b[x]-a[y],inf);add(2+n+(y-1)*100+b[x]-a[y],x+2,0);}}}n=2+n+n*100;sap();printf("%d",ans);return 0;
}

相关文章:

ARC142E Pairing Wizards

ARC142E Pairing Wizards 题目大意 有nnn个法师&#xff0c;编号为111到nnn。法师iii有强度aia_iai​&#xff0c;他计划打败强壮度为bib_ibi​的怪物。 你可以执行以下操作任意次&#xff1a; 选中一个法师&#xff0c;将它的强壮度增加1 一对法师(i,j)(i,j)(i,j)称为好的…...

Spark开发实战-主播打赏排行榜统计

&#xff08;一&#xff09;需求分析 计算每个大区当天金币收入排名前N的主播 背景&#xff1a; 我们有一款直播APP&#xff0c;已经在很多国家上线并运营了一段时间&#xff0c;产品经理希望开发一个功能&#xff0c;计算前N主播排行榜&#xff0c;按天更新排名信息&#xf…...

python 如何存储数据 (python 的文件和异常)

文章目录存储数据1. 使用 json.dump() 和 json.load()json.dump()2. 保存和读取用户生成的数据存储数据 很多程序都要求用户输入某种信息&#xff0c;如让用户存储游戏首选项或提供要可视化的数据。不管专注的是什么&#xff0c;程序都把用户提供的信息存储在列表和字典等数据结…...

第三章-OpenCV基础-8-绘图函数

前置内容 这篇内容不是本书内容,但后续用的到&#xff0c;特做记录。 使用OpenCV中不可避免需要用到各种绘图功能,比如绘制人脸库、显示人脸识别信息,那就需要用到OpenCV的绘图函数&#xff0c;这些函数包括cv2.line()&#xff0c; cv2.circle()&#xff0c;cv2.rectangle()…...

逆约瑟夫问题

约瑟夫问题可以说十分经典&#xff0c;其没有公式解也是广为人知的~ 目录 前言 一、约瑟夫问题与逆约瑟夫问题 1.约瑟夫问题 2.逆约瑟夫问题 二、思考与尝试&#xff08;显然有很多失败&#xff09; 问题分析 尝试一&#xff1a;递归/递推的尝试 尝试二&#xff1a;条件…...

MySQL之三大日志(更新中)

MySQL之三大日志&#xff08;更新中&#xff09; MySQL日志记录着数据库运行过程中的各种信息&#xff0c;包括&#xff1a;错误日志、普通查询日志、慢查询日志、二进制日志、中继日志、事务日志等。 综合上一篇《MySQL之"幻读"问题》涉及到事务&#xff0c;本文主…...

如何使用EvilTree在文件中搜索正则或关键字匹配的内容

关于EvilTree EvilTree是一款功能强大的文件内容搜索工具&#xff0c;该工具基于经典的“tree”命令实现其功能&#xff0c;本质上来说它就是“tree”命令的一个独立Python 3重制版。但EvilTree还增加了在文件中搜索用户提供的关键字或正则表达式的额外功能&#xff0c;而且还…...

北京移动CM311-5s-ZG_GK6323V100C_2+8_免拆一键卡刷固件包

北京移动CM311-5s-ZG_GK6323V100C_28_免拆一键卡刷固件包 特点&#xff1a; 1、适用于对应型号的电视盒子刷机&#xff1b; 2、开放原厂固件屏蔽的市场安装和u盘安装apk&#xff1b; 3、修改dns&#xff0c;三网通用&#xff1b; 4、大量精简内置的没用的软件&#xff0c;…...

JavaScript(1)

JavaScript简介 JavaScript是一门跨平台、面向对象的脚本语言&#xff0c;用来控制网页行为的&#xff0c;它能使网页可以交互。 JavaScript引入方式 1、内部脚本 将js代码定义在HTML页面中&#xff0c;在HTML中&#xff0c;JavaScript代码必须位于<script>与</scrip…...

阿里云云原生每月动态 | 聚焦实战,面向开发者的系列课程全新上线

作者&#xff1a;云原生内容小组 云原生是企业数字创新的最短路径。 《阿里云云原生每月动态》&#xff0c;从趋势热点、产品新功能、服务客户、开源与开发者动态等方面&#xff0c;为企业提供数字化的路径与指南。 本栏目每月更新。 趋势热点 《云原生实战指南》白皮书发布 …...

Goby 征文大擂台,超值盲盒等你来!

001 Goby 技术征文正式启动 Goby 致力于做最好的网络安全工具。为了促进师傅们知识共享和技术交流&#xff0c;现发起关于 Goby 的技术文章征集活动&#xff01; 欢迎所有师傅们参加&#xff0c;分享您的使用经验或挖洞窍门等&#xff0c;帮助其他人更好地了解和利用 Goby。 …...

NLP - langid 语种识别

文章目录一、关于 langid二、基本使用Normalization多个语言中选择一个三、训练模型1、需要2、工具是3、过程4、代码调用自定义模型一、关于 langid https://github.com/saffsd/langid.py 用于检测语言 二、基本使用 import langidlangid.classify("This is a test"…...

liquibase学习和使用

文章目录liquibase学习介绍数据库更新日志和数据库更新日志锁定相关概念changelogchangeset的属性preconditionsql样例Contextssql样例Labelsql样例文件格式sql样例其他格式用的时候在补充跟踪表DATABASECHANGELOGLOCK &#xff08;数据库更改日志锁定表&#xff09;DATABASECH…...

redhawk:Low Power Analysis

1.rush current与switch cell 在standby状态下为了控制leakage power我们选择power gating的设计方式&#xff0c;使用power switch cell关闭block/power domain的电源。 power switch的基本介绍可见: 低功耗设计-Power Switch power switch的table中有四种状态&#xff0c;…...

24- 深度学习的模型保存和加载 (TensorFlow系列) (深度学习)

知识要点 keras 保存成hdf5文件, 1.保存模型和参数, 2.只保存参数 1.保存模型和参数 save_modelcallback ModelCheckpoint2. 只保存参数 save_weightscallback ModelCheckpoint save_weights_only True 保存模型: 案例数据: Fashion-MNIST总共有十个类别的图像model.save_w…...

【Echarts图例点击事件】自定义Echarts图例legend点击事件(已解决)

目录先睹为快&#xff08;效果&#xff09;1、实现Echarts多条曲线2、点击echarts触发接口请求2.1 先默认隐藏部分数据2.2 自定义legend图例点击事件3、源码下载地址&#xff08;解压即用&#xff09;**【写在前面】**这下我又不得不说了&#xff0c;还是客户现场使用时想查询一…...

uniapp-首页配置

为了获取到后台服务器发来的数据&#xff0c;需要配置相应的网络地址。位置在main.js入口文件中。 import { $http } from escook/request-miniprogramuni.$http $http // 配置请求根路径 $http.baseUrl https://api-hmugo-web.itheima.net// 请求开始之前做一些事情 $http.…...

支持DDR5,超频更简单,小雕够给力,技嘉B760M小雕WIFI主板上手

目前13代酷睿已经全员集结了&#xff0c;其中全新的i5 13490F应该依然会备受欢迎&#xff0c;当然了&#xff0c;刚上市不久的13代酷睿价格方面还不是很有吸引力&#xff0c;好在12代酷睿在新一代主板上面依然可用&#xff0c;所以预算有限的朋友&#xff0c;完全可用继续使用1…...

fengMap 自定义dom 偏离实际位置;缩放时飘出地图所在区域

目录 一、问题 二、原因及解决方法 三、总结 一、问题 1.前人写了一份代码&#xff0c;很奇怪。使用 new fengmap.FMCompositeMarker添加的复合覆盖物位置是正常的&#xff0c;缩放的时候也是正常的&#xff0c;仍然处于地图内部&#xff1b;但是new fengmap.FMDomMarker添加…...

TryHackMe-黑我杯

黑我杯 相信我们大家在TryHackMe的日积月累都学到了不少东西&#xff0c;从纯萌新到oscp再到更高 我很高兴能将国内各thm玩家聚集到一起&#xff0c;构建一个更好的学习环境和氛围 本次娱乐分两场&#xff1a; Offensive Pentesting — 中等难度Junior Penetration — 容易难…...

【JAVA程序设计】【C00109】基于SSM(非maven)的员工工资管理系统

基于SSM&#xff08;非maven&#xff09;的员工工资管理系统项目简介项目获取开发环境项目技术运行截图项目简介 基于ssm框架非maven开发的企业工资管理系统共分为二个角色&#xff1a;系统管理员、员工 管理员角色包含以下功能&#xff1a; 系统后台登陆、管理员管理、员工信…...

《计算机原理》——HelloWorld.cpp如何运行的

学校《计算机原理》开课啦&#xff01;特此开辟专栏&#xff0c;将一些知识作为笔记&#xff0c;记录下来。 前言 本篇博客知识点来源于educoder的相关题目 1. 相关知识 1.1 计算机语言 计算机语言是人与计算机之间通讯的语言&#xff0c;计算机语言包括编写计算机程序的字符…...

【面试题】在JS循环中使用await会怎么样?

前言这个问题是这样产生的&#xff1f;某天&#xff0c;在学习异步的知识遇到这样一道题&#xff1a;使用Promise的方式&#xff0c;每隔一秒输出数组中一个值const arr [1, 2, 3] ​ arr.reduce((pre, cur) > {return pre.then(() > {returnnewPromise((resolve, rejec…...

Qt QMessageBox详解

文章目录一.QMessageBox介绍枚举属性函数二.QMessageBox的用法1.导入QMessage库2.弹窗提示3.提供选项的弹窗提示4.作为提示&#xff0c;报警&#xff0c;报错提示窗口一.QMessageBox介绍 文本消息显示框(message box)向用户发出情况警报信息并进一步解释警报或向用户提问&…...

Flutter之beamer路由入门指南

beamer路由入门指南 前言使用方法1、路由配置方式1路由配置方式2路由跳转测试现象前言 Beamer是一个很好用的路由组件,本文以beamer1.5.0版本进行说明,前面博主也介绍了其他路由组件 Flutter实战之go_router路由组件入门指南 、 Flutter之Fluro路由组件入门指南 Flutter之Ge…...

「基础篇」机器学习概览

文章目录1. 什么是机器学习2. 引入机器学习3. 应用场景4. 机器学习分类4.1. 有无人类监督4.2. 是否增量学习4.3. 泛化方式5. 主要挑战6. 测试与验证1. 什么是机器学习 机器学习&#xff08;Machine Learning&#xff0c;ML&#xff09;是一个研究领域&#xff0c;让计算机无需…...

揭秘可视化图探索工具 NebulaGraph Explore 是如何实现图计算的

前言 在可视化图探索工具 NebulaGraph Explorer 3.1.0 版本中加入了图计算工作流功能&#xff0c;针对 NebulaGraph 提供了图计算的能力&#xff0c;同时可以利用工作流的 nGQL 运行能力支持简单的数据读取&#xff0c;过滤及写入等数据处理功能。 本文将简单分享下 NebulaGr…...

移动架构43_什么是Jetpack

Android移动架构汇总​​​​​​​ 文章目录一 Android 开发框架演变1 MVC2 MVP3 MVVM二 什么是JetPack三 如何构建支持Jetpack项目一 Android 开发框架演变 1 MVC Model-View-Controller&#xff0c;模型-视图-控制器&#xff0c;Model负责数据管理&#xff0c;View负责UI显…...

TiDB的分布式事务原理探究

事务开启 获取全局授时作为startTS构建一个tikvTxn对象&#xff08;包括snapshot&#xff09;。 事务写 txn.Set方法本质上将kv值写入了一个内存缓存(即kv/memdb_buffer.go中的memDbBuffer)中。该内存kv数据库利用的是golevel提供的功能。 事务回滚 直接将tikvTxn的valid字段…...

【C语言】函数指针和指针函数

文章目录[TOC](文章目录)前言概述函数指针定义&#xff1a;使用&#xff1a;回调函数指针函数前言 今天学一下函数指针 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 概述 函数指针&#xff1a;是一个指向函数的指针&#xff0c;在内存空间中存放的…...