![](https://img-blog.csdnimg.cn/2019091813595558.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法竞赛刷题
刷题
Liukairui
这个作者很懒,什么都没留下…
展开
-
2020牛客寒假算法基础集训营6 题解
A: 配对输入3 21 2 31 2 3输出5考虑贪心:首先,用A中最大的K个数字和B中最大的K个数字去组合如果A1<A2,B1<B2,那么一定是由A1和B2配对较优。所以,倒序配对是最优的#include <iostream>#include <cstdio>#include <cstring>#include <...原创 2020-04-09 00:21:47 · 723 阅读 · 0 评论 -
2020牛客寒假算法基础集训营4 题解
A:欧几里得输入10输出1说明gcd(1,0) 由于 b=0,不会递归,即是递归0次。根据样例我们可以尝试写出n=2,3,4…的结果,发现他是斐波那契数列,写一个程序输出斐波那契前100位(long long),打表即可#include <iostream>#include <cstdio>using namespace std;long...原创 2020-04-07 10:40:23 · 740 阅读 · 0 评论 -
2020牛客寒假算法基础集训营3 题解
A:牛牛的DRB迷宫I输入5 5RBBBRBBBBBBBBDBBDBBBRBBBB输出25可以看到就是一个简单的dp题,然后再dp某一个点的时候,特判他能不能从左边和上边刷下来#include <iostream>#include <cstdio>#include <cstring>using namespace std;...原创 2020-03-20 16:07:39 · 542 阅读 · 1 评论 -
2020牛客寒假算法基础集训营2 题解
A:做游戏输入114514 0 00 114514 0输出114514对于三种情况,取每次分组的最小值即可#include <iostream>#include <cstdio>#include <cstring>using namespace std;int main(){ long long a,b,c,d,e,f;...原创 2020-03-11 00:20:50 · 533 阅读 · 0 评论 -
2020牛客寒假算法基础集训营1 题解
A:honoka和格点三角形题目描述honoka最近在研究三角形计数问题。她认为,满足以下三个条件的三角形是“好三角形”。1.三角形的三个顶点均为格点,即横坐标和纵坐标均为整数。2.三角形的面积为 。3.三角形至少有一条边和 轴或 轴平行。honoka想知道,在平面中选取一个大小为 109+710^9+7109+7 的矩形格点阵,可以找到多少个不同的“好三角形”?由于答案可能过大,请...原创 2020-03-02 11:13:16 · 738 阅读 · 0 评论 -
计蒜客习题:吃辣椒
问题描述蒜头君喜欢吃辣椒。他一共有 NN 种辣椒,每种辣椒有一个辣度值 pi 。当蒜头君吃辣椒的时候,他恰好一口吃 K 种辣椒。这辣椒有一点奇怪,当同时吃下 K 种辣椒时,只能感受到辣度值最大的那种辣椒的辣度值。蒜头君会试下每一个 K 种辣椒的组合,他想要知道他能感受到的辣度值之和是多少。 输入格式 第一行输入两个正整数 N 和 K(N≤100,000,K≤50),表示有 N 种辣...原创 2018-04-07 18:29:21 · 704 阅读 · 0 评论 -
计蒜客习题:蒜头君走迷宫
问题描述蒜头君从一个 n 行 m 列的迷宫的左上角走到右下角,蒜头君每次只能向下或者向右走一步,蒜头君想知道他有多少种走法。 输入格式 输入两个整数 n(2≤n≤10^5),m(2≤m≤10^5)。 输出格式 由于方案数太多,输出最后结果对 1000000007 取模的结果。 样例输入 2 3 样例输出 3AC代码(费马)#include <...原创 2018-04-08 09:22:54 · 1586 阅读 · 0 评论 -
计蒜客习题:气球消消乐
问题描述蒜头君有 n 只气球,蒜头君把气球排成一排。初始时,气球都是白色,现在蒜头君想用 m 种颜色给气球涂色,如果相邻的气球的颜色相同,这 2 个气球会发生消消乐,蒜头君希望你求出会发生消消乐的涂色方法有多少种。最后答案对 10^9+7取模。 输入格式 输入两个整数n(1<=n<=10^12),m(1<=m<=10^8) 输出格式 输出一行表示答案。 ...原创 2018-04-14 20:56:12 · 1357 阅读 · 0 评论 -
计蒜客习题:同余方程
问题描述已知整数 a 和 b,求关于 x 的同余方程 ax≡1(mod b) 的最小正整数解。 输入格式 输入一行,输入两个整数 a, ba,b(2<=a,b<=2*10^9)。 输出格式 输出一行,输出一个整数,即同余方程的最小正整数解。输入数据保证一定有解。 样例输入 3 8 样例输出 3AC代码#include <iostream...原创 2018-04-14 21:00:11 · 744 阅读 · 0 评论 -
无聊之作:Karry解数独程序
2018/4/13 蒟蒻Liukairui在晚自习上写英语完型。。。 坐在后面的学霸WSL居然在写数独。。。。 班主任推门而入,没收了一个P3。。。 走到学霸WSL旁边,WSL居然还在玩数独。。。 原因还是因为作业全写完了,实在没事干了。。。。。 班主任看了看。。。 没说啥,走了。。。。。。。 然后,班里就流行开始玩数独了。。。 学霸WSL非说数独只有一个解。。。 然后蒟蒻Li...原创 2018-04-14 21:25:36 · 477 阅读 · 2 评论 -
计蒜客习题:节点的最近公共祖先
问题描述树是一种很常见的数据结构。现在蒜头君面临一个问题,在一个有 n 个节点的树上,节点编号分别是1…n。蒜头想知道一些节点之间的最近公共祖先是那些节点。 输入格式 第一行输入一个整数 n(2≤n≤10,000),表示树上有 n 个节点。 接下来的 n−1 行,每行输入俩个整数 a,b(1≤a,b≤n)代表节点 a,b 之间有一条 a 到 b 边,a 是 b 的父亲。 接下来...原创 2018-03-25 10:34:40 · 944 阅读 · 0 评论 -
计蒜客习题:判定欧拉回路
问题描述你学过一笔画问题么?其实一笔画问题又叫欧拉回路,是指在画的过程中,笔不离开纸,且图中每条边仅画一次,而且可以回到起点的一条回路。蒜头君打算考考你,给你一个图,问是否存在欧拉回路? 输入格式 第 11 行输入两个正整数,分别是节点数 N(1< N<1000) 和边数 M(1< M<100000); 紧接着 M 行对应 M 条边,每行给出一对正整数...原创 2018-03-24 17:57:20 · 666 阅读 · 0 评论 -
计蒜客习题:威虎山上的分配
问题描述每年过年的时候,座山雕都会给兄弟们分银子,分银子之前,座山雕允许大伙儿发表意见,因为要是没法满足所有人的意见,指不定谁要搞出什么大新闻。不过每个人在提意见的时候只能说:“我认为 A 分的银子应该比 B 多!”。座山雕决定要找出一种分配方案,满足所有人的意见,同时使得所有人分得的银子总数最少,并且每个人分得的银子最少为 100 两。 输入格式 第一行两个整数 n,m(0<...原创 2018-03-24 17:53:54 · 430 阅读 · 0 评论 -
计蒜客习题:高速公路
问题描述蒜头君所在的国家有 n 个城市,现在需要在城市之间修高速公路,有 m 条修路的方案,每个方案表示 a, b 城市之间修一条限速为 c 的高速公路。蒜头君希望从这 m 个方案中选出若干方法试行,能够让 n 座城市联通,并且希望所有高速公路中最高限速和最低限速的差值最小。 输入格式 第一行输入两个整数 n,m(2≤n≤100,1<=m<=n(n-1)/2 ),表示有...原创 2018-03-24 17:47:08 · 2100 阅读 · 0 评论 -
计蒜客习题:穿越雷区
问题描述蒜头君最近迷上了一款 RPG 游戏,这次他要去森林里的 n 个宝藏点收集宝藏,编号从 1 到 n。森林里有 m 条道路连接宝藏点,每条道路上都有数量不等的地雷,蒜头君想从中找出若干条道路,使得任意两个宝藏点都是连通的,这样蒜头君都能访问到每个宝藏点了。另外,由于遇到一个地雷,蒜头君会减少一定的血量。 现在蒜头君知道了这 m 条道路上的地雷数,蒜头君希望挑选若干条道路,使得挑选...原创 2018-03-19 15:09:37 · 519 阅读 · 1 评论 -
计蒜客习题:连线问题
问题描述蒜头君和花椰菜君经常出难题考对方。一天,花椰菜君给蒜头君出了这样一道难题:花椰菜君在坐标系上随机画了 N 个点,然后让蒜头君给点之间连线,要求任意两点之间都是连通的,且所连的线段长度之和最小。聪明的你快来帮蒜头君解决一下吧。 输入格式 第一行输入一个整数 N(1≤N≤100),表示花椰菜君一共画了 N 个点。然后输入 N 行,每行输入两个整数 x,y(0≤x,y≤1,000...原创 2018-03-18 14:41:36 · 933 阅读 · 0 评论 -
计蒜客习题:布设光纤
问题描述蒜国有 n 座基站,现在蒜头君想给基站之间布设光纤,使得任意两座基站都是连通的,光纤传输具有传递性,即如果基站 A 和基站 B 之间有光纤,基站 B 和基站 C 之间有光纤,则基站 A 和基站 C 也是连通的,可以通过中间基站 B 来完成传输。 不同的基站之间布设光纤的费用是不同的,现在蒜头君知道了任意两座基站之间布设光纤的费用,求问如何布设,可以使得任意两座基站都是连通的,...原创 2018-03-18 12:19:20 · 850 阅读 · 1 评论 -
计蒜客习题:素数距离
问题描述蒜头君请你求出区间 [l,r] 上距离最近的相邻的素数对和距离最远的相邻的素数对。3,5 是相邻的素数,2,5 不是相邻的素数。距离定义为 2 个素数的差的绝对值。比如 5,7 距离为 2。 输入格式 输入 2 个整数l,r(1≤l≤r≤8000000) 输出格式 如果 a,b(a< b) 是距离最近的素数对,c,d(c< d) 是距离最远的素数对,按照如下...原创 2018-03-18 09:47:48 · 1125 阅读 · 0 评论 -
计蒜客习题:取石子游戏
问题描述蒜头君和花椰妹在玩一个游戏,他们在地上将 n 颗石子排成一排,编号为 1 到 n。开始时,蒜头君随机取出了 2 颗石子扔掉,假设蒜头君取出的 2 颗石子的编号为 a, b。游戏规则如下,蒜头君和花椰妹 2 人轮流取石子,每次取石子,假设某人取出的石子编号为 i,那么必须要找到一对 j, k 满足 i=j−k 或者 i=j+k ,并且编号为 j,k 的石子已经被取出了,如果谁先不...原创 2018-03-18 09:39:03 · 1495 阅读 · 0 评论 -
计蒜客习题:迷阵突围
问题描述蒜头君陷入了坐标系上的一个迷阵,迷阵上有 n 个点,编号从 1 到 n。蒜头君在编号为 1 的位置,他想到编号为 n 的位置上。蒜头君当然想尽快到达目的地,但是他觉得最短的路径可能有风险,所以他会选择第二短的路径。现在蒜头君知道了 n 个点的坐标,以及哪些点之间是相连的,他想知道第二短的路径长度是多少。 注意,每条路径上不能重复经过同一个点。 输入格式 第一行输入两个整数...转载 2018-03-10 23:15:14 · 1984 阅读 · 0 评论 -
计蒜客习题:成仙之路
问题描述有个蘑菇精想要成仙,但是他必须要收集10000个精灵宝石,不过他要是有花精灵的泪水,就只要8000个精灵宝石就可以了,或者如果他有花精灵的血滴,就只要5000个精灵宝石便可以成仙了。蘑菇精可以和森林里的其他精灵交换东西,但是修为等级差距过大的交换会影响 修炼 蘑菇精就跑到花精灵那里,向他索要泪水或血滴,花精灵要他用精灵宝石来换,或者替他弄来 其他的东西,他可以降低价格。蘑...原创 2018-03-09 18:08:37 · 987 阅读 · 2 评论 -
计蒜客习题:蒜头君的积木
问题描述蒜头君酷爱搭积木,他用积木搭了 n 辆重量为 wi的小车和一艘最大载重量为 W 的小船,他想用这艘小船将 n 辆小车运输过河。每次小船运载的小车重量不能超过 W。另外,小船在运载小车时,每辆小车会对小船有一个损坏值si,当多辆小车一起运载时,该趟运载对小船的损坏值为船上所有小车的最大损坏值。 现在蒜头君想知道,如何用小船运载 n 辆小车,可以使得对小船造成的总损坏值最小。 ...转载 2018-03-03 08:59:09 · 1327 阅读 · 0 评论 -
计蒜客习题:灌溉机器人
问题描述农田灌溉是一项十分费体力的农活,特别是大型的农田。蒜头君想为农民伯伯们减轻农作负担,最近在研究一款高科技——灌溉机器人。它可以在远程电脑控制下,给农田里的作物进行灌溉。 现在有一片 N 行 M 列的农田。农田的土壤有两种类型:类型 HH 和类型 PP,每一个格子上的土壤类型相同。其中类型 P 的土壤硬度较大,可以用来布置灌溉机器人,但是一个格子上只能布置一台。类型 H 的土壤...转载 2018-03-03 08:46:12 · 1628 阅读 · 0 评论 -
计蒜客习题:回文串
问题描述一个字符串如果从左往右读和从右往左读都一样,那么这个字符串是一个回文串。例如:”abcba”,”abccba”。 蒜头君想通过添加字符把一个非回文字符串变成回文串。例如:”trit”,可以添加一个’i’ 变成回文串”tirit”。请你用程序计算出,对于一个给定的字符串,最少需要添加几个字符,才能变成回文串。 输入格式 输入一个长度为n(1≤n≤3000) 的字符串。(字符...原创 2018-03-03 08:44:00 · 1586 阅读 · 3 评论 -
计蒜客习题:最长公共子序列
问题描述这次我们的问题非常简单,蒜头君有两个字符串 a 和 b,蒜头想知道两个字符串的最长公共子序列的长度。 输入格式 第一行输入一个字符串。第二行输入一个字符串。(字符串只包含字母,每个字符串长度不超过 1000) 输出格式 输出二者的最长公共子序列的长度,占一行。 样例输入 computer education 样例输出 2AC代码#inclu...原创 2018-03-03 08:42:33 · 894 阅读 · 0 评论 -
计蒜客习题:删除最少的元素
问题描述给定有 n 个数的 A 序列:A1,A2,A3…An 。对于这个序列,我们想得到一个子序列 Ap1,Ap2⋯Api⋯Apm(1≤p1< p2<⋯pi<⋯< pm≤n),满足 Ap1≥Ap2≥⋯≥Api≤⋯≤Apm 。从 A 序列最少删除多少元素,可以得到我们想要的子序列。 输入格式 第一行输入一个整数 n,代表 A 序列中数字的个数。第二个输入 n ...原创 2018-03-03 08:40:34 · 938 阅读 · 0 评论 -
计蒜客习题:蒜头跳木桩
问题描述蒜头君面前有一排 n 个木桩,木桩的高度分别是h1,h2,h3…hn。蒜头第一步可以跳到任意一个木桩,接下来的每一步蒜头不能往回跳只能往前跳,并且跳下一个木桩的高度 不大于 当前木桩。蒜头君希望能踩到尽量多的木桩,请你帮蒜头计算,最多能踩到多少个木桩。 输入格式 第一行输入一个整数 n 代表木桩个数。第二行输入 n 个整数h1,h2,h3..hn,分别代表 n 个木桩的高度...原创 2018-03-03 08:29:27 · 675 阅读 · 0 评论 -
计蒜客习题:平分娃娃
问题描述蒜头君酷爱收集萌萌的娃娃。蒜头君收集了 6 种不同的娃娃,第 i 种娃娃的萌值为 i(1≤i≤6)。现在已知每种娃娃的数量 mi,蒜头君想知道,能不能把娃娃分成两组,使得每组的娃娃萌值之和相同。 输入格式 输入一行,输入 6 个整数,代表每种娃娃的数量 mi(0≤mi≤20,000)。 输出格式 输出一行。如果能把所有娃娃分成萌值之和相同的两组,请输出Can be di...原创 2018-03-02 12:56:51 · 1201 阅读 · 0 评论 -
计蒜客习题:蒜头君的购物袋 3
问题描述蒜头君去超市购物,他有一只容量为 V 的购物袋,同时他想买 nn 种物品,已知每种物品的体积 vi和重要度 pi 。蒜头君想知道,怎么挑选物品放入购物袋中,可以使得买到的物品重要度之和最大,且物品体积和不超过购物袋的容量。注意超市中每种物品的数量无限多。 输入格式 第一行输入两个整数 n, V (1≤n≤1,000,1≤V≤10,000)。 接下来输入 n 行,每行输入两...原创 2018-03-02 01:15:27 · 566 阅读 · 0 评论 -
计蒜客习题:蒜头君的购物袋 2
问题描述蒜头君去超市购物,他有一只容量为 V 的购物袋,同时他想买 n 件物品,已知每件物品的体积 vi和重要度 pi。蒜头君想知道,挑选哪些物品放入购物袋中,可以使得买到的物品重要度之和最大,且物品体积和不超过购物袋的容量。 输入格式 第一行输入两个整数 V(1≤V≤1000)和 n(1≤n≤100)。代表购物袋的总体积为 V,蒜头君一共想买 n 件物品。接下来输入 n 行,每行...原创 2018-03-01 23:06:25 · 442 阅读 · 0 评论 -
计蒜客习题:蒜头君的购物袋 1
问题描述蒜头君去超市购物,他有一只容量为 V 的购物袋,同时他买了 n 件物品,已知每件物品的体积 vi 。蒜头君想知道,挑选哪些物品放入购物袋中,可以使袋子剩余的空间最小。 输入格式 第一行输入一个整数 V(1≤V≤20,000),表示购物袋的容量。 第二行输入一个整数 n(1≤n≤30),表示蒜头君购买的 n 件物品。 接下来输入 n 行,每行输入一个整数 vi(1≤vi≤...原创 2018-03-01 22:07:10 · 650 阅读 · 0 评论 -
计蒜客习题:打印锯齿矩阵
问题描述锯齿矩阵是指每一行包含的元素个数不相同的矩阵,比如: 3 5 2 6 1 2 3 4 1 6 2 7 读入若干对整数 (x,y),表示在第 x 行的末尾加上一个元素 y。输出最终的锯齿数组。初始时矩阵为空。 输入格式 第一行输入两个整数n,m(1≤n,m≤10000),其中 n 表示锯齿数组的行数,m 表示插入的元素总数。 接下来一共 m 行,每行两个整数 x,y...原创 2018-03-01 19:16:52 · 1767 阅读 · 0 评论 -
计蒜客习题:蒜头君的城堡之旅
问题描述蒜国地域是一个 n 行 m 列的矩阵,下标均从 1 开始。蒜国有个美丽的城堡,在坐标 (n,m) 上,蒜头君在坐标 (1,1) 的位置上。蒜头君打算出发去城堡游玩,游玩结束后返回到起点。在出发去城堡的路上,蒜头君只会选择往下或者往右走,而在返回的路上,蒜头君只会选择往上或者往左走,每次只能走一格。已知每个格子上都有一定数量的蒜味可乐,每个格子至多经过一次。 现在蒜头君请你来帮...原创 2018-03-01 10:51:29 · 986 阅读 · 0 评论 -
计蒜客习题:显示屏的输出
问题描述蒜头君有一块数码管显示屏,只能显示数字。每个数字的显示如下。每 7 个数码管用来显示一个数字。(CSDN编辑器问题,样例,例子都写在代码片里了) -| | -| | -每个数字对应的输出如下。 - - - - - - - - | | | | | | | | | | | | | |...原创 2018-03-01 10:44:51 · 549 阅读 · 0 评论 -
计蒜客习题:逃跑
问题描述蒜头被困在了一个 n+1 行 m+1 列的迷宫当中,蒜头所在位置为左上角的 (0,0),他需要逃跑到位于右下角(n,m) 的出口位置。在逃跑的过程中,蒜头只可以向东南西北四个方向移动,当然也可以选择停留在某一位置,他每移动一个单位距离需要 1 秒的时间,蒜头初始时刻的能量为d,蒜头在迷宫当中每过 1 秒需要消耗 1 单位能量。在迷宫中有 k 个士兵,他们会朝着某一方向周期性地射...转载 2018-03-01 03:23:22 · 1112 阅读 · 0 评论 -
计蒜客习题:蒜头君的新游戏
问题描述工作空闲之余,蒜头君经常带着同事们做游戏,最近蒜头君发明了一个好玩的新游戏:n 位同事围成一个圈,同事 A 手里拿着一个兔妮妮的娃娃。蒜头君喊游戏开始,每位手里拿着娃娃的同事可以选择将娃娃传给左边或者右边的同学,当蒜头君喊游戏结束时,停止传娃娃。此时手里拿着娃娃的同事即是败者。 玩了几轮之后,蒜头君想到一个问题:有多少种不同的方法,使得从同事 A 开始传娃娃,传了 m 次之后...原创 2018-02-28 23:09:43 · 2154 阅读 · 0 评论 -
计蒜客习题:逃生
问题描述蒜头君在玩一款逃生的游戏。在一个 n×m 的矩形地图上,蒜头位于其中一个点。地图上每个格子有加血的药剂,和掉血的火焰,药剂的药效不同,火焰的大小也不同,每个格子上有一个数字,如果格子上的数字是正数说明是一个药剂代表增加的生命值,如果是负数说明是火焰代表失去的生命值。 蒜头初始化有 v 点血量,他的血量上限是 c,任何时刻他的生命值都不能大于血量上限,如果血量为 0则会死亡,不...原创 2018-02-28 21:30:50 · 1168 阅读 · 3 评论 -
计蒜客习题:捡水果
问题描述蒜头在玩一款游戏,他在一个山顶,现在他要下山,山上有许多水果,蒜头每下一个高度就可以捡起一个水果,并且获得水果的能量。山的形状如图所示:(CSDN编辑器问题三角写在代码片里) 3 1 2 6 2 33 5 4 1这是一个高度为 4 的山,数字代表水果的能量。每次下一个高度,蒜头需要选择是往左下走,还是往右下走。例如:对于上图的情况,蒜头能获得的最大能量为...原创 2018-02-28 20:50:43 · 554 阅读 · 0 评论 -
计蒜客习题:杨辉三角
问题描述杨辉三角是二项式系数在三角形中的一种几何排列。它的每个数等于它上方两数之和,每行数字左右对称,由 1 开始逐渐变大。(CSDN编辑器问题,三角形写在代码片里了) 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10...原创 2018-02-28 20:42:55 · 406 阅读 · 0 评论 -
计蒜客习题:墙壁涂色
问题描述蒜头君觉得白色的墙面好单调,他决定给房间的墙面涂上颜色。他买了 3 种颜料分别是红、黄、蓝,然后把房间的墙壁竖直地划分成 n 个部分,蒜头希望每个相邻的部分颜色不能相同。他想知道一共有多少种给房间上色的方案。 例如,当 n=5 时,下面就是一种合法方案。 |蓝|红|黄|红|黄| 由于墙壁是一个环形,所以下面这个方案就是不合法的。 |蓝|红|黄|红|黄|蓝| 输入格式 ...原创 2018-02-28 20:35:36 · 821 阅读 · 0 评论