数论中的异或 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 75(41 users) Total Accepted: 35(30 users) Rating:  Special Judge: No Description 给出两集合A和B, 找出最小的非负整数x使得A⊕x=B.假设A={a1,a2,-,an}, A⊕x={a1⊕x,a2⊕x,-,an⊕x}.⊕代表异或操作 Input 输入的第一行是一个整数T,表示一共有T组测试数…
题目链接:https://cn.vjudge.net/contest/285962#problem/G 题目大意:给你n和m,n代表有n个数,然后让你找出一个最长的区间,使得这个区间内的所有的数的‘’或‘’都小于等于m. 具体思路:曲尺,两个指针来回弄就行,具体的细节在代码里面,(以前做过的题现在竟然做不出来了,,我) AC代码: #include<iostream> #include<stack> #include<stdio.h> #include<cmath…
为什么位运算可以实现加法(1. 不考虑进位的情况下位运算符中的异或^可以表示+号)(2. 位运算符中的与运算符&和左移运算符<<可以模拟加法中的进位)(3.位运算不仅可以做加法,还可以做其它的乘法减法等:计算机本质是二进制运算) 一.总结 1. 不考虑进位的情况下位运算符中的异或^可以表示+号 2. 位运算符中的与运算符&和左移运算符<<可以模拟加法中的进位 3.位运算不仅可以做加法,还可以做其它的乘法减法等:计算机本质是二进制运算,许多高人和天书都展示了如何用位运…
思维导图的制作并不是一项简单的工作,尤其是对许多工作或学习有特殊要求的朋友而言,当我们需要应对不同场景制作不同的思维导图时,总不能都靠自己从头制作,这样难度比较大也比较耗时.而iMindMap(win系统)中有应对各种场景所需的思维导图模板,可以极大地节约我们制作思维导图的时间.接下来,小编想向大家分享使用iMindMap模板制作思维导图的过程. 第一步:选择模板,首先,我们需要打开iMindMap软件主界面,在使用模板新建一栏中选择模板.而且iMindMap中模板非常丰富,可以根据右下角的ed…
Xor 思维题 题目描述 小\(Q\)与小\(T\)正在玩一棵树.这棵树有\(n\)个节点,编号为 \(1\),\(2\) \(3...n\),由\(n-1\)条边连接,每个节点有一个权值\(w_i\). 在这个游戏中,小 \(Q\) 需要选择一些节点.他可以选择任意个数的点(小\(Q\)一定会选择最优策略),但是一条边连接的两个节点不能同时被选. 当小\(Q\)选完后,小\(T\)将选择剩下的节点.这样这棵树上的每个点都将被小\(Q\)或者小\(T\)选择. 最后两人的分数分别为自己选择的点的…
PJ考试可能会用到的数学思维题选讲 by Pleiades_Antares 是学弟学妹的讲义--然后一部分题目是我弄的一部分来源于洛谷用户@ 普及组的一些数学思维题,所以可能有点菜咯别怪我 OI中的数学题--你会你就能做,不会做就是真的做不出来QAQ 鲁迅曾说:一入数学深似海,从此AC是路人. 一些会说到的题目:(都是洛谷编号) 这些题目全都是原来NOIP考过的真题喔 1010 1014 1029 1035 1045 1075 1012 1351 2119 ok咱们开始说 第一题,洛谷P1010…
Description 小Y最近从同学那里听说了一个十分牛B的高级数据结构——块状树.听说这种数据结构能在sqrt(N)的时间内维护树上的各种信息,十分的高效.当然,无聊的小Y对这种事情毫无兴趣,只是对把树分块这个操作感到十分好奇.他想,假如能把一棵树分成几块,使得每个块中的点数都相同该有多优美啊!小Y很想知道,能有几种分割方法使得一棵树变得优美.小Y每次会画出一棵树,但由于手速太快,有时候小Y画出来的树会异常地庞大,令小Y感到十分的苦恼.但是小Y实在是太想知道答案了,于是他找到了你,一个天才的…
思维题--code forces round# 551 div.2 题目 D. Serval and Rooted Tree time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Now Serval is a junior high school student in Japari Middle School, and he is…
Each month Blake gets the report containing main economic indicators of the company "Blake Technologies". There are n commodities produced by the company. For each of them there is exactly one integer in the final report, that denotes correspond…
UVA.699 The Falling Leaves (二叉树 思维题) 题意分析 理解题意花了好半天,其实就是求建完树后再一条竖线上的所有节点的权值之和,如果按照普通的建树然后在计算的方法,是不方便实现的,思维转换,在数组中实现,从根节点,向左的话即在a[root-1]的位置累加上节点权值,再向左即在a[root-2]位置累加权值,向右则在a[root+1]的位置累加权值,以此类推,方可实现求和的要求. 代码总览 #include <cstdio> #include <cstring&…
UVA.11636 Hello World! (思维题) 题意分析 这题挺水的,还是错了几发. QWQ. 有一个同学打了一行hello world,现在他想打n行hello world,请问最少复制粘贴几次. 先说说我的XX想法.绝对是中了二进制的邪!样例给给打好呀,如果我想输出4个,那么复制一次,得到2个,再复制一次得到4个.然后就莫名其妙的和二进制连起来了. 十进制----二进制 0----–00000000 1----–00000001 2----–00000010 3----–00000…
UVA.11464 Even Parity (思维题 开关问题) 题目大意 给出一个n*n的01方格,现在要求将其中的一些0转换为1,使得每个方格的上下左右格子的数字和为偶数(如果存在的话),求使得最小的转换的个数. 最先想到的是枚举每个方格的状态,非0即1,那么就有2^(n*n)种情况,可见数量之大,必定超时.那么就必须要转换思路. 不难看出这是一个开关问题,就是说可以根据一行的数据,推算出下一行的数据,然后顺次推算出整个格子的数据,之后再来看改变了多少的01序列,求出最小的结果.(稍后会演示…
UVALive.2995 Image Is Everything (思维题 三维坐标转换) 题意分析 这题实在是没思路,就照着打了一遍,把不理解的地方,写了注释. #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #define REP(i,n) for(int i = 0; i<(n) ;++i)// 宏定义一个for循环 #define nma…
UVA.11300 Spreading the Wealth (思维题) 题意分析 现给出n个人,每个人手中有a[i]个数的金币,每个人能给其左右相邻的人金币,现在要求你安排传递金币的方案,使得每个人手中的金币个数相等,并求出转移金币的最小个数.保证(Σa[i])/n为整数. 第一眼没有思绪,这种推导方式还是第一次见到. 设ai为第i个人初始金币数量,xi为第i个人转移给i-1个人金币的数量(i为1表示转移给第n个人),(Σa[i])/n = m. 有了上述的基础,可以写出每个人的金币表达式:…
I. Interesting Integers 传送门 应该是叫思维题吧,反正敲一下脑壳才知道自己哪里写错了.要敢于暴力. 这个题的题意就是给你一个数,让你逆推出递推的最开始的两个数(假设一开始的两个数为x和y),而且要求x<=y. 通过找规律可以发现,这个题就是求解a*x+b*y=k这个方程的x和y的值,并且要x和y为最小满足条件的解.可以找规律出一个公式fi[i]*x+(fi[i-1]+fi[i])*y=n.因为不知道n具体是在第几步推出来的,所以for循环跑一遍预处理出来的斐波那契数列(存…
[题解] 思维题,看了别人的博客才会写. 写出这样的矩阵: 1,3,9,... 2,6,18,... 4,12.36,... 8,24,72,... 我们要做的就是从矩阵中选出一些数字,但是不能选相邻的. 我们可以发现,在100000的范围内,这个矩阵最多只有18行,11列. 那么这个矩阵的取数字的方案数直接状压DP即可.f[i][j]表示第i行,状态为j的方案数,转移就是f[i][j]=sigma(f[i-1][k]) ,条件是(j&k==0且k&(k>>1)==0) 但是这…
思维题 此题应该是比较偏思维的. 假设一次反射后前进的距离是\(2^x(2y+1)\),则显然,它可以看做是前进距离为\(2^x\)的光线经过了\((2y+1)\)次反射,两者是等价的,甚至后者可能还要更优. 因此,我们只需考虑前进距离为\(2^x\)的光线. 也就是说,我们枚举\(x\),统计\((2^x+a_i)\% 2^{x+1}\)与\(b_i\%2^{x+1}\)中众数的出现次数的最大值. 关于众数的统计,我很\(naive\)地开了个\(map\),实际上,似乎用排序可以得到更优秀的…
Online Judge:Hdu5155 Label:思维题+容斥,计数Dp 题面: 题目描述 给定一个大小为\(N*M\)的神奇盒子,里面每行每列都至少有一个钻石,问可行的排列方案数.由于答案较大,输出对\(1e9+7\)取模后的结果. 输入 多组数据.每组数据读入两个整数\(N,M\) \(0≤N,M≤50\) 输出 每组数据输出一行表示答案. 样例 Input 1 1 2 2 2 3 Output 1 7 25 Hint There are 7 possible arrangements…
Online Judge:Luogu-P2160 Label:思维题,Dp,空间优化 题面: 题目描述 给\(N\)本书,每本书有高度\(Hi\),厚度\(Ti\).要摆在一个三层的书架上. 书架的宽是每层书厚度和的最大值.书架的高度是每层最高书的高度之和. 求如何放书,使得书架的面积最小. 输入 第一行一个整数\(n\),表示书本的个数. 接下来\(n\)行,每行2个整数,表示每本书的高度和厚度. 输出 输出一个整数,表示书架的最小面积. 样例 Input 4 220 29 195 20 20…
Online Judge:UVA12235 Label:思维题,状态定义,状压Dp 题面: 题目描述 有一个书架,上面放了n本书,从左往右的第i本书的高度为h[i].定义书架的混乱度为连续等高段的个数. 例如:{30,30,31,31,32}的混乱度为3:{30,32,32,31}的混乱度为3:{31,32,31,32,31}的混乱度为5. 现在你可以从中抽出至多k本书,然后将他们随意放回书架任意位置,求最终最小的混乱度. 对于100%的数据,N的范围[1,500],K的范围[1,100],书的…
https://vjudge.net/problem/2135388/origin Describe You are given an integer sequence 1,2,-,n. You have to divide it into two sets A and B in such a way that each element belongs to exactly one set and |sum(A)−sum(B)| is minimum possible. The value |x…
题目地址: 选题为入门的Codeforce div2/div1的C题和D题. 题解: A:CF思维联系–CodeForces -214C (拓扑排序+思维+贪心) B:CF–思维练习-- CodeForces - 215C - Crosses(思维题) C:CF–思维练习–CodeForces - 216C - Hiring Staff (思维+模拟) D:CF思维联系–CodeForces-217C C. Formurosa(这题鸽了) E:CF思维联系–CodeForces - 218C E…
题面传送门 很容易发现一件事情,那就是数组的每一位都是独立的,但由于这题数组长度 \(n\) 很大,我们不能每次修改都枚举每一位更新其对答案的贡献,这样复杂度必炸无疑.但是这题有个显然的突破口,那就是 \(k\) 的取值范围很小,最高只有 \(12\),也就是说每一位的取值最多只有 \(12\) 种可能,我们考虑以此为突破口,设计一个与这 \(k\) 个数的具体取值无关的状态. 首先我们知道每一位是独立的,故我们可以把每一位拆开来考虑,于是问题由二维变成一维:给定 \(k\) 个数 \(a_1,…
Atcoder 题面传送门 & 洛谷题面传送门 这是一道难度 Cu 的 AGC E,碰到这种思维题我只能说:not for me,thx 然鹅似乎 ycx 把题看错了? 首先这个平方与乘法比较喜闻乐见,很容易与组合联系在一起,于是我们不妨把题目条件翻译成组合的语言: 有一排 \(n\) 个格子,你要在其中插入若干个隔板将其隔成若干段 有 \(m\) 个特殊格子 \(a_1,a_2,\dots,a_m\),\(\forall i\in [1,m]\) 你禁止在 \(a_i\) 与 \(a_{i}+…
题面传送门 一道挺有意思的思维题. 首先有一个 obvious 的结论,就是对于每个炉子,要么转到哪里都符合条件,要么存在唯一的最大值.对于转到哪儿都符合条件的炉子我们 duck 不必考虑它,故我们只用考虑存在唯一最大值的炉子即可,我们记 \(a_i\) 表示第 \(i\) 个炉子需顺时针旋转多少次才能到达火力最大的位置,那么对一个区间 \([l,r]\) 进行逆时针旋转 \(c\) 格的操作就等价于令 \([l,r]\) 中的 \(a_i\) 在模 \(7\) 意义下全部加 \(c\),我们要…
题目 题意:一个人可以在一分钟同时进行m道菜的一个步骤,共有n道菜,每道菜各有xi个步骤,求做完的最短时间. 思路:一道很水的思维题, 根本不需要去 考虑模拟过程 以及先做那道菜(比赛的时候就是这么考虑的). 只是需要判断总数的平均值 和 耗时最大的一道菜 哪个最大.. #include <iostream> #include <cstdio> #include <cstring> #include <cstring> #include <cmath&…
题目:http://codeforces.com/contest/374/problem/A 题意:求到达边界的最小步数.. 刚开始以为是 bfs,不过数据10^6太大了,肯定不是... 一个思维题,要注意超边界... #include <iostream> #include <cstring> #include <algorithm> using namespace std; <<); int n,m,x,y,a,b; int ok(int x1,int…
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3829 现场做这道题的时候,感觉是思维题.自己智商不够.不敢搞,想着队友智商好,他们搞吧.可是没出来这题...... 以后不论什么时候,都自信点....该想的还是好好自己想,这类题感觉就是先去找性质,然后一点点找规律,假设必要的话.自己提出一点猜想.然后假设自己举不出来反例,就临时觉得是正确的 下午搞了一下午.发现还是悲剧,晚上參考了两个题解 http://blog.csd…
思维题,好题 把每条边的边权平分到这条边的两个顶点上,之后就是个sb贪心了 正确性证明: 如果一条边的两个顶点被一个人选了,一整条边的贡献就凑齐了 如果分别被两个人选了,一作差就抵消了,相当于谁都没有 代码 #include <bits/stdc++.h> #define rep(i,x,y) for(i=(x);i<=(y);++i) using namespace std; double a[10010]; int main(){ int n,m,i,x,y,z; double an…
C. Nice Garland time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output You have a garland consisting of nn lamps. Each lamp is colored red, green or blue. The color of the ii-th lamp is sisi ('R',…