
51Nod
Alex_McAvoy
想要成为渔夫的猎手
展开
-
第K个幸运排列 (51Nod-1635)
题目比得喜欢幸运数字。这里所说的幸运数字是由4和7组成的正整数。比如,整数47,744,4是幸运数字,而5,17,467就不是。一天比得梦到由数字1到n组成的第K个字典序排列。要求计算在这个排列中有多少个幸运数所在的位置的编号也是幸运数。举例如下:比如排列[1,2,3,4],其中4为幸运数,它所在的位置的下标为4(幸运数),所在此排列中,结果为1.又如,[1,2,4,3],4...原创 2019-08-19 10:12:11 · 352 阅读 · 0 评论 -
最长高地(51Nod-2509)
题目小b有一个长度为n的数组A。小b认为,如果A的一个区间[l,r]满足r-l>=2,且存在l<p<r使得A[l]<A[l+1]<... <A[p]>A[p+1]>...>A[r],则[l,r]为一个高地。求A中的最长高地的长度。输入第一行输入一个非负整数n,表示A数组长度;第二行输入n个数,表示A数组的元素,以空格隔开...原创 2019-05-13 14:48:57 · 286 阅读 · 0 评论 -
初中的算术(51Nod-1873)
题目Noder现在上初三了,正在开始复习中考。他每天要计算型如 (a×a×a×⋯×a) n个a的式子。 其中 0.0<a<99.999,0<n<26虽然Noder会计算,但是老是算错,现在他想要你来写一个程序输出正确的结果,以便他核对。输入单组测试数据。第一行有一个实数a和一个整数n,中间用空格分开。 0.0 < a < 99.99...原创 2019-04-25 18:37:11 · 192 阅读 · 0 评论 -
B君的圆锥(51Nod-1629)
题目B君要用一个表面积为S的圆锥将白山云包起来。B君希望包住的白山云体积尽量大,B君想知道体积最大可以是多少。注意圆锥的表面积包括底面和侧面。输入一行一个整数,表示表面积S。(1 <= S <= 10^9)输出一行一个实数,表示体积。输入样例8输出样例1.504506思路:已知圆锥表面积 S,最大体积 V=S*sqrt*(S/(72*...原创 2019-04-25 18:27:00 · 175 阅读 · 0 评论 -
搬货物(51Nod-1596)
题目现在有n个货物,第i个货物的重量是 2^wi。每次搬的时候要求货物重量的总和是一个2的幂。问最少要搬几次能把所有的货物搬完。输入单组测试数据。第一行有一个整数n (1≤n≤10^6),表示有几个货物。第二行有n个整数 w1,w2,...,wn,(0≤wi≤10^6)。输出输出最少的运货次数。输入样例51 1 2 3 3输出样例2样例解释:1...原创 2019-04-25 18:20:10 · 474 阅读 · 0 评论 -
后面第一个大于(51Nod-2500)
题目小b有一个长度为n的序列t,现在她对于每个i,求最小的正数j满足i+j≤n且ti+j>ti,输出j,如果不存在这样的j,则输出0。样例解释:对于i=1,t2>t1,所以最小的j=1;对于i=7,不存在这样的j,所以输出0。输入第一行输入一个数n;第二行输入n个数t1-tn,以空格隔开;其中1≤n≤30000,对于任意ti满足30≤ti≤100.输出...原创 2019-04-29 20:13:03 · 356 阅读 · 0 评论 -
矩形并的面积(51Nod-2488)
题目在二维平面上,给定两个矩形,满足矩形的每条边分别和坐标轴平行,求这个两个矩形的并的面积。即它们重叠在一起的总的面积。输入8个数,分别表示第一个矩形左下角坐标为(A,B),右上角坐标为(C,D);第二个矩形左下角坐标为(E,F),右上角坐标为(G,H)。保证A<C,B<D,E<G,F<H。保证所有数的绝对值不超过2*10^9,矩形并的面积≤2*10^9。...原创 2019-04-29 20:02:59 · 736 阅读 · 5 评论 -
0和5(51Nod-1433)
题目小K手中有n张牌,每张牌上有一个一位数的数,这个字数不是0就是5。小K从这些牌在抽出任意张(不能抽0张),排成一行这样就组成了一个数。使得这个数尽可能大,而且可以被90整除。注意:1.这个数没有前导0,2.小K不需要使用所有的牌。输入每个测试数据输入共2行。第一行给出一个n,表示n张牌。(1<=n<=1000)第二行给出n个整数a[0],a[1],a[...原创 2019-04-25 09:37:43 · 561 阅读 · 0 评论 -
独木舟(51Nod-1432)
题目n个人,已知每个人体重。独木舟承重固定,每只独木舟最多坐两个人,可以坐一个人或者两个人。显然要求总重量不超过独木舟承重,假设每个人体重也不超过独木舟承重,问最少需要几只独木舟?输入第一行包含两个正整数n (0<n<=10000)和m (0<m<=2000000000),表示人数和独木舟的承重。接下来n行,每行一个正整数,表示每个人的体重。体重不超过100...原创 2019-04-25 09:29:30 · 490 阅读 · 0 评论 -
权势二进制(51Nod-1413)
题目一个十进制整数被叫做权势二进制,当他的十进制表示的时候只由0或1组成。例如0,1,101,110011都是权势二进制而2,12,900不是。当给定一个n的时候,计算一下最少要多少个权势二进制相加才能得到n。输入单组测试数据。第一行给出一个整数n (1<=n<=1,000,000)输出输出答案占一行。输入样例9输出样例9思路:分解每一...原创 2019-04-25 09:21:58 · 292 阅读 · 0 评论 -
合法整数集(51Nod-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-04-25 09:16:40 · 593 阅读 · 0 评论 -
小b和排序(51Nod-2484)
题目小b有两个长度都为n的序列A,B。现在她需要选择一些i,然后交换A[i]和B[i],使得A和B都变成严格递增的序列。你能帮小b求出最少交换次数吗?输入保证有解。输入第一行输入一个正整数n,表示两个数组的长度;第二行输入n个数,表示A[i],以空格隔开;第三行输入n个数,表示B[i],以空格隔开;其中1≤n≤1000, 0≤A[i],B[i]≤2000输出...原创 2019-05-02 21:33:48 · 978 阅读 · 0 评论 -
01串(51Nod-1391)
题目给定一个01串S,求出它的一个尽可能长的子串S[i..j],满足存在一个位置i<=x <j, S[i..x]中0比1多,而S[x + 1..j]中1比0多。求满足条件的最长子串长度。输入一行包含一个只由0和1构成的字符串S。 S的长度不超过1000000。输出一行包含一个整数,表示满足要求的最长子串的长度。输入样例10输出样例0思路:...原创 2019-05-02 21:32:12 · 857 阅读 · 0 评论 -
顺子(51Nod-2510)
题目小b有n张牌。现在她想把牌分组,使得每组都是长度为W的顺子,即由连续W个数组成。请问小b能做到吗?输入第一行输入一个数n,表示手牌张数;第二行输入n个非负整数,表示每张牌的数字,以空格隔开;第三行输入一个数,表示每组大小W;其中1≤W≤n≤10000,任意牌的数字hand[i]满足0≤hand[i]≤10^9输出可以分组,输出“true”;不能分组,输出...原创 2019-05-13 14:56:00 · 551 阅读 · 0 评论 -
重排列得到2的幂(51Nod-2515)
题目小b有一个数n,现在她想把n的每一位重排列,使得得到的结果为2的幂次。请问小b能得到2的幂次吗?注意重排列后不允许有前导0。样例解释:46重排列成64,为2^6。输入输入一个数N,其中1≤N≤10^9输出满足条件,输出“true”;不满足,则输出“false”。输入样例46输出样例true思路:提前将 2^i 打好表,然后对于数字 n ...原创 2019-05-13 15:03:08 · 578 阅读 · 0 评论 -
和为 k 的组合(51Nod-1268)
题目给出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-07-23 15:37:22 · 1346 阅读 · 0 评论 -
两点(51Nod-1416)
题目福克斯在玩一款手机解迷游戏,这个游戏叫做”两点”。基础级别的时候是在一个n×m单元上玩的。像这样:每一个单元有包含一个有色点。我们将用不同的大写字母来表示不同的颜色。这个游戏的关键是要找出一个包含同一颜色的环。看上图中4个蓝点,形成了一个环。一般的,我们将一个序列 d1,d2,...,dk 看成一个环,当且仅当它符合下列条件时:1. 这k个点不一样,即当 i≠j时,...原创 2019-07-23 09:39:44 · 284 阅读 · 0 评论 -
流水线调度(51Nod-1205)
题目N个作业{1,2,…,n}要在由2台机器M1和M2组成的流水线上完成加工。每个作业加工的顺序都是先在M1上加工,然后在M2上加工。M1和M2加工作业i所需的时间分别为a[i]和b[i]。你可以安排每个作业的执行顺序,使得从第一个作业在机器M1上开始加工,到最后一个作业在机器M2上加工完成所需的时间最少。求这个最少的时间。输入第1行:1个数N,表示作业的数量。(2 <= N ...原创 2019-07-22 16:33:03 · 1395 阅读 · 0 评论 -
和为S(51Nod-2518)
题目小b有一个01序列A,她想知道A有多少个非空连续子序列和为S。你能帮帮她吗?输入第一行输入一个数n,表示A的长度;第二行输入n个数‘0’或‘1’,表示A中的元素,以空格隔开;第三行输入一个非负整数S;其中0≤S≤n≤30000。输出输出一个数,表示子数组的个数输入样例51 0 1 0 12输出样例4思路:维护一个前缀和即可源程序...原创 2019-07-30 10:13:45 · 365 阅读 · 0 评论 -
最长配对(51Nod-2494)
题目小b有一个01序列,她想找到一个最长的区间使得这个区间的01能两两配对,即0的个数和1的个数相等。求最长区间的长度。输入第一行一个正整数n,表示数组长度,其中0<n≤50000;第二行n个0或1,以空格隔开。输出输出一个数,表示最长区间的长度输入样例30 1 0输出样例2思路:由于要求最长区间使得 0、1 能够两两配对,那么可以将 0 转成 ...原创 2019-07-30 11:24:33 · 343 阅读 · 4 评论 -
DAG 图判定(51Nod-2143)
题目DAG图是指有向无环图,所谓有向无环图是指任意一条边有方向,且不存在环路的图。现在有一个n个点m条有向边的有向图,请你判定这是不是一个DAG图。如图所示的样例中,任意一条边有方向,且不存在环路,所以该图是一个DAG图。输入第1行:两个正整数n,m,n表示图中点的个数,m表示图中有向边的个数。(2<=n<=100000,2<=m<=300000)...原创 2019-07-24 16:12:12 · 1080 阅读 · 0 评论 -
锯木棍(51Nod-2143)
题目有一根粗细均匀长度为 LL 的木棍,先用红颜色刻度线将它 m 等分,再用蓝色刻度线将其 n 等分(m>n),然后按所有刻度线将该木棍锯成小段,计算并输出长度最长的木棍的长度和棍数。输入输入仅有一行,包含三个正整数 L,m 和 n,两两之间用一个空格分隔。(1≤L≤100000)输出输出包含两个正整数 a 和 k,分别表示最长木棍的长度和根数。(为了简化题目的难度,所...原创 2019-07-24 11:30:46 · 2190 阅读 · 1 评论 -
树的直径(51Nod-2602)
题目一棵树的直径就是这棵树上存在的最长路径。现在有一棵n个节点的树,现在想知道这棵树的直径包含的边的个数是多少?如图所示的数据,这棵树的直径为(1-2-3-6-9)这条路径,包含的边的个数为4,所以答案是4。输入第1行:一个整数n,表示树上的节点个数。(1<=n<=100000)第2-n行:每行有两个整数u,v,表示u与v之间有一条路径。(1<=u,v&l...原创 2019-07-24 09:00:02 · 644 阅读 · 0 评论 -
最多分成多少块(51Nod-2502)
题目小b有个长度为n的数组a,她想将这个数组排序。然而小b很懒,她觉得对整个数组排序太累了,因此她请你将a分成一些块,使得她只需要对每一块分别排序,就能将整个数组排序。请问你最多能把a分成多少块。保证a为0...n-1的一个排列。输入第一行一个数n;第二行n个数表示a[i],以空格隔开。n<=10输出输出一个数表示划分块的数量输入样例54 3 ...原创 2019-07-23 16:07:03 · 1003 阅读 · 0 评论 -
小b删列(51Nod-2523)
题目小b有一个n*m的矩阵A,矩阵的每个元素为一个字符,现在她希望删除其中的一些列,使得剩下的列在每一行形成的字符串的字典序不降。即对于第i行,将剩下的列上的字符顺序拼接,形成一个字符串,记作a[i]。要求a[i]<=a[i+1](i=1..n-1)。请问小b最少要删多少列。如A = {"abcdef", "uvwxyz"},删除的列为第1,3,4列,删除后 A 为{"be...原创 2019-05-13 15:58:44 · 308 阅读 · 2 评论 -
和为k的倍数(51Nod-2522)
题目小b喜欢和为K的倍数的序列。现在有一个长度为n的序列A,请问A有多少个非空连续子序列是小b喜欢的。输入第一行输入一个正整数n;第二行输入n个整数,表示A[i],以空格隔开;第三行输入一个正整数K;其中1≤n≤30000,对于任意A[i]有-10000≤A[i]≤10000,2≤K≤10000输出输出一个数,表示子序列的数目输入样例64 5 0 -2 -...原创 2019-05-13 15:52:41 · 1882 阅读 · 1 评论 -
重排列(51Nod-2513)
题目有两个长度为n的序列A,B,你需要重排列A,使得满足A[i]>B[i]的i的数目尽量大。只需输出这个最大个数即可。输入第一行输入一个正整数n;第二、三行分别输出n个非负整数,表示A、B中的元素,以空格隔开;其中1≤n≤10000,0≤A[i],B[i]≤10^9。输出输出一行一个数,表示最大个数输入样例42 7 11 151 10 4 11输...原创 2019-05-13 15:36:16 · 363 阅读 · 0 评论 -
扔盘子(51Nod-1279)
题目有一口井,井的高度为N,每隔1个单位它的宽度有变化。现在从井口往下面扔圆盘,如果圆盘的宽度大于井在某个高度的宽度,则圆盘被卡住(恰好等于的话会下去)。盘子有几种命运:1、掉到井底。2、被卡住。3、落到别的盘子上方。盘子的高度也是单位高度。给定井的宽度和每个盘子的宽度,求最终落到井内的盘子数量。如图井和盘子信息如下:井:5 6 4 3 6 2 3盘子:2 3 5 2 4...原创 2019-04-18 20:22:32 · 287 阅读 · 0 评论 -
相离的圆(51Nod-1278)
题目平面上有N个圆,他们的圆心都在X轴上,给出所有圆的圆心和半径,求有多少对圆是相离的。例如:4个圆分别位于1, 2, 3, 4的位置,半径分别为1, 1, 2, 1,那么{1, 2}, {1, 3} {2, 3} {2, 4} {3, 4}这5对都有交点,只有{1, 4}是相离的。输入第1行:一个数N,表示圆的数量(1 <= N <= 50000)第2 - N + ...原创 2019-04-18 19:22:05 · 733 阅读 · 0 评论 -
蚂蚁(51Nod-1266)
题目n只蚂蚁以每秒1cm的速度在长为Lcm的竿子上爬行。当蚂蚁爬到竿子的端点时就会掉落。由于竿子太细,两只蚂蚁相遇时,它们不能交错通过,只能各自反向爬回去。对于每只蚂蚁,我们知道它距离竿子左端的距离xi,但不知道它当前的朝向。请计算各种情况当中,所有蚂蚁落下竿子所需的最短时间和最长时间。例如:竿子长10cm,3只蚂蚁位置为2 6 7,最短需要4秒(左、右、右),最长需要8秒(右、右、...原创 2019-04-18 19:15:35 · 608 阅读 · 0 评论 -
Bash游戏 V2(51Nod-1067)
题目有一堆石子共有N个。A B两个人轮流拿,A先拿。每次只能拿1,3,4颗,拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出N,问最后谁能赢得比赛。例如N = 2。A只能拿1颗,所以B可以拿到最后1颗石子。输入第1行:一个数T,表示后面用作输入测试的数的数量。(1 <= T <= 10000)第2 - T + 1行:每行1个数N。(1 ...原创 2019-04-17 18:08:26 · 360 阅读 · 0 评论 -
矩阵中不重复的元素(51Nod-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*4的矩阵...原创 2019-04-17 18:03:12 · 372 阅读 · 0 评论 -
小b和回文数(51Nod-2483)
题目小b觉得回文数很美。对于一个正整数x,如果从左到右读和从右到左读是一样的,则称x为回文数。例如"123",从右到左读是"321",所以它不是回文数;而"121"则是回文数。现在给定整数n,求距离n最近的回文数。即找到一个回文数x,使得|x-n|最小。如果有多个满足条件的x,输出最小的那个。输入一个数表示n,其中0<n<10^18输出一个数表示答案输入样例...原创 2019-04-26 11:08:11 · 495 阅读 · 2 评论 -
一半的一半(51Nod-2382)
题目输入n,牛牛想知道0.5的n次方的精确值。注意是精确值,也就是小数有多少位,就要输出多少位,不四舍五入。(当然也不输出多余的0)对于100%的数据,1 <= n <= 1000对于60%的数据,1 <= n <= 27对于30%的数据,1 <= n <= 4输入输入一行一个整数n。输出输出0.5的n次方的精确值。输入...原创 2019-04-26 10:59:54 · 473 阅读 · 0 评论 -
齐头并进(51Nod-1649)
题目在一个叫奥斯汀的城市,有n个小镇(从1到n编号),这些小镇通过m条双向火车铁轨相连。当然某些小镇之间也有公路相连。为了保证每两个小镇之间的人可以方便的相互访问,市长就在那些没有铁轨直接相连的小镇之间建造了公路。在两个直接通过公路或者铁路相连的小镇之间移动,要花费一个小时的时间。现在有一辆火车和一辆汽车同时从小镇1出发。他们都要前往小镇n,但是他们中途不能同时停在同一个小镇(但是可以同...原创 2019-04-25 21:40:30 · 358 阅读 · 0 评论 -
正整数分组(51Nod-1007)
题目将一堆正整数分为2组,要求2组的和相差最小。例如:1 2 3 4 5,将1 2 4分为1组,3 5分为1组,两组和相差1,是所有方案中相差最少的。输入第1行:一个数N,N为正整数的数量。第2 - N+1行,N个正整数。(N <= 100, 所有正整数的和 <= 10000)输出输出这个最小差输入样例512345输出样例1思...原创 2019-04-16 22:26:21 · 435 阅读 · 2 评论 -
只包含因子 2 3 5 的数(51Nod-1010)
题目K的因子中只包含2 3 5。满足条件的前10个数是:2,3,4,5,6,8,9,10,12,15。所有这样的K组成了一个序列S,现在给出一个数n,求S中 >= 给定数的最小的数。例如:n = 13,S中 >= 13的最小的数是15,所以输出15。输入第1行:一个数T,表示后面用作输入测试的数的数量。(1 <= T <= 10000)第2 - T + ...原创 2019-04-16 22:17:03 · 389 阅读 · 0 评论 -
X^2 Mod P(51Nod-1014)
题目X*X mod P = A,其中P为质数。给出P和A,求<=P的所有X。输入两个数P A,中间用空格隔开。(1 <= A < P <= 1000000, P为质数)输出输出符合条件的X,且0 <= X <= P,如果有多个,按照升序排列,中间用空格隔开。如果没有符合条件的X,输出:No Solution输入样例13 3输出...原创 2019-04-16 22:09:05 · 233 阅读 · 0 评论 -
回文字符串(51Nod-1092)
题目回文串是指aba、abba、cccbccc、aaaa这种左右对称的字符串。每个字符串都可以通过向中间添加一些字符,使之变为回文字符串。例如:abbc 添加2个字符可以变为 acbbca,也可以添加3个变为 abbcbba。方案1只需要添加2个字符,是所有方案中添加字符数量最少的。输入输入一个字符串Str,Str的长度 <= 1000。输出输出最少添加多少个字符可以...原创 2019-04-15 21:41:14 · 867 阅读 · 0 评论 -
循环数组最大字段和(51Nod-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-04-15 21:48:14 · 349 阅读 · 0 评论