Elementary Math Gym - 101485E 二分图匹配

汽车信息安全--SHE中的密钥管理(二) 上一篇我们讲解了HTA基本概念,SHE和EVITA HSM区别以及SHE的架构,接下来我们聊一聊SHE中的密钥管理策略。 阅读详情
  1. 这个地方看起来是一对a,b选择3个方案看是否是满足,好像不是二分图匹配,
    2.但是因为得到的答案数只有最多3*2500, 所以其实是对于一个可能冲突的答案进行二分图匹配
  2. 另外 匈牙利算法 是 只有 左边对右边连边的

题目做太少就看不出是二分图匹配

#include<bits/stdc++.h>
#include<iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
#define sf scanf
#define pf printf
#define mem(a,b) memset(a,b,sizeof(a));
#define rep(i,a,b) for(int i=(a);i<=(b);++i)
#define MP make_pair
#define ULL unsigned long long
#define LL   long long
#define inf 0x3f3f3f3f
#define md ((ll+rr)>>1)
#define ls (i<<1)
#define rs (ls|1)
#define eps 1e-5
#define ree freopen("in.txt","r",stdin);
#define bug pf("----------------");
#define N 10030
#define M 1000020
#define INF 1e9
int n;

int a[N],b[N];
LL c[N];
LL san[N];
int fst[N],nxt[M],e,vv[M];
int match[N];
int cnt;
int vis[N];
void add(int u,int v){
    vv[e]=v;nxt[e]=fst[u];fst[u]=e++;
}
void init(){
    mem(fst,-1);e=0;
}
bool dfs(int x){
    for(int i=fst[x];~i;i=nxt[i]){
        int v=vv[i];
        if(vis[v])continue;
        vis[v]=1;
        if(match[v]==-1||dfs(match[v])){
            match[v]=x;return 1;
        }
    }
    return 0;
}
int haxi(LL x){
    return lower_bound(san+1,san+1+cnt,x)-san;
}
int main(){
    //ree
    init();
    sf("%d",&n);
    cnt=0;
    rep(i,1,n){
        sf("%d%d",&a[i],&b[i]);
        san[++cnt]=a[i]-b[i];
        san[++cnt]=a[i]+b[i];
        san[++cnt]=1LL*a[i]*b[i];
    }
    sort(san+1,san+1+cnt);
    cnt=unique(san+1,san+1+cnt)-san-1;
    for(int i=1;i<=n;++i){
        add(i,haxi(a[i]+b[i]));
        add(i,haxi(a[i]-b[i]));
        add(i,haxi(1LL*a[i]*b[i]));
    }
    int ans=0;
    mem(match,-1);
    for(int i=1;i<=n;++i){
        mem(vis,0);
        if(dfs(i)){
            ++ans;
        }
    }
    if(ans==n){
        for(int i=1;i<=cnt;++i){
            if(match[i]==-1)continue;
            c[match[i]]=i;
        }
        for(int i=1;i<=n;++i){
            LL u=san[c[i]];
            if(a[i]+b[i]==u)
                pf("%d + %d = %lld\n",a[i],b[i],u);
            else if(a[i]-b[i]==u)
                pf("%d - %d = %lld\n",a[i],b[i],u);
            else if(1LL*a[i]*b[i]==u)
                pf("%d * %d = %lld\n",a[i],b[i],u);
        }
    }
    else puts("impossible");
}
RK3568平台开发系列讲解(NPU篇)什么是RKNPU 📢本篇章将介绍RKNPU。 阅读详情

相关推荐

【VAX 小番茄安装详细步骤】

本文详细介绍了在VS2022环境下安装Visual Assist X(番茄助手)的步骤及常见问题解决方案。主要内容包括:安装前的兼容性设置(需修改为Windows7兼容模式)、安装流程(卸载旧版本、勾选对应VS版本、替换关键dll文件)以及常见问题处理(如安装失败、工具栏图标缺失等)。文章提供了完整的下载链接和操作截图,特别强调了安装失败后的清理方法(注册表、安装目录和残余文件删除)。最后给出了安装成功后的测试运行指引。

qq_23962581的博客 1718

bzoj4429: [Nwerc2015] Elementary Math小学数学

先把所有可能的答案算出来,每个算式一个点,每个结果一个点,然后如果一个算式能算出一个结果,那么就连一条边 然后跑匈牙利,没有完美匹配就是impossible 每个算式最多有3个结果,所以边数是O(n)的,所以匈牙利的复杂度就是O(n^2)的 #include <iostream> #include <cstdio> #include &l...

weixin_30872671的博客 181

ADC INL&DNL测试方法和实例

本文介绍了一种可操作的ADC INL和DNL的测试方法--直方图法(也称码密度法)。并实际使用该方法测试了两款芯片的ADC INL和DNL

APTCHIP的博客 1万+

[gym101485]Debugging 记忆化+整除分块

