洛谷P1633 二进制】的更多相关文章

P1633 二进制 题目描述 有三个整数A.B.C,以下用N(2)表示N的二进制(没有前导0). 设A(2).B(2).C(2)的最大长度为L,你需要构造三个正整数X.Y.Z,满足以下条件: (1) X(2).Y(2).Z(2)的长度都不超过L. (2) A(2)与X(2)中1的个数相同. (3) B(2)与Y(2)中1的个数相同. (4) C(2)与Z(2)中1的个数相同. (5) X+Y=Z.. 输入输出格式 输入格式: 第一行包含一个正整数T,表示有T组测试数据. 接下来T行,每行三个正整…
正解:线段树 解题报告: 传送门! 话说开始看到这题的时候我想得hin简单 因为关于%3有个性质就是说一个数的各个位数之和%3=这个数%3嘛,小学基础知识? 我就想着,就直接建一棵树,只是这棵树要用个数据结构分别存下%3=0,1,2然后大力走一波就好辣 然后我仔细思考了一下,发现因为它是要连续一个区间所以我可能这个数据结构中要有9个数 前三个不变,第四个到第六个是连着左边的%3的余数,第七个到第九个是连着右边的%3的余数,依然是大力走一波 但是我jio得应该不会出这种并没有思维难度然而实现难度又…
P2104 二进制 题目描述 小Z最近学会了二进制数,他觉得太小的二进制数太没意思,于是他想对一个巨大二进制数做以下 4 种基础运算: 运算 1:将整个二进制数加 1 运算 2:将整个二进制数减 1 运算 3:将整个二进制数乘 2 运算 4:将整个二进制数整除 2 小Z很想知道运算后的结果,他只好向你求助. (Ps:为了简化问题,数据保证+,-操作不会导致最高位的进位与退位) 输入输出格式 输入格式: 第一行两个正整数 n,m,表示原二进制数的长度以及运算数. 接下来一行 n 个字符,分别为‘0…
题目 字符串模拟+并查集 建立两个并查集分别存放每个变量的每一位数的祖先,一个是1一个是2 考虑每个字母的每一位的数都是唯一的,先模拟,记录每一个变量的每一位. 一一映射到方程中去,最后将两个方程进行一一比较,然后合并并查集.中间判断是否出现一位既是1又是2的情况 最后统计自由元的个数cnt,高精求解2^cnt #include <iostream> #include <cstdio> #include <algorithm> #include <cstring&…
题目链接 [洛谷传送门] 题解 按位处理. 把每一位对应的图都处理出来 然后单调栈处理一下就好了. \(and\)操作处理全\(1\). \(or\)操作处理全\(0\). 代码 #include <bits/stdc++.h> #define gc getchar using namespace std; typedef long long ll; const int N = 1000 + 4; const int P = 1e9 + 7; const int BIT = 31; int n…
题面 Bzoj 洛谷 题解 考虑一个什么样的区间满足重组之后可以变成\(3\)的倍数.不妨设\(tot\)为一个区间内\(1\)的个数.如果\(tot\)是个偶数,则这个区间一定是\(3\)的倍数,接着考虑奇数的情况. 如果只有\(1\)个\(1\),那么无论如何都不行,只需考虑\(3\)个\(1\)的情况,因为其他的\(1\)可以看做偶数个\(1\)的情况.不难发现,当只有\(3\)个\(1\)的时候,我们需要有至少\(2\)个\(0\),接着就可以用线段树来维护了. 我们考虑记录三个数组,\…
洛谷P1017 进制转换 题目描述 我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置的(值减1)为指数,以10为底数的幂之和的形式.例如:123可表示为 \(1*10^2+2*10^1+3*10^0\) 这样的形式. 与之相似的,对二进制数来说,也可表示成每个二进制数码乘以一个以该数字所处位置的(值-1)为指数,以2为底数的幂之和的形式.一般说来,任何一个正整数R或一个负整数-R都可以被选来作为一个数制系统的基数.如果是以R或-R为基数,则需要用到的数码为 0,…
洛谷1117 棋盘游戏 题目描述 在一个4*4的棋盘上有8个黑棋和8个白棋,当且仅当两个格子有公共边,这两个格子上的棋是相邻的.移动棋子的规则是交换相邻两个棋子.现在给出一个初始棋盘和一个最终棋盘,要求你找出一个最短的移动序列使初始棋盘变为最终棋盘. Klux说:“这么简单的题目,我都会做!” 输入输出格式 输入格式: 第1到4行每行四个数字(1或者0),描述了初始棋盘 接着是一个空行 第6到9行每行四个数字,描述了最终棋盘 输出格式: 输出文件的只有一行是一个整数n,表示最少的移动步数. 输入…
洛谷1377 M国王 (SCOI2005互不侵犯King) 本题地址:http://www.luogu.org/problem/show?pid=1377 题目描述 天天都是n皇后,多么无聊啊.我们来一道m国王游戏吧!    题目是这样的,在n*n的格子里放m个国王,使他们不互相攻击,有多少种放法呢?(可以为0)    国王的攻击力大不如皇后,他只能对与他相邻的8个格子产生攻击. 输入输出格式 输入格式: n,m 输出格式: 方案数 输入输出样例 输入样例#1: 1 1 输出样例#1: 1 说明…
推荐洛谷 题目描述 我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置的(值减1)为指数,以10为底数的幂之和的形式.例如:123可表示为 1*10^2+2*10^1+3*10^0这样的形式. 与之相似的,对二进制数来说,也可表示成每个二进制数码乘以一个以该数字所处位置的(值-1)为指数,以2为底数的幂之和的形式.一般说来,任何一个正整数R或一个负整数-R都可以被选来作为一个数制系统的基数.如果是以R或-R为基数,则需要用到的数码为 0,1,....R-1.例如,…