首页 > 其他分享 >洛谷 P7207

洛谷 P7207

时间:2022-11-01 22:00:20浏览次数:47  
标签:洛谷 int 完全相同 配对 P7207 中为

首先题目给出结论,对于任意 \(n,m\) 均有解。

所以如果 \(A\) 中后 \(x\) 个数和 \(B\) 中前 \(x\) 个数两两配对,就可以转化为 \(n-x,m+x\) 的子问题。

所以对于 \(A\) 中最后一个数 \(n-1\),在 \(B\) 中至少存在一个数 \(x\) 使得 \(x\ \&\ (n-1) = n-1\)。我们只记录 \(B\) 中最小的 \(x\)。

关键结论:\(\forall k\in[0,x-m]\ ,\ (x-k)\ \&\ (n-1-k)=(n-1-k)\)。

说人话,就是将 \(A\) 后面这一段和 \(B\) 前面这一段按顺序两两配对一定是合法解。

理性分析如下,我们令 \(n-1\) 中为 \(1\) ,而 \(m\) 中为 \(0\) 的最高位为第 \(i\) 位,那么枚举 \(x\) 的过程就是将最低的 \(i\) 位一直加到后 \(i\) 位和 \(n-1\) 完全相同。那么再减回去也一定完全相同。

Code:

#include <bits/stdc++.h>
using namespace std;
int n, m;

int main() {
	scanf("%d%d", &n, &m);
	for (int i = n - 1, j = m; ~i; ) {
		int k = j;
		while ((k & i) != i) ++k;
		for (int _ = 0; _ <= k - j; ++_) printf("%d %d\n", i--, k - _);
		j = k + 1;
	}
	return 0;
}

标签:洛谷,int,完全相同,配对,P7207,中为
From: https://www.cnblogs.com/Kobe303/p/16849322.html

相关文章

  • 洛谷-P2015 二叉苹果树
    二叉苹果树树形dp设计状态:\(dp[u][i]\),表示以结点\(u\)为根的子树,保留\(i\)条边的最大苹果数状态转移:遍历每一个子节点\(v\)保留和\(v\)相连的边:\(dp[u][i]=......
  • 洛谷-P1122 最大子树和
    最大子树和树形dp对于一个节点来说,如果删除掉一个连接子节点的边,则以该子节点为根的子树上面的贡献都会变成\(0\)设计状态:\(dp[u]\),表示以\(u\)为根的子树中,贡献值最......
  • 洛谷 P3183 [HAOI2016]食物链(dfs+记忆化搜索)
    https://www.luogu.com.cn/problem/P3183题目大意:给定n个节点,标号分别为1——n,然后给出m条有向边,问我们不同的食物链路径有多少?输入#1101612141102325......
  • 洛谷P1144
    最短路计数题目描述给出一个\(N\)个顶点\(M\)条边的无向无权图,顶点编号为\(1\simN\)。问从顶点\(1\)开始,到其他每个点的最短路有几条。输入格式第一行包含\(2......
  • 洛谷 P6573 [BalticOI 2017] Toll 题解
    Link算是回归OI后第一道自己写的题(考CSP的时候可没回归)写篇题解纪念一下题目大意:\(n\)个点,\(m\)条单向边,每条边的两端点\(x\),\(y\)必定满足\(\left\lfloor\dfrac......
  • 洛谷P1462spfa + 二分答案
    第一次接触二分答案的题目最开始是没有思路的看了一个题解,然后强行理解之后开始自己打了一遍,然而结果是只得了30分过了3个点其他全wa,之后是漫长的debug,这里想感慨一句自己d......
  • 洛谷 P5369
    先规定一些东西:若存在多个\(p\)使得\(\sum_{i=1}^{p}{a_i}\)最大,默认最大(即最靠右)的一个\(p\)是它的最大前缀和的位置。\(U\)表示全集。假设\(p\)是最大前缀......
  • 洛谷 P1464 Function(dfs+记忆化搜索)
    https://www.luogu.com.cn/problem/P1464单个返回条件的时候,直接return多个返回条件的时候,采用记忆化搜索思想,边存储边继续往下搜索中间穿插记忆化判断,如果之前有过此......
  • 【洛谷P7816 】【Stoi2032】以父之名
    在洛谷题解中看到了两种做法。法一:与zjr巨佬说的类似,我们先能观察出这个图的几个性质:若只保留边权为\(1\)的边,那么所有点的度数都是奇数。那么也可以得到\(n\)为偶......
  • 洛谷 P1153 点和线
    前置知识(1)求两条线段的交点方法1,运用高中的解析几何知识求.方法2,运用向量点积求.考虑向量叉乘。若\(\veca\times\vecb>0\),那么\(\vecb\)在\(\veca\)......