- 博客(218)
- 收藏
- 关注
原创 1094 和为k的连续区间
一整数数列a1, a2, ... , an(有正有负),以及另一个整数k,求一个区间[i, j],(1 <= i <= j <= n),使得a[i] + ... + a[j] = k。收起输入第1行:2个数N,K。N为数列的长度。K为需要求的和。(2 <= N <= 10000,-10^9 <= K <= 10^9)第2 - N + 1行:...
2019-02-21 15:21:23
360
原创 1418 放球游戏
有N个球排成一排,每个球都是R、G、B三种颜色之一。现在想重新排列这一排球,你要重复以下过程N次:1)从原来的那排球中的最左侧取出一个球;2)将取出的求插入新的球排列的任意位置,即可以放在最左或最右端,也可以插入那排球的任意两个相邻球之间;3)计算这轮得分,如果是第一个球那么得0分;如果放在两端(最左或最右端)得分为除了新放入的球外,剩余球的颜色种数;如果放在两个球之间,那么得分为这个新放入...
2019-02-21 14:32:36
290
原创 1247 可能的路径
在一个无限大的二维网格上,你站在(a,b)点上,下一步你可以移动到(a + b, b), (a, a + b), (a - b, b), 或者 (a, a - b)这4个点。给出起点坐标(a,b),以及终点坐标(x,y),问你能否从起点移动到终点。如果可以,输出"Yes",否则输出"No"。例如:(1,1) 到 (2,3),(1,1) -> (2,1) -> (2,3)。收...
2019-02-21 13:50:17
284
原创 1925 进制转换
有一个变进制系统从低位到高位的权值依次是 1,3,7,15,31,...1,3,7,15,31,... 。即第i(i>=0)位的权值是 2i+1−12i+1−1 。每一位数字是0,1,或者2。现在有一个十进制的数字n,想要把它转换成变进制系统下面的表示。由于有2的存在,这种转换可能会有多种可能,现在规定2只能作为最低非0位出现,这种情况下,表示就唯一了。比如44可能用15+15+7+7(...
2019-02-20 17:39:17
273
原创 1050 循环数组最大子段和
N个整数组成的循环序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的连续的子段和的最大值(循环序列是指n个数围成一个圈,因此需要考虑a[n-1],a[n],a[1],a[2]这样的序列)。当所给的整数均为负数时和为0。例如:-2,11,-4,13,-5,-2,和最大的子段为:11,-4,13。和为20。收起输入第1行:整数序列的长度N...
2019-02-20 13:28:46
159
原创 1489 蜥蜴和地下室
哈利喜欢玩角色扮演的电脑游戏《蜥蜴和地下室》。此时,他正在扮演一个魔术师。在最后一关,他必须和一排的弓箭手战斗。他唯一能消灭他们的办法是一个火球咒语。如果哈利用他的火球咒语攻击第i个弓箭手(他们从左到右标记),这个弓箭手会失去a点生命值。同时,这个咒语使与第i个弓箭手左右相邻的弓箭手(如果存在)分别失去b(1 ≤ b < a ≤ 10)点生命值。因为两个端点的弓箭手(即标记为1和n的弓箭...
2019-02-20 12:52:33
128
原创 1116 K进制下的大数
有一个字符串S,记录了一个大数,但不知这个大数是多少进制的,只知道这个数在K进制下是K - 1的倍数。现在由你来求出这个最小的进制K。例如:给出的数是A1A,有A则最少也是11进制,然后发现A1A在22进制下等于4872,4872 mod 21 = 0,并且22是最小的,因此输出k = 22(大数的表示中A对应10,Z对应35)。收起输入输入大数对应的字符串S。S的长度小于10^...
2019-02-20 11:55:51
244
原创 1035 最长的循环节
正整数k的倒数1/k,写为10进制的小数如果为无限循环小数,则存在一个循环节,求<=n的数中,倒数循环节长度最长的那个数,假如存在多个最优的答案,输出所有答案中最大的那个数。 1/6= 0.1(6) 循环节长度为11/7= 0.(142857) 循环节长度为61/9= 0.(1) 循环节长度为1收起输入输入n(10 <= n <= 1000)输...
2019-02-19 15:30:35
520
原创 1413 权势二进制
一个十进制整数被叫做权势二进制,当他的十进制表示的时候只由0或1组成。例如0,1,101,110011都是权势二进制而2,12,900不是。当给定一个n的时候,计算一下最少要多少个权势二进制相加才能得到n。收起输入单组测试数据。第一行给出一个整数n (1<=n<=1,000,000)输出输出答案占一行。输入样例9输出样例9我看到他...
2019-02-19 14:29:57
175
原创 1393 0和1相等串
给定一个0-1串,请找到一个尽可能长的子串,其中包含的0与1的个数相等。收起输入一个字符串,只包含01,长度不超过1000000。输出一行一个整数,最长的0与1的个数相等的子串的长度。输入样例1011输出样例2我发现脑洞一定要大,越大越好,不然有些办法你想不出来, 如果0和1的个数相等,我们要做的事情就是找到最长的区间[i+1~j]:使得s[...
2019-02-19 14:05:34
658
原创 1272 最大距离
给出一个长度为N的整数数组A,对于每一个数组元素,如果他后面存在大于等于该元素的数,则这两个数可以组成一对。每个元素和自己也可以组成一对。例如:{5, 3, 6, 3, 4, 2},可以组成11对,如下(数字为下标):(0,0), (0, 2), (1, 1), (1, 2), (1, 3), (1, 4), (2, 2), (3, 3), (3, 4), (4, 4), (5, 5)。其中(...
2019-02-19 13:28:10
272
原创 1396 还是01串
给定一个0-1串s,长度为n,下标从0开始,求一个位置k,满足0<=k<=n, 并且子串s[0..k - 1]中的0的个数与子串s[k..n - 1]中1的个数相等。 注意:(1) 如果k = 0, s[0..k - 1]视为空串(2) 如果k = n, s[k..n - 1]视为空串(3) 如果存在多个k值,输处任何一个都可以(4) 如果不存在这样的k值,请输出-1...
2019-02-18 17:18:06
218
原创 1102 面积最大的矩形
有一个正整数的数组,化为直方图,求此直方图包含的最大矩形面积。例如 2,1,5,6,2,3,对应的直方图如下: 面积最大的矩形为5,6组成的宽度为2的矩形,面积为10。收起输入第1行:1个数N,表示数组的长度(0 <= N <= 50000)第2 - N + 1行:数组元素A[i]。(1 <= A[i] <= 10^9)输出输出最...
2019-02-18 15:40:30
340
原创 1417 天堂里的游戏
多年后,每当Noder看到吉普赛人,就会想起那个遥远的下午。 Noder躺在草地上漫无目的的张望,二楼的咖啡馆在日光下闪着亮,像是要进化成一颗巨大的咖啡豆。天气稍有些冷,但草还算暖和。不远的地方坐着一个吉普赛姑娘,手里拿着塔罗牌,带着耳机,边上是她的狗。狗看起来有点凶,姑娘却漂亮。Noder开始计算各种搭讪方式的成功概率,然而狗的存在......。 奇怪的事情发生了,姑娘自己走了过...
2019-02-18 14:43:31
480
原创 1315 合法整数集
一个整数集合S是合法的,指S的任意子集subS有Fun(SubS)!=X,其中X是一个固定整数,Fun(A)的定义如下:A为一个整数集合,设A中有n个元素,分别为a0,a1,a2,...,an-1,那么定义:Fun(A)=a0 or a1 or ... or an-1;Fun({}) = 0,即空集的函数值为0.其中,or为或操作。现在给你一个集合Y与整数X的值,问在集合Y至少删除多少个元...
2019-02-18 13:45:53
216
原创 1001 数组中和等于K的数对
给出一个整数K和一个无序数组A,A的元素为N个互不相同的整数,找出数组A中所有和等于K的数对。例如K = 8,数组A:{-1,6,5,3,4,2,9,0,8},所有和等于8的数对包括(-1,9),(0,8),(2,6),(3,5)。收起输入第1行:用空格隔开的2个数,K N,N为A数组的长度。(2 <= N <= 50000,-10^9 <= K <= 10^...
2019-02-18 13:15:55
306
原创 1065 最小正子段和
N个整数组成的序列a[1],a[2],a[3],…,a[n],从中选出一个子序列(a[i],a[i+1],…a[j]),使这个子序列的和>0,并且这个和是所有和>0的子序列中最小的。例如:4,-1,5,-2,-1,2,6,-2。-1,5,-2,-1,序列和为1,是最小的。收起输入第1行:整数序列的长度N(2 <= N <= 50000)第2 - N+1行...
2019-02-17 18:24:21
320
原创 1632 B君的连通
B国拥有n个城市,其交通系统呈树状结构,即任意两个城市存在且仅存在一条交通线将其连接。A国是B国的敌国企图秘密发射导弹打击B国的交通线,现假设每条交通线都有50%的概率被炸毁,B国希望知道在被炸毁之后,剩下联通块的个数的期望是多少? 收起输入一个数n(2<=n<=100000)接下来n-1行,每行两个数x,y表示一条交通线。(1<=x,y<=n)数据保...
2019-02-17 16:25:08
212
原创 1127 最短的包含字符串
给出一个字符串,求该字符串的一个子串s,s包含A-Z中的全部字母,并且s是所有符合条件的子串中最短的,输出s的长度。如果给出的字符串中并不包括A-Z中的全部字母,则输出No Solution。收起输入第1行,1个字符串。字符串的长度 <= 100000。输出输出包含A-Z的最短子串s的长度。如果没有符合条件的子串,则输出No Solution。输入样例BVC...
2019-02-17 16:02:08
277
原创 1268 和为K的组合
给出N个正整数组成的数组A,求能否从中选出若干个,使他们的和为K。如果可以,输出:"Yes",否则输出"No"。收起输入第1行:2个数N, K, N为数组的长度, K为需要判断的和(2 <= N <= 20,1 <= K <= 10^9)第2 - N + 1行:每行1个数,对应数组的元素A[i] (1 <= A[i] <= 10^6)输出...
2019-02-17 15:31:42
280
原创 1013 3的幂的和
求:3^0 + 3^1 +...+ 3^(N) mod 1000000007收起输入输入一个数N(0 <= N <= 10^9)输出输出:计算结果输入样例3输出样例40快速幂应该不陌生了,算法书上有,至于等比数列就得回顾高中的知识了,你根据等比数列求和,然后快速幂就可以。#include<stdio.h>#include...
2019-02-17 14:51:52
281
原创 1021 石子归并
N堆石子摆成一条线。现要将石子有次序地合并成一堆。规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的代价。计算将N堆石子合并成一堆的最小代价。 例如: 1 2 3 4,有不少合并方法1 2 3 4 => 3 3 4(3) => 6 4(9) => 10(19)1 2 3 4 => 1 5 4(5) => 1 9(14) =&g...
2019-02-16 16:22:21
173
原创 1770 数数字
统计一下 aaa ⋯ aaan个a × baaa ⋯ aaa⏟n个a × b 的结果里面有多少个数字d,a,b,d均为一位数。样例解释:3333333333*3=9999999999,里面有10个9。收起输入多组测试数据。第一行有一个整数T,表示测试数据的数目。(1≤T≤5000)接下来有T行,每一行表示一组测试数据,有4个整数a,b,d,n...
2019-02-16 15:09:23
607
原创 1267 4个数和为0
给出N个整数,你来判断一下是否能够选出4个数,他们的和为0,可以则输出"Yes",否则输出"No"。收起输入第1行,1个数N,N为数组的长度(4 <= N <= 1000)第2 - N + 1行:A[i](-10^9 <= A[i] <= 10^9)输出如果可以选出4个数,使得他们的和为0,则输出"Yes",否则输出"No"。输入样例5
2019-02-16 14:34:50
474
原创 1097 拼成最小的数
设有n个正整数,将它们联接成一排,组成一个最小的多位整数。 例如:n=2时,2个整数32,321连接成的最小整数为:32132,n=4时,4个整数55,31,312, 33 联接成的最小整数为:312313355收起输入第1行:1个数N。(2 <= N <= 10000)第2 - N + 1行:每行1个正整数。(1 <= A[i] <= 10...
2019-02-16 14:09:35
366
原创 1639 绑鞋带
有n根鞋带混在一起,现在重复n次以下操作:随机抽出两个鞋带头,把它们绑在一起。可以想象,这n次之后將不再有单独的鞋带头,n条鞋带系成了一些环。那么有多大概率刚好所有这些鞋带只形成了一个环?收起输入仅一行,包含一个整数n (2<=n<=1000)。输出输出一行,为刚好成环的概率。输入样例2输出样例0.666667数学的重要性,考虑n根鞋带...
2019-02-16 13:32:55
236
原创 1086 背包问题 V2
1086 背包问题 V2有N种物品,每种物品的数量为C1,C2......Cn。从中任选若干件放在容量为W的背包里,每种物品的体积为W1,W2......Wn(Wi为整数),与之相对应的价值为P1,P2......Pn(Pi为整数)。求背包能够容纳的最大价值。收起输入第1行,2个整数,N和W中间用空格隔开。N为物品的种类,W为背包的容量。(1 <= N <= 100,...
2019-02-16 11:04:54
352
原创 1100 斜率最大
平面上有N个点,任意2个点确定一条直线,求出所有这些直线中,斜率最大的那条直线所通过的两个点。(点的编号为1-N,如果有多条直线斜率相等,则输出所有结果,按照点的X轴坐标排序,正序输出。数据中所有点的X轴坐标均不相等,且点坐标为随机。)收起输入第1行,一个数N,N为点的数量。(2 <= N <= 10000)第2 - N + 1行:具体N个点的坐标,X Y均为整数(...
2019-02-16 10:49:21
253
原创 1179 最大的最大公约数
给出N个正整数,找出N个数两两之间最大公约数的最大值。例如:N = 4,4个数为:9 15 25 16,两两之间最大公约数的最大值是15同25的最大公约数5。收起输入第1行:一个数N,表示输入正整数的数量。(2 <= N <= 50000)第2 - N + 1行:每行1个数,对应输入的正整数.(1 <= S[i] <= 1000000)输出输出两两...
2019-02-16 10:03:49
487
3
原创 1099 任务执行顺序
有N个任务需要执行,第i个任务计算时占R[i]个空间,而后会释放一部分,最后储存计算结果需要占据O[i]个空间(O[i] < R[i])。例如:执行需要5个空间,最后储存需要2个空间。给出N个任务执行和存储所需的空间,问执行所有任务最少需要多少空间。收起输入第1行:1个数N,表示任务的数量。(2 <= N <= 100000)第2 - N + 1行:每行2个数...
2019-02-16 09:39:09
266
原创 1117 聪明的木匠
一位老木匠需要将一根长的木棒切成N段。每段的长度分别为L1,L2,......,LN(1 <= L1,L2,…,LN <= 1000,且均为整数)个长度单位。我们认为切割时仅在整数点处切且没有木材损失。木匠发现,每一次切割花费的体力与该木棒的长度成正比,不妨设切割长度为1的木棒花费1单位体力。例如:若N=3,L1 = 3,L2 = 4,L3 = 5,则木棒原长为12,木匠可以有多种...
2019-02-16 09:18:05
369
原创 1024 矩阵中不重复的元素
一个m*n的矩阵。 该矩阵的第一列是a^b,(a+1)^b,.....(a + n - 1)^b第二列是a^(b+1),(a+1)^(b+1),.....(a + n - 1)^(b+1).......第m列是a^(b + m - 1),(a+1)^(b + m - 1),.....(a + n - 1)^(b + m - 1)(a^b表示a的b次方) 下面是一个4...
2019-02-15 19:00:34
226
原创 1390 游戏得分
A与B两人玩一个游戏,这个游戏有若干个回合(可能0回合)。游戏的回合依次标号为1,2,3,4...。你不需要关心游戏的内容,现在只要知道第i回合胜者会获得2*i-1分,每回合游戏不存在平局。现在已知A和B在游戏结束时各获得了x分与y分的总分。问A在这个游戏中至少获胜了几盘?如果给出的x与y一定不会出现那么输出-1.收起输入多组测试数据,第一行一个整数T,表示测试数据数量,1<=...
2019-02-15 17:02:53
175
原创 1414 冰雕
白兰大学正在准备庆祝成立256周年。特别任命副校长来准备校园的装扮。校园的中心竖立着n个冰雕。这些雕像被排在一个等分圆上,因此他们形成了一个正n多边形。这些冰雕被顺针地从1到n编号。每一个雕有一个吸引力t[i].校长来看了之后表示不满意,他想再去掉几个雕像,但是剩下的雕像必须满足以下条件:· 剩下的雕像必须形成一个正多边形(点数必须在3到n之间,inclusive),...
2019-02-15 16:42:07
202
原创 1285 山峰和分段
用一个长度为N的整数数组A,描述山峰和山谷的高度。山峰需要满足如下条件, 0 < P < N - 1 且 A[P - 1] < A[P] > A[P + 1]。 以上图为例,高度为:1 5 3 4 3 4 1 2 3 4 6 2。现在要将整个山分为K段,要求每段的点数都一样,且每段中都至少存在一个山峰,问最多可以分为多少段。收起输入第1行...
2019-02-15 16:15:41
331
原创 1419 最小公倍数挑战
几天以前,我学习了最小公倍数。玩得挺久了,想换换口味。我不想用太多的数字,我想从1到n中选三个数字(可以相同)。使得他们的最小公倍数最大。收起输入单组测试数据。第一行有一个整数n (1≤n≤1,000,000)。输出输出一个整数表示选三个数字的最大的最小公倍数。输入样例97输出样例504210最近做题有些水逆,这个题错了好几次,本以为最小...
2019-02-15 15:48:04
366
原创 1534 棋子游戏
波雷卡普和瓦西里喜欢简单的逻辑游戏。今天他们玩了一个游戏,这个游戏在一个很大的棋盘上进行,他们每个人有一个棋子。他们轮流移动自己的棋子,波雷卡普先开始。每一步移动中,波雷卡普可以将他的棋子从(x,y) 移动到 (x-1,y) 或者 (x,y-1)。而瓦西里可以将他的棋子从(x,y) 移动到 (x-1,y),(x-1,y-1) 或者 (x,y-1)。当然他们可以选择不移动。还有一些其它的限制,他...
2019-02-15 15:28:23
333
原创 1596 搬货物
现在有n个货物,第i个货物的重量是 2wi2wi 。每次搬的时候要求货物重量的总和是一个2的幂。问最少要搬几次能把所有的货物搬完。样例解释:1,1,2作为一组。3,3作为一组。收起输入单组测试数据。第一行有一个整数n (1≤n≤10^6),表示有几个货物。第二行有n个整数 w1,w2,...,wn,(0≤wi≤10^6)。输出输出最少的运货次数。输入样...
2019-02-14 11:24:48
253
原创 1574 排列转换
现在有两个长度为n的排列p和s。要求通过交换使得p变成s。交换 pipi 和 pjpj 的代价是|i-j|。要求使用最少的代价让p变成s。收起输入单组测试数据。第一行有一个整数n (1≤n≤200000),表示排列的长度。第二行有n个范围是1到n的整数,表示排列p。每个整数只出现一次。第三行有n个范围是1到n的整数,表示排列s。每个整数只出现一次。输出输出一个整数,...
2019-02-14 11:04:12
314
原创 1068 Bash游戏 V3
有一堆石子共有N个。A B两个人轮流拿,A先拿。每次拿的数量只能是2的正整数次幂,比如(1,2,4,8,16....),拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出N,问最后谁能赢得比赛。例如N = 3。A只能拿1颗或2颗,所以B可以拿到最后1颗石子。(输入的N可能为大数)收起输入第1行:一个数T,表示后面用作输入测试的数的数量。(1 <...
2019-02-14 09:01:05
223
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人