/* [gym101485]Debugging 记忆化+整除分块 by zhuhua AC time: 31ms n行代码,跑一遍Rs,加一行输出Ps,问找出崩溃位置的最坏最短时间。 n行代码 -&gt; n-1个空格开始填空找位置 —&gt; 算插空位置不用讨论情况 */ #include&lt;bits/stdc++.h&gt; using namespace ...

UPUP&TOPTOP 304

接入 deepseek 实现AI智能问诊

必须包含user角色,用于传递用户输入。system角色可选,用于设置对话背景。多轮对话需要将历史记录添加到messages中。

weixin_51326478的博客 6541

PCB阻焊工艺全解析:从油墨选择到显影测试的完整指南

本文深入解析PCB阻焊工艺全流程,从材料科学角度对比液态光成像(LPI)油墨、干膜阻焊等核心材料特性,系统阐述前处理、涂覆、预烤曝光、显影固化等关键步骤的工艺要点与参数控制。重点探讨了如何通过优化油墨选择与工艺参数,解决常见缺陷,提升PCB的可靠性、美观度及可制造性,为工程师提供从理论到产线实战的完整指南。

s3t4u的博客 553

BZOJ4429 Elementary Math小学数学 (二分图匹配)

题目大意给出n个数对,支持加减乘三种操作,输出一种方案使每一个式子的结果各不相同。如果没有方案的话输出impossible。题解因为每个方案中,每一个式子都能且只能对应一个值,所以说式子和值的关系是一一对应的。有因为每一个式子最多只能对应3个值,所以说空间和时间复杂度都允许。代码#include <cstdio> #include <iostream> #include <algorithm> us

yashem66 912

《缠中说禅108课》5:市场无须分析,只要看和干

喜欢吹牛皮的,在市场里最常见,例如一种以分析市场、吹牛皮为生的职业,叫什么股评、专家的。此类人不过是市场上的寄生虫,真正的猎手只会观察、操作,用嘴是打不了豺狼的。 市场就是一个狩猎场,首先你要成为一个好猎手,而一个猎手,首先要习惯于无言。如果真有什么真理,那真理也是无言的。可言说的,都不过是人类思想的分泌物,臭气熏天。真不可言说了,就无不可言,言而无言,是乃真言。 一个好的猎手,可以没有嘴巴,但一定会有一双不为外物所动的眼睛,在这眼睛下,一切如幻化般透明。要不被外物所动,则首先要不被自我所迷惑,其实..

BenRen1314的博客 802

Elementary Math、

二分图匹配+离散化 #include #include #include #include #include #include #include using namespace std; typedef __int64 ll; const int qq = 2505; vector adj[qq]; mapnotoint; int N,nodes,pred[qq*3]; ll a[qq],b[

傻傻分不清、 702

“傻瓜”stata入门——熟悉操作界面

小白开始学习stata和matlab,零基础上手

nnpersistent的博客 4457

FPGA+CMV4000实战:从零搭建20fps成像系统的5个关键步骤(附避坑指南)

本文详细介绍了如何从零搭建基于FPGA和CMV4000传感器的20fps成像系统,涵盖硬件选型、SPI通信优化、LVDS数据采集、DDR2内存管理及系统集成等5个关键步骤。特别针对CMV4000传感器的SPI配置和高速数据处理的常见问题提供实用解决方案,帮助开发者避免常见陷阱,提升成像系统性能。

weixin_42628688的博客 427

E - Elementary Math ( 网络流+离散化 )

E - Elementary Math ( 网络流+离散化 ) 题意:给n对数,前后位置不能调换,有三种操作 ‘+’,‘-’,‘ * ’ , 要求最后算出的答案各不相同。 思路:开始想得是dfs枚举,结果T3, 果然dfs就是暴力枚举的复杂度,正解是二分图匹配或者网络流,这里说网络流。 建图:左部分是每一对数的第一个,右部分是两个数操作后的三个值,左边出来三条边与右边结果相...

石旭先森的博客 426

【报错解决】OpenClaw 报错 Unsupported engine: requires node >=22.0.0 —— Node.js 版本过低的完整排查与解决实录

在国产操作系统环境下部署OpenClaw时遇到"Unsupported engine: requires node >=22.0.0"报错,分析表明该工具要求Node.js 22+以支持fetch API等新特性。解决方案包括:1) 使用nvm升级Node至22+版本;2) Docker环境中改用node:22-alpine镜像;3) 不推荐强制忽略引擎检查。文章强调遵循引擎要求的重要性,指出环境版本是工程化体系稳定运行的关键,建议通过规范升级解决兼容性问题。(149字)

博客 608

Elementary Math Gym - 101485E(二分图匹配)

Elementary Math Ellen is teaching elementary math to her students and the time for the final exam has come. The exam consists of n questions. In each question the students have to add (+), subtract (−) or multiply (∗) a pair of numbers. Ellen has already c

Than-的博客 251

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Gym 101485E Elementary Math (离散 + 二分图匹配)

Problem E Elementary Math Time limit: 10 seconds Example exam by Ellen Ellen is teaching elementary math to her students and the time for the final exam has come. The exam consists of n questions. In...

