A. And Matching

A. And Matching

A. And Matching

分析题目:这道题的题目是说给定一个2的幂次n,然后要求我们从0~n-1这n个数中不重复的挑选两个进行配对,要求配对后的每一对按位与之和为k;

而且k的话还是从0~n-1都有的;

既然题目都这样说了,那么这道题就肯定要转换为二进制来观察了,我们可以发现因为n始终是2的幂次,所以n-1的二进制表示就是111…..11,那么我们就可以知道了对于n位的一个二进制数有着000……00~111……11这样的全排列,那么我们就可以得知,对于范围内任意的数a总存在一个未被使用过的数b按位与为0(因为按位与为0是一一配对的,所以所有的数都没有遗漏),所以我们可以定义一个com函数,返回参数的按位或的值;

这样的话,k == 0的情况就已经被我们考虑了;接下来我们考虑k∈(1,n-1)的范围,我们已知0和n-1是配对的,n-1&x == x, 0&x == 0,得知这个特性后,我们只要让k和n-1配对,0和com(k)配对即可;因为com(n-1) == 0,所以k == n-1的时候要单独考虑;

接下来,我们就来探讨一下k == n-1的情况,我们可以发现,n-1和n-2配对得到n-2,还需要1,所以让n-3和1配对得到1,再让0和2配对得到0,按位与之和就为n-1了;

启示;这道题告诉我们,我们要让所有配对处于一个比较特殊的条件下(先找到全部为0),然后根据需要进行调换配对!!!

代码:Submission #152942889 – Codeforces

Original: https://www.cnblogs.com/ZheyuHarry/p/16121229.html
Author: ZheyuHarry
Title: A. And Matching

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/583592/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 题解P1559 运动员最佳匹配问题

    简要题意 给出 (n) 个白色顶点,(n) 个黑色顶点。白色顶点 (i) 和黑色顶点 (j) 之间的边的权为 (P_{i,j}\cdot Q_{j,i}),求二分图最大权匹配。 二…

    数据结构和算法 2023年6月12日
    0102
  • Java反射详解篇–一篇入魂

    1.反射概述 Java程序 在运行时操作类中的属性和方法的机制,称为反射机制。 一个关键点: 运行时 一般我们在开发程序时,都知道自己具体用了什么类,直接创建使用即可。但当你写一些…

    数据结构和算法 2023年6月16日
    094
  • 扫描线

    #include #include #define ls now<#define rs now<#define ll long long using namespace…

    数据结构和算法 2023年6月7日
    085
  • 初识设计模式-工厂模式

    工厂设计模式(Factory Design Pattern)是一种创建型的设计模式,它提供了一种创建对象的最佳方式,是一种代替 new 操作符的一种模式。 在工厂模式中,创建对象不…

    数据结构和算法 2023年6月8日
    082
  • 0023:素数密度(洛谷P1835)-uf0_金币灰黄

    题目传送门:https://www.luogu.com.cn/problem/P1835 数据范围最大有20亿,用普通质数筛10000%超时(就是不超时数组也开不了那么大) 由于r…

    数据结构和算法 2023年6月12日
    080
  • A. Meximum Array 767 Div 1

    题目分析:我们先分析一下这道题目要我们做什么,我们会得到一个长度为n的序列,然后我们可以随机挑取前k个数字并找出其MEX的值放入b中,并把这前k个数删掉,然后继续操作,要求我们最后…

    数据结构和算法 2023年6月7日
    098
  • P3224 [HNOI2012]永无乡 题解

    题意概括 有若干集合,每个集合最初包含一个值,和一个编号1~n。两个操作:合并两个集合,查询包含值x的集合中第k大值最初的集合编号。 维护集合之间关系显然用并查集,但怎么处理询问,…

    数据结构和算法 2023年6月7日
    076
  • Redis:HGETALL的排序问题

    HGETALL 介绍 Returns all fields and values of the hash stored at key. In the returned value,…

    数据结构和算法 2023年6月7日
    076
  • 最短编辑距离

    给定 n 个长度不超过 10 的字符串以及 m 次询问,每次询问给出一个字符串和一个操作次数上限。 对于每次询问,请你求出给定的 n 个字符串中有多少个字符串可以在上限操作次数内经…

    数据结构和算法 2023年6月7日
    072
  • kruskal 及其应用

    kruskal 最小生成树 kruskal 是一种常见且好理解的最小生成树(MST)算法。 前置知识 并查集 看到路径压缩就可以了。 生成树 在有 n 的顶点的无向图中,取其中 n…

    数据结构和算法 2023年6月12日
    080
  • 北京思特奇2023年校招笔试(Java)

    北京思特奇2023年校招笔试(Java) 1、表达式 (short)10/10.2*2 运算后结果是什么类型? 答案:double,浮点数默认是double,自动类型向上转换为浮点…

    数据结构和算法 2023年6月16日
    0118
  • 蓝桥杯2018年国赛试题解题报告

    x星球的钞票的面额只有:100元,5元,2元,1元,共4种。小明去x星旅游,他手里只有2张100元的x星币,太不方便,恰好路过x星银行就去换零钱。小明有点强迫症,他坚持要求200元…

    数据结构和算法 2023年6月12日
    090
  • 初识设计模式-适配器模式

    适配器在生活中经常见到,如手机、笔记本电脑的电源适配器,USB 转接头都是常见的适配器。 在设计模式当中,适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。 在类适配器模…

    数据结构和算法 2023年6月8日
    089
  • 1.层次遍历

    📃 题目描述 题目链接:二叉树的层次遍历 🔔 解题思路 简简单单,用队列来保存每一层的数量,再进行遍历。 class Solution { public: vector> l…

    数据结构和算法 2023年6月12日
    092
  • 1082 Read Number in Chinese (25 分)

    1. 题目 Given an integer with no more than 9 digits, you are supposed to read it in the trad…

    数据结构和算法 2023年6月7日
    084
  • 打印数组的全部排列

    打印数组的全部排列 作者:Grey 原文地址: 博客园:打印数组的全部排列 CSDN:打印数组的全部排列 无重复值情况 题目描述见: LeetCode 46. Permutatio…

    数据结构和算法 2023年6月12日
    083
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球