题目:
给出区间(a,b),b >= a,求𝑎 𝑥𝑜𝑟 (𝑎+1) 𝑥𝑜𝑟 (𝑎+2)…..𝑥𝑜𝑟 𝑏。
输入
输入2个数:a b,中间用空格分隔(1 <= a <= b <= 10^9)
输出
输出一个答案
输入样例
3 8
输出样例
11
51nod-2530-最大输出
题目:
给定𝑛个技能,每个技能能打掉对手𝑎𝑖的血,你一共有𝑚次发招的机会,你不能连续使用某一个技能超过𝑘次。问你最多能打掉对手多少血。
输入
第一行3个数n,m,k,(2<=n<=2*10^5 ,1<=m,k<=10^9)
第二行n个数a[1…n],(1<=a[i]<=10^9)
输出
一个数,表示最大值。
1393 01相等串
题目:
给定一个0-1串,请找到一个尽可能长的子串,其中包含的0与1的个数相等。
一个字符串,只包含01,长度不超过1000000。
输出
一行一个整数,最长的0与1的个数相等的子串的长度。
输入样例
1011
输出样例
2
51nod-1890-方块塔
题目:
地上有n个方块,每一个方块高度都是H,第i(1<=i<=n)个方块的长和宽分别为L[i],W[i]。
现在开始堆方块塔,每次可以拿一个方块放到一个方块塔上,但是有一个要求,设当前塔顶的方块长度和宽度分别为Ltop,Wtop,当前拿到的方块长度和宽度分别为Lcur,Wcur,当满足Lcur<=Ltop&&Wcur<=Wtop的时候,这个方块才能被放到塔顶,并且取代之前的塔顶成为新塔顶。
由于土地比较贵,所以想要堆出来的塔的数目尽可能少,请计算最少的塔的数目。
51nod-2652-阶乘0的数量
给出一个数k,求最小的n,使得n的阶乘后面0的数量>=k。
例如k=1,
5的阶乘 = 12345 = 120,120后面有1个0。并且4的阶乘后面没有0,所以5是最小的结果。
51nod-2651-区间和的和
题目:
输入一个长度为𝑛的数组𝑎,𝑎包括(𝑛−1)𝑛/2个区间。每个区间所有数的和,被称为区间和,求所有(𝑛−1)𝑛/2个区间和的和。由于数值较大,输出mod 1e9+7的结果。
输入
第一行一个整数n,表示数组长度(2<=n<=100000)
接下来n行,每行一个整数ai,表示数组的内容。(0<=ai<=50000)
输出
输出答案mod 1e9+7
输入样例
3
1
2
3
输出样例
20
解法:
统计每个数字出现的次数就好了,每个数字出现的次数为该数字左边数字的个数乘右边的。
代码:
1 | using namespace std; |
51nod-2281-树的size之和
题目:
给出一棵n个节点的树,节点编号为1-n(根节点编号为1),每一个节点作为根节点与他所有的子孙节点形成一棵子树,而这棵子树包含节点的数量,称作子树的Size。
例如:
1─2─4─5
└─3
其中节点5的子树只包括节点5,Size = 1。节点4的子树包括节点4,5,Size = 2。节点1的子树包括节点1,2,3,4,5,Size = 5。
求以所有节点为根的子树的Size之和。上面例子中,节点1到5,对应的Size分别为5,3,1,2,1,所有Size的和 = 5 + 3 + 1 + 2 + 1 = 12
51node-2067-n皇后
题目:
n皇后。。。不多bb
直接贴代码了:
51nod-2529-移动
题目:
有𝑛个点,第𝑖号点在一维数轴的𝑖坐标位置。你现在在1号点,你需要走𝑘步,移动总长度为𝑆,问这样的方案是否存在。注意:每一步都至少移动1格,且每一步都必须从一个点移动到另一个点上。