Top_xiao的博客 396

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Gym - 101485E Elementary Math 迷之WA on 3

今天训练赛的题目,【匈牙利算法】感觉写的没毛病,但迷之 WA on 3 两个小时,很自闭,求欧神帮助orz 原题目链接:http://codeforces.com/gym/101485/attachments VJ题目链接:https://cn.vjudge.net/problem/Gym-101485E 题目大意:给出n个数对,要求运用加、减、乘法运算,使得各个等式运算结果不同,求“+”、...

Sycamore_Ma的博客 352

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Gym - 101485E Elementary Math

题目来源:http://codeforces.com/gym/101485/attachments 二分图匹配+离散化。 WA了好多发: 1.‘+’、‘*’运算得到的结果可能相同,不要忘了加else。 2.数据会爆int,一定要用long long   匈牙利算法进行二分图匹配。 代码: #include &lt;bits/stdc++.h&gt; using namespace...

No cost too great! 276

2015-2016 Northwestern European Regional Contest (NWERC 2015) E - Elementary Math

contest link : http://codeforces.com/gym/101485 就瞎写一题的题解吧,当时有事没去打 题意:给你n对数,问你有没有一种方法,让每一对经过 +、-、*操作,能得到n个不同的数 解题思路:很显然的二分图最大匹配了,唯一需要注意的是保存下来答案,显然直接建图是不行的,link数组开不到那么大,这时候用类似于离散化的思想,把res转换成编号(当然,要用另...

swunHJ的博客 285

【邻接表+匈牙利算法模板】Elementary Math

http://acm.bnu.edu.cn/v3/external/gym/101485.pdf 1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int maxn=2502; 5 struct node 6 { 7 ...

weixin_30835923的博客 150

Gym - 101502 D. Dice Game 思维+dp

D. Dice Game time limit per test 1.0 s memory limit per test 256 MB input standard input output standard output A dice is a small cube, with each side having a different number of spots on it...

人生如戏 747

Codeforces Eyad and Math Gym - 101502H (数学)

Eyad was given a simple math problem, but since he is very bad at math he asked you to help him.Given 4 numbers, a, b, c, and d. Your task is to find whether ab is less than cd or not.It is guaranteed

辞树 1094

Gym - 101502B - Linear Algebra Test

/* 求匹配数,遍历必定超时, 需要预先存一下相应行的数量, 最后对应每个列,找相等的行即可; 因为已知行不等于列,所以不必考虑特殊情况 */ #include &lt;iostream&gt; #include &lt;map&gt; using namespace std; int t,n,a[2][100005]; unsigned long long ans; map&...

刘二狗的博客 362

Gym - 101485IIdentifying Map Tiles (递推)

题目大意:给一个字符串,求它是在第几个图中的哪个位置,每个图与相邻图之间关系都类似于细胞分裂(大概是这么个意思) 找到0123的在田字格的位置关系,递增的时候也是这样的规律,所以按字符串每个字母来推测它是如何得到的,便能得到位置了 建议先以(1,1)为起点来递推方便理解,最后结果减一就好了 代码 #include #include #include #include #include us

T__TSZ的博客 469

【计算几何】【二分图判定】Gym - 101485C - Cleaning Pipes

题意:有n个水井,每个水井发出一些管线(都是线段),然后每条管线上最多只有一个水井。所有从不同的水井发出的管线的相交点都是清洁点(不存在清洁点是大于两条管线点的交点)。你需要在某些管线上放出一些机器人,它们会清洁所有该条管线上的清洁点。但是两条相交的管线不能同时放有机器人。问你是否存在一种可行的放机器人的方案。 将管线当成点,清洁点当作边(需要计算几何判断线段规范相交,具体看代码),建图,看看是...

weixin_34198762的博客 161

Gym 101502D Dice Game

题目链接:Gym 101502D Dice Game 题意:一个骰子一开始是数字1那一面朝上,你可以把它翻转90°,每一次翻转都会将新的朝上的数字加和(和不算初始时的1),给你一个数字n,让你输出和达到n所需的最小翻转次数,如果不能到达则输出-1。 思路:运用bfs进行打表,将和作为数组下标,其对应的值为到达这个和所需的翻转次数。对每一个朝上的面遍历紧挨着它的四个面,并且分别进行加和与计算翻转......

垚垚的博客 678

Gym 101061G Repeat it(Math)

传送门:G Repeat it 题意:给定n,m。。 思路:取模运算支持加减乘法。。因为1e9+7是素数,除法求个逆元即可。。 m重复n次即为以下数列之和,设m长度为len: m*(10^(len^0)),m*(10^(len^1)),m*(10^(len^2))...m*(10^(len^n-1)) 显然这是个等比数列,等比数列求和通项公式: a1*(

obsolescence的博客 522
上一篇: codeforces Gym - 101485 D Debugging 记忆化dp
下一篇: [Gym-101174K] [Problem K] 判环+ 码力+ 题意
sega_handsome
博客等级 码龄10年 7粉丝 164原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值