51nod
xuanweiace
一个热爱算法竞赛的弱校ACMer路过。青大本,浙大硕,方向后端开发,菜鸡一枚,奋斗ing...
展开
-
【51Nod - 1163】最高的奖励 (贪心+优先队列 或 妙用并查集)
题干:有N个任务,每个任务有一个最晚结束时间以及一个对应的奖励。在结束时间之前完成该任务,就可以获得对应的奖励。完成每一个任务所需的时间都是1个单位时间。有时候完成所有任务是不可能的,因为时间上可能会有冲突,这需要你来取舍。求能够获得的最高奖励。Input第1行:一个数N,表示任务的数量(2 <= N <= 50000)第2 - N + 1行,每行2个数,中间用空格分隔...原创 2018-10-17 19:41:19 · 366 阅读 · 0 评论 -
【51Nod - 1094】和为k的连续区间 (前缀和,二分查找)
题干:一整数数列a1, a2, ... , an(有正有负),以及另一个整数k,求一个区间i,ji,j,(1 <= i <= j <= n),使得aii + ... + ajj = k。Input第1行:2个数N,K。N为数列的长度。K为需要求的和。(2 <= N <= 10000,-10^9 <= K <= 10^9)第2 - N + 1行...原创 2018-10-27 00:54:55 · 454 阅读 · 0 评论 -
【51Nod - 1103】N的倍数 (思维,鸽巢原理也叫抽屉定理,求倍数问题取模)
题干:一个长度为N的数组A,从A中选出若干个数,使得这些数的和是N的倍数。例如:N = 8,数组A包括:2 5 6 3 18 7 11 19,可以选2 6,因为2 + 6 = 8,是8的倍数。Input第1行:1个数N,N为数组的长度,同时也是要求的倍数。(2 <= N <= 50000) 第2 - N + 1行:数组A的元素。(0 < Aii <= 10...原创 2018-10-25 00:48:50 · 330 阅读 · 0 评论 -
【51Nod - 1117 】聪明的木匠 (贪心,哈夫曼树,时光倒流)
题干:一位老木匠需要将一根长的木棒切成N段。每段的长度分别为L1,L2,......,LN(1 <= L1,L2,…,LN <= 1000,且均为整数)个长度单位。我们认为切割时仅在整数点处切且没有木材损失。木匠发现,每一次切割花费的体力与该木棒的长度成正比,不妨设切割长度为1的木棒花费1单位体力。例如:若N=3,L1 = 3,L2 = 4,L3 = 5,则木棒原长为12,木匠...原创 2018-10-25 00:51:58 · 391 阅读 · 0 评论 -
【51Nod - 1344】走格子 (思维)
题干:有编号1-n的n个格子,机器人从1号格子顺序向后走,一直走到n号格子,并需要从n号格子走出去。机器人有一个初始能量,每个格子对应一个整数Aii,表示这个格子的能量值。如果Aii > 0,机器人走到这个格子能够获取Aii个能量,如果Aii < 0,走到这个格子需要消耗相应的能量,如果机器人的能量 < 0,就无法继续前进了。问机器人最少需要有多少初始能量,才能完成整个旅程。...原创 2018-11-11 21:18:10 · 258 阅读 · 0 评论 -
【51Nod - 1182】完美字符串(贪心,字符串)
题干:约翰认为字符串的完美度等于它里面所有字母的完美度之和。每个字母的完美度可以由你来分配,不同字母的完美度不同,分别对应一个1-26之间的整数。约翰不在乎字母大小写(也就是说字母A和a的完美度相同)。给定一个字符串,输出它的最大可能的完美度。例如:dad,你可以将26分配给d,25分配给a,这样整个字符串完美度为77。Input输入一个字符串S(S的长度 <= 10000)...原创 2018-11-11 21:19:45 · 247 阅读 · 0 评论 -
【51Nod - 1133】不重叠的线段 (贪心)
题干:X轴上有N条线段,每条线段有1个起点S和终点E。最多能够选出多少条互不重叠的线段。(注:起点或终点重叠,不算重叠)。例如:151523233636,可以选23233636,这2条线段互不重叠。Input第1行:1个数N,线段的数量(2 <= N <= 10000) 第2 - N + 1行:每行2个数,线段的起点和终点(-10^9 <= S,E <= ...原创 2018-11-11 21:21:47 · 326 阅读 · 0 评论 -
【51Nod - 1106 】质数检测 (水题,数论)
题干:给出N个正整数,检测每个数是否为质数。如果是,输出"Yes",否则输出"No"。Input第1行:一个数N,表示正整数的数量。(1 <= N <= 1000) 第2 - N + 1行:每行1个数(2 <= Sii <= 10^9)Output输出共N行,每行为 Yes 或 No。Sample Input523456Sam...原创 2018-11-12 19:22:21 · 265 阅读 · 0 评论 -
【51Nod - 1432】独木舟 (贪心,思维,好题)
题干:n个人,已知每个人体重。独木舟承重固定,每只独木舟最多坐两个人,可以坐一个人或者两个人。显然要求总重量不超过独木舟承重,假设每个人体重也不超过独木舟承重,问最少需要几只独木舟? Input第一行包含两个正整数n (0 接下来n行,每行一个正整数,表示每个人的体重。体重不超过1000000000,并且每个人的体重不超过m。Output一行一个整数表示最少需要的独木舟数。...原创 2018-11-12 19:38:50 · 291 阅读 · 0 评论 -
【HDU - 2012】素数判定(水题,数论,打表)
题干: 解题报告: AC代码1:#include<bits/stdc++.h>#define MAX 10000//求MAX范围内的素数 using namespace std; long long su[MAX],cnt; bool isprime[MAX]; void prime() { cnt=1; memse...原创 2018-11-12 20:13:39 · 237 阅读 · 0 评论 -
【HDU - 5700】【51nod - 1672】 区间交(贪心,STLset 或线段树第k大)
题干:小A有一个含有n个非负整数的数列与m个区间,每个区间可以表示为li,ri。它想选择其中k个区间, 使得这些区间的交的那些位置所对应的数的和最大。(是指k个区间共同的交,即每个区间都包含这一段,具体可以参照样例) 在样例中,5个位置对应的值分别为1,2,3,4,6,那么选择[2,5]与[4,5]两个区间的区间交为[4,5],它的值的和为10。 收起输入第一行三个数...原创 2019-02-17 21:11:17 · 238 阅读 · 0 评论 -
【51nod - 1108】距离之和最小 V2(曼哈顿距离,中位数性质)
题干:三维空间上有N个点, 求一个点使它到这N个点的曼哈顿距离之和最小,输出这个最小的距离之和。点(x1,y1,z1)到(x2,y2,z2)的曼哈顿距离就是|x1-x2| + |y1-y2| + |z1-z2|。即3维坐标差的绝对值之和。收起输入第1行:点的数量N。(2 <= N <= 10000)第2 - N + 1行:每行3个整数,中间用空格分隔,表示点的...原创 2019-02-27 21:50:03 · 1731 阅读 · 0 评论 -
【51nod - 1050】循环数组最大子段和(dp)
题干: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行:整数...原创 2019-02-19 00:19:52 · 243 阅读 · 0 评论 -
【51nod - 1174 】区间中最大的数(RMQ问题,ST表,模板)
题干:给出一个有N个数的序列,编号0 - N - 1。进行Q次查询,查询编号i至j的所有数中,最大的数是多少。例如: 1 7 6 3 1。i = 1, j = 3,对应的数为7 6 3,最大的数为7。(该问题也被称为RMQ问题)收起输入第1行:1个数N,表示序列的长度。(2 <= N <= 10000)第2 - N + 1行:每行1个数,对应序列中的元素。(0...原创 2019-02-24 22:06:33 · 221 阅读 · 0 评论 -
【51nod - 1076】2条不相交的路径(Tarjan无向图判环)
题干:给出一个无向图G的顶点V和边E。进行Q次查询,查询从G的某个顶点V[s]到另一个顶点V[t],是否存在2条不相交的路径。(两条路径不经过相同的边)(注,无向图中不存在重边,也就是说确定起点和终点,他们之间最多只有1条路)收起输入第1行:2个数M N,中间用空格分开,M是顶点的数量,N是边的数量。(2 <= M <= 25000, 1 <= N <...原创 2019-03-13 21:15:50 · 772 阅读 · 0 评论 -
【51Nod - 1010 】只包含因子2 3 5的数 (打表,有坑越界)
题干: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。Input第1行:一个数T,表示后面用作输入测试的数的数量。(1 <= T <= 10000) 第2 ...原创 2018-10-17 19:28:22 · 209 阅读 · 0 评论 -
【51Nod - 1416】两点 (dfs 或 并查集+dfs)
题干:福克斯在玩一款手机解迷游戏,这个游戏叫做”两点”。基础级别的时候是在一个n×m单元上玩的。像这样: 每一个单元有包含一个有色点。我们将用不同的大写字母来表示不同的颜色。这个游戏的关键是要找出一个包含同一颜色的环。看上图中4个蓝点,形成了一个环。一般的,我们将一个序列 d1,d2,...,dk 看成一个环,当且仅当它符合下列条件时:1. 这k个点不一样,即当 i≠j...原创 2018-10-17 19:18:03 · 254 阅读 · 0 评论 -
【51Nod - 1268】和为K的组合 (背包 或 dfs)
题干:给出N个正整数组成的数组A,求能否从中选出若干个,使他们的和为K。如果可以,输出:"Yes",否则输出"No"。Input第1行:2个数N, K, N为数组的长度, K为需要判断的和(2 <= N <= 20,1 <= K <= 10^9) 第2 - N + 1行:每行1个数,对应数组的元素Aii (1 <= Aii <= 10^6)Ou...原创 2018-10-17 19:16:31 · 382 阅读 · 0 评论 -
【51nod-1289】大鱼吃小鱼
题干:有N条鱼每条鱼的位置及大小均不同,他们沿着X轴游动,有的向左,有的向右。游动的速度是一样的,两条鱼相遇大鱼会吃掉小鱼。从左到右给出每条鱼的大小和游动的方向(0表示向左,1表示向右)。问足够长的时间之后,能剩下多少条鱼?Input第1行:1个数N,表示鱼的数量(1 <= N <= 100000)。 第2 - N + 1行:每行两个数Aii, Bii,中间用空格分隔,分别表示鱼的大小...原创 2018-07-12 23:23:50 · 476 阅读 · 0 评论 -
51nod 1091 重叠的线段(贪心)
题干:X轴上有N条线段,每条线段包括1个起点和终点。线段的重叠是这样来算的,[10 20]和[12 25]的重叠部分为[12 20]。给出N条线段的起点和终点,从中选出2条线段,这两条线段的重叠部分是最长的。输出这个最长的距离。如果没有重叠,输出0。Input第1行:线段的数量N(2 <= N <= 50000)。第2 - N + 1行:每行2个数,线段的起点和终点。(0 ...原创 2018-07-11 10:24:40 · 254 阅读 · 0 评论 -
*【51nod - 1459】迷宫游戏(记录双向权值的Dijkstra单源最短路)
题干:你来到一个迷宫前。该迷宫由若干个房间组成,每个房间都有一个得分,第一次进入这个房间,你就可以得到这个分数。还有若干双向道路连结这些房间,你沿着这些道路从一个房间走到另外一个房间需要一些时间。游戏规定了你的起点和终点房间,你首要目标是从起点尽快到达终点,在满足首要目标的前提下,使得你的得分总和尽可能大。现在问题来了,给定房间、道路、分数、起点和终点等全部信息,你能计算在尽快离开迷宫的前提下...原创 2018-07-31 11:13:47 · 308 阅读 · 0 评论 -
【51Nod - 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)。Input第1行:用空格隔开的2个数,K N,N为A数组的长度。(2 <= N <= 50000,-10^9 <= K <= ...原创 2018-08-05 13:52:33 · 403 阅读 · 0 评论 -
【51Nod-1100】 斜率最大(贪心)☆双排序
题干:平面上有N个点,任意2个点确定一条直线,求出所有这些直线中,斜率最大的那条直线所通过的两个点。(点的编号为1-N,如果有多条直线斜率相等,则输出所有结果,按照点的X轴坐标排序,正序输出。数据中所有点的X轴坐标均不相等,且点坐标为随机。)Input第1行,一个数N,N为点的数量。(2 <= N <= 10000) 第2 - N + 1行:具体N个点的坐标,X Y均...原创 2018-08-01 22:15:09 · 230 阅读 · 0 评论 -
【51nod - 1087】 1 10 100 1000(找规律推公式,水,map)
题干:1,10,100,1000...组成序列1101001000...,求这个序列的第N位是0还是1。Input第1行:一个数T,表示后面用作输入测试的数的数量。(1 <= T <= 10000) 第2 - T + 1行:每行1个数N。(1 <= N <= 10^9)Output共T行,如果该位是0,输出0,如果该位是1,输出1。Sample I...原创 2018-08-05 15:39:09 · 909 阅读 · 0 评论 -
【51Nod - 1279】 扔盘子(思维)(on-p会超时)
题干:有一口井,井的高度为N,每隔1个单位它的宽度有变化。现在从井口往下面扔圆盘,如果圆盘的宽度大于井在某个高度的宽度,则圆盘被卡住(恰好等于的话会下去)。盘子有几种命运:1、掉到井底。2、被卡住。3、落到别的盘子上方。盘子的高度也是单位高度。给定井的宽度和每个盘子的宽度,求最终落到井内的盘子数量。 如图井和盘子信息如下:井:5 6 4 3 6 2 3盘子:2...原创 2018-08-05 15:56:42 · 254 阅读 · 0 评论 -
【51nod - 1065】 最小正子段和( 前缀和排序 )
题干:N个整数组成的序列a11,a22,a33,…,ann,从中选出一个子序列(aii,ai+1i+1,…ajj),使这个子序列的和>0,并且这个和是所有和>0的子序列中最小的。例如:4,-1,5,-2,-1,2,6,-2。-1,5,-2,-1,序列和为1,是最小的。Input第1行:整数序列的长度N(2 <= N <= 50000) 第2 - N+1行:...原创 2018-08-11 21:20:54 · 360 阅读 · 0 评论 -
【51nod - 前缀异或】 对前缀和的理解
题干:前缀异或 基准时间限制:2 秒 空间限制:131072 KB 分值: 5输入一个长度为n(1 <= n <= 100000)数组a[1], a[2], ..., a[n]。输入一个询问数m(1 <= m <= 100000)和m组询问,每组询问形如(l, r)对于每组询问(l, r),你需要输出a[l] xor a[l + 1] xor .....原创 2018-08-12 11:17:17 · 3157 阅读 · 0 评论 -
【C语言实现反转数组】(用栈实现)51nod - 训练营
题干:输入一个长度为n(1 <= n <= 100000)数组,倒序输出他。数组中的元素ai满足(1 <= ai <= 100000)。Input第一行一个整数n,表示数字长度接下来n行,每行一个整数ai,表示数组的内容。Output输出第一行为数组长度n接下来n行为倒序输出的结果。Input示例3456Output示例...原创 2018-08-12 11:22:38 · 1443 阅读 · 0 评论 -
【51nod - 1875】 丢手绢(约瑟夫问题,可打表,用STL模拟)
题干:六一儿童节到了,小朋友们在玩丢手绢的游戏。总共有C个小朋友,编号从1到C,他们站成一个圈,第i(1<i<=C)个人的左边是i-1,第1个人的左边是C。第i(1<=i<C)个人的右边是i+1,第C个人的右边是1。然后再给出一个常数E。刚开始的时候1号小朋友拿着手绢,接下来游戏开始,在游戏的每一轮,拿手绢的人会把手绢向右边传递E-1个人,拿到手绢的人退出圈,把手绢递给...原创 2018-09-10 09:22:34 · 312 阅读 · 0 评论 -
【51nod - 1073】约瑟夫环问题模板
题干:N个人坐成一个圆环(编号为1 - N),从第1个人开始报数,数到K的人出列,后面的人重新从1开始报数。问最后剩下的人的编号。例如:N = 3,K = 2。2号先出列,然后是1号,最后剩下的是3号。Input2个数N和K,表示N个人,数到K出列。(2 <= N, K <= 10^6)Output最后剩下的人的编号Input示例3 2Outp...原创 2018-09-09 00:46:02 · 415 阅读 · 0 评论 -
【51Nod - 1215 】数组的宽度 (单调栈 或 分治 或 单调队列,算贡献,需去重)
题干:N个整数组成的数组,定义子数组aii..ajj的宽度为:max(ai..aj) - min(ai..aj),求所有子数组的宽度和。Input第1行:1个数N,表示数组的长度。(1 <= N <= 50000) 第2 - N + 1行:每行1个数,表示数组中的元素(1 <= Aii <= 50000)Output输出所有子数组的宽度和。Samp...原创 2018-10-02 18:06:24 · 301 阅读 · 0 评论 -
【51Nod - 1272 】最大距离 (思维,排序sort的空间优化)
题干:给出一个长度为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...原创 2018-10-17 00:30:28 · 241 阅读 · 0 评论