CF949E Binary Cards 题解】的更多相关文章

题面 首先发现:一个数最多会出现1次: 然后深入推出:一个数不会既用它又用它的相反数: 这样就可以依次考虑每一位了: 如果所有的数都不含有这一位,那么就直接把所有的数除以2 如果含有,那么就减去这一位的数,再除以2: 2 当含有的时候搜索就可以了: 注意需通过去重来优化dfs,否则会TLE掉: #include <bits/stdc++.h> #define N 100010 using namespace std; int a[N],b[21][N],ans[N],st[N],top=0;…
剑指offer 面试题39:判断平衡二叉树 提交网址:  http://www.nowcoder.com/practice/8b3b95850edb4115918ecebdf1b4d222?tpId=13&tqId=11192 时间限制:1秒       空间限制:32768K      参与人数:2481 题目描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树. 分析: 平衡二叉树定义 递归解法 AC代码: #include<iostream> #include<vector&…
Description 给出一个长度为 \(n\) 的数组,求使得用最少数量的 \(2^k\) 或 \(-2^k\) 的数,使得数组中的每一个元素都可以被你选出的 \(2\) 的次幂表示 题面 Solution 注意到两个性质: 1.一个数不会用两次,举个例子:用两个 \(2\),不如用 \(2,4\) 范围广 2.一个数不会既用 \(2^k\) 又用 \(-2^k\),显然用 \(-2^k,2^{k+1}\) 或者 \(2^k,-2^{k+1}\) 更优 这样就可以依次考虑每一位了: 如果所有…
原题链接 题意简介 要求有多少种 n 的排列,能够通过二分法正确地找到放在 pos 处的数字 x. 答案对 1e9+7 取模.n<=1000. 采用的二分法如下图: 思路分析 首先,这个排列中有一个位置是固定的,就是 a[pos] = x . 我们知道,二分查找的过程是不断缩小区间的过程,想要找到一个已经确定放在 pos 位置上的 x ,需要判断的 mid 的位置,需要的大于 x 的数的个数 c1 和小于 x 的数的个数 c0 也是固定的. 也就是说,我们只需要模拟这个二分过程,求解出 c0 和…
中文题意: 给你两个长度为 \(n\) 的01串 \(s,f,\)有 \(q\) 次询问. 每次询问有区间 \([\ l,r\ ]\) ,如果 \([\ l,r\ ]\) 同时包含\(0\)和\(1\),则询问终止,否则你可以将区间\([\ l,r\ ]\) 内严格小于 \(len_{lr}\) 的数字. 问是否可以使得询问不终止,且经过 \(q\) 次询问后可以将\(s\)改为\(f\). 前置知识: 线段树 没了 思路: 发现没法正序推过去(反正我不会),考虑根据询问逆推. 那么对于 \(f…
Content 有 \(n\) 张卡牌,每张卡牌上只会有大小写字母和 \(0\sim 9\) 的阿拉伯数字.有这样一个描述:"如果卡牌正面写有元音字母(\(\texttt{A,E,I,O,U}\) 五个字母中的一个),那么它的反面必然是偶数".你很想知道这个描述是否正确,因此你可以选择翻开一些卡牌来验证这个描述.求最坏情况下至少需要翻开的牌的数量. 数据范围:\(1\leqslant n\leqslant 50\). Solution 我们只需要找到元音字母和奇数的牌翻开就行.为什么是…
Content 有一个长度为 \(n\) 的数组 \(a_1,a_2,a_3,...,a_n\),试在其中找到 \(\dfrac{n}{2}\) 对数,使得每个数对的元素的和都相等. 数据范围:\(2\leqslant n\leqslant 100,1\leqslant a_i\leqslant 100\).\(n\) 保证是偶数. Solution 我们先算出这些数的总和 \(s\),然后每个数对的和就是 \(\dfrac{s}{\dfrac{n}{2}}=\dfrac{2s}{n}\),又由…
Solution 简单写一下思考过程,比较水的数论题 第一个答案几乎已经是可以背下来的,在此不再赘述 考虑我们已经知道了\((p,q)\),其中\((p \perp q) \wedge (q \perp 2)\),要求的是循环长度 首先看看样例的\(\frac{1}{5}\)怎么做呢 观察答案,可以得到$$\frac{1}{5}=\sum_{t>0}(\frac{3}{16^t})$$ 简单思考一下,发现答案和\(p\)没关系,和\(q\)的关系为 \[\frac{1}{q}=\sum_{t>…
版权声明: 本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. C#版 - 226. Invert Binary Tree - 题解 在线提交: https://leetcode.com/problems/invert-binary-tree/ 或 http://www.nowcoder.com/practice/564f4c26aa584921bc75623e48ca301…
Binary Search基础 应用于已排序的数据查找其中特定值,是折半查找最常的应用场景.相比线性查找(Linear Search),其时间复杂度减少到O(lgn).算法基本框架如下: //704. Binary Search int search(vector<int>& nums, int target) { //nums为已排序数组 ,j=nums.size()-; while(i<=j){ ; if(nums[mid]==target) return mid; ; ;…