![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OJ刷题
Raymond&yin
Learn to Code.
展开
-
最长公共子串和最长公共子序列(动态规划)
分享一下简洁的代码(只输出匹配的个数),从第数组第二个元素开始赋值,因为防止数组下标越界!最长公公子串 Longest Common Substring 匹配的字符串在原串中必须是连续的#include<bits/stdc++.h>using namespace std;const int MAXN=1000+1;int dp[MAXN][MAXN];int main(...原创 2020-03-05 21:48:22 · 218 阅读 · 0 评论 -
埃及分数(迭代加深搜索 + A*)
埃及分数在古埃及,人们使用单位分数的和(形如1/a 的,a是自然数)表示一切有理数。例如2/3=1/2+1/6,但不允许2/3=1/3+1/3,因为加数中有相同的。对于一个分数a/b,表示方法有很多种,但是哪种最好呢?首先,加数少的比加数多的好,其次,加数个数相同的,最小的分数越大越好。例如:19/45=1/3+1/12+1/18019/45=1/3+1/15+1/4519/45=1/3+...原创 2020-02-21 21:41:17 · 724 阅读 · 0 评论 -
每日一烩(状态压缩,哈希)
一试题 算法训练 审美课资源限制时间限制:1.0s 内存限制:256.0MB问题描述 《审美的历程》课上有n位学生,帅老师展示了m幅画,其中有些是梵高的作品,另外的都出自五岁小朋友之手。老师请同学们分辨哪些画的作者是梵高,但是老师自己并没有答案,因为这些画看上去都像是小朋友画的……老师只想知道,有多少对同学给出的答案完全相反,这样他就可以用这个数据去揭穿披着皇帝新衣的抽象艺术了(支...原创 2020-02-20 21:43:19 · 271 阅读 · 0 评论 -
大数 高精度 四则运算
大数的四则运算高精度计算,是指参与运算的数大大超出了标准数据类型所能表示的范围,例如两个1000位数相乘,这类题目在算法竞赛中出现得很频繁。在c或者c++中,最大数据类型只有64位,如果需要处理更大的数,只能用数组模拟,把大数的每一位存储在数组中,然后按位处理进位、借位。在网上搜索了一番资料,发现写的都过于繁琐、不易理解,本人写了大数的四则运算(除法暂时没写,明天更新),代码如下。首先定义一...原创 2020-02-13 21:12:09 · 544 阅读 · 0 评论 -
强连通分量 floyd算法 每日练习
先来一道热身题,蓝桥杯 算法提高ADV-284 GPA1.问题描述 输入A,B两人的学分获取情况,输出两人GPA之差。输入格式 输入的第一行包含一个整数n表示A的课程数,以下n行每行Si,Ci分别表示第i个课程的学分与A的表现。 GPA=Σ(Si*Ci) / Σ(Si)。 特殊地,如果Ci是’P’或者’N’(对应于通过与不通过),则第i个课程不记入GPA的计算(即当其不存在)。...原创 2020-02-12 21:57:02 · 832 阅读 · 0 评论 -
图论相关 每日训练
先是热身题 图论相关求割点 求拓扑排序在后面蓝桥题库 算法提高 套正方形官网oj没过,但是输出没有一点问题,不知道哪里错了//蓝桥杯 算法提高 套正方形 #include<iostream>#include<cstring>using namespace std;const int MAXN=52;int main(){ char a[MAXN][M...原创 2020-02-11 22:38:29 · 317 阅读 · 0 评论 -
备战蓝桥 每日训练
蓝桥杯 算法提高 ADV-288先来热热身 配合STL#include<iostream>#include<vector>#include<algorithm>#include<string>using namespace std;typedef pair<string, int> Pair;const int MAX...原创 2020-02-10 22:39:45 · 251 阅读 · 0 评论 -
蓝桥杯 2018 C++ A组 初赛部分题解
题目4标题:第几个幸运数到x星球旅行的游客都被发给一个整数,作为游客编号。x星的国王有个怪癖,他只喜欢数字3,5和7。国王规定,游客的编号如果只含有因子:3,5,7,就可以获得一份奖品。我们来看前10个幸运数字是:3 5 7 9 15 21 25 27 35 45因而第11个幸运数字是:49小明领到了一个幸运数字 59084709587505,他去领奖的时候,人家要求他准确地说出这是...原创 2020-02-09 22:28:59 · 388 阅读 · 1 评论 -
Floyd算法妙用-传递闭包
最近在读lyd写得算法竞赛进阶指南,里面收录了Floyd算法的一道例题:排序。题目如下: 简单介绍一下Floyd算法,Floyd算法需要三层for循环,第一层for循环k是一共要松弛的轮次,内层两个for循环 i、j是代表要处理的起始和目标节点,详细可以看这篇博客:傻子也能看懂的弗洛伊德算法 我们可以使用邻接矩阵来表示变量间的关系,当g[i][j]=true 代表 i<j ,题目的变量是A-Z,所以g[0][1]代表 (0+‘A’)‘A’ 和 (1+‘A’)'B’的关系。这题显然不是要我原创 2020-11-18 23:09:02 · 706 阅读 · 0 评论 -
算法训练 虚张声势
问题 2110: 虚张声势时间限制: 1Sec 内存限制: 128MB 提交: 298 解决: 61题目描述大战即将来临,杰洛特需要为自己声张声势,但是喊得太假有会被人识破因此杰洛特决定连着喊出两句话,两句话中所有的字母数量全部相等则不会被识破请指出杰洛特所喊的话是否会被识破输入一个t表示几组数据接下来t组,每组第一行一句话,第二行一句话每句话长度小于100000输出如果杰洛...原创 2020-03-22 20:06:11 · 427 阅读 · 0 评论 -
算法提高 Substrings(string 用法)
资源限制时间限制:1.0s 内存限制:256.0MB问题描述 You are given a number of case-sensitive strings of alphabetic characters, find the largest string X, such that either X, or its inverse can be found as a substrin...原创 2020-04-01 18:20:27 · 411 阅读 · 0 评论 -
算法训练 结点选择(树型动态规划)
资源限制时间限制:1.0s 内存限制:256.0MB问题描述有一棵 n 个节点的树,树上每个节点都有一个正整数权值。如果一个点被选择了,那么在树上和它相邻的点都不能被选择。求选出的点的权值和最大是多少?输入格式第一行包含一个整数 n 。接下来的一行包含 n 个正整数,第 i 个正整数代表点 i 的权值。接下来一共 n-1 行,每行描述树上的一条边。输出格式输出一个整数,代表选...原创 2020-03-18 20:38:11 · 318 阅读 · 0 评论 -
算法训练 2的次幂表示
资源限制时间限制:1.0s 内存限制:512.0MB问题描述 任何一个正整数都可以用2进制表示,例如:137的2进制表示为10001001。 将这种2进制表示写成2的次幂的和的形式,令次幂高的排在前面,可得到如下表达式:137=27+23+2^0 现在约定幂次用括号来表示,即a^b表示为a(b) 此时,137可表示为:2(7)+2(3)+2(0) 进一步:7=22+2+...原创 2020-03-15 21:10:45 · 235 阅读 · 0 评论 -
算法训练 和为T(Dfs)
试题 算法训练 和为T资源限制时间限制:1.0s 内存限制:256.0MB问题描述 从一个大小为n的整数集中选取一些元素,使得它们的和等于给定的值T。每个元素限选一次,不能一个都不选。输入格式 第一行一个正整数n,表示整数集内元素的个数。 第二行n个整数,用空格隔开。 第三行一个整数T,表示要达到的和。输出格式 输出有若干行,每行输出一组解,即所选取的数字,按照输...原创 2020-03-14 20:18:31 · 735 阅读 · 0 评论 -
算法提高 聪明的美食家(动态规划 LIS)
试题 算法提高 聪明的美食家资源限制时间限制:1.0s 内存限制:256.0MB问题描述 如果有人认为吃东西只需要嘴巴,那就错了。 都知道舌头有这么一个特性,“由简入奢易,由奢如简难”(据好事者考究,此规律也适合许多其他情况)。具体而言,如果是甜食,当你吃的食物不如前面刚吃过的东西甜,就很不爽了。 大宝是一个聪明的美食家,当然深谙此道。一次他来到某小吃一条街,准备从街的一头吃...原创 2020-03-09 21:53:48 · 372 阅读 · 0 评论 -
算法提高 P1003(排序+优先队列)
试题 算法提高 P1003时间限制:1.0s 内存限制:256.0MB 作为一名网络警察,你的任务是监视电子邮件,看其中是否有一些敏感的关键词。不过,有些狡猾的犯罪嫌疑人会改变某些单词的字母顺序,以逃避检查。请编写一个程序,发现这种调整过顺序的关键词。程序的输入有两行,第一行是关键词列表,第二行是待检查的句子。程序的输出为在该句子中所找到的经过顺序调整的关键词。(单词全部为小写,单词之间...原创 2020-03-09 21:40:44 · 367 阅读 · 0 评论 -
蓝桥杯省赛 修改数组(并查集)
题目描述 给定一个长度为N 的数组A = [A1, A2,…,AN],数组中有可能有重复出现的整数。 现在小明要按以下方法将其修改为没有重复整数的数组。小明会依次修改A2,A3,…, AN。当修改Ai 时,小明会检查Ai 是否在A1~ Ai-1 中出现过。如果出现过,则小明会给Ai 加上1 ;如果新的Ai 仍在之前出现过,小明会持续给Ai 加1 ,直到Ai 没有在A1~Ai-1中出现过。当...原创 2020-03-08 21:49:55 · 284 阅读 · 0 评论 -
历届试题 对局匹配(模运算+ 动态规划)
试题 历届试题 对局匹配资源限制时间限制:1.0s 内存限制:256.0MB问题描述 小明喜欢在一个围棋网站上找别人在线对弈。这个网站上所有注册用户都有一个积分,代表他的围棋水平。小明发现网站的自动对局系统在匹配对手时,只会将积分差恰好是K的两名用户匹配在一起。如果两人分差小于或大于K,系统都不会将他们匹配。现在小明知道这个网站总共有N名用户,以及他们的积分分别是A1, A2, ...原创 2020-03-08 21:37:15 · 294 阅读 · 0 评论 -
算法训练 K好数(动态规划)
试题 算法训练 K好数资源限制时间限制:1.0s 内存限制:256.0MB问题描述如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数。求L位K进制数中K好数的数目。例如K = 4,L = 2的时候,所有K好数为11、13、20、22、30、31、33 共7个。由于这个数目很大,请你输出它对1000000007取模后的值。输入格式输入包含两个正...原创 2020-03-08 21:12:09 · 257 阅读 · 0 评论 -
算法提高 士兵排队问题(拓扑排序)
试题 算法提高 士兵排队问题资源限制时间限制:1.0s 内存限制:256.0MB试题 有N个士兵(1≤N≤26),编号依次为A,B,C,…,队列训练时,指挥官要把一些士兵从高到矮一次排成一行,但现在指挥官不能直接获得每个人的身高信息,只能获得“P1比P2高”这样的比较结果(P1、P2∈A,B,C,…,Z,记为 P1>P2),如”A>B”表示A比B高。 请编一程序,根据...原创 2020-03-07 20:44:03 · 426 阅读 · 0 评论 -
算法提高 盾神与砝码称重(Dfs)
试题 算法提高 盾神与砝码称重资源限制时间限制:1.0s 内存限制:256.0MB问题描述 有一天,他在宿舍里无意中发现了一个天平!这个天平很奇怪,有n个完好的砝码,但是没有游码。盾神为他的发现兴奋不已!于是他准备去称一称自己的东西。他准备好了m种物品去称。神奇的是,盾神一早就知道这m种物品的重量,他现在是想看看这个天平能不能称出这些物品出来。但是盾神稍微想了1秒钟以后就觉得这个问题...原创 2020-03-06 21:14:27 · 692 阅读 · 0 评论 -
算法训练 审美课(异或运算 + 状态压缩)
试题 算法训练 审美课资源限制时间限制:1.0s 内存限制:256.0MB问题描述 《审美的历程》课上有n位学生,帅老师展示了m幅画,其中有些是梵高的作品,另外的都出自五岁小朋友之手。老师请同学们分辨哪些画的作者是梵高,但是老师自己并没有答案,因为这些画看上去都像是小朋友画的……老师只想知道,有多少对同学给出的答案完全相反,这样他就可以用这个数据去揭穿披着皇帝新衣的抽象艺术了(支持帅...原创 2020-03-06 20:29:39 · 324 阅读 · 0 评论 -
算法提高 最长滑雪道(动态规划 + Dfs)
试题 算法提高 最长滑雪道资源限制时间限制:1.0s 内存限制:256.0MB问题描述 小袁非常喜欢滑雪, 因为滑雪很刺激。为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。 小袁想知道在某个区域中最长的一个滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。如下: 一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减小。...原创 2020-03-01 20:34:29 · 690 阅读 · 0 评论 -
算法提高 vertex cover(Dfs 搜索)
试题 算法提高 vertex cover资源限制时间限制:2.0s 内存限制:256.0MB问题描述 给定一个N个点M条边的无向图G(点的编号从1至N),问是否存在一个不超过K个点的集合S,使得G中的每条边都至少有一个点在集合S中。输入格式 输入的第一行包含一个整数T,表示数据的组数。 接下来T组数据中:每组输入的第一行包含三个整数n, m, k,分别表示图的点数,边数,集...原创 2020-03-01 20:18:25 · 840 阅读 · 0 评论 -
算法提高 最小方差生成树(枚举 + Kruskal)
试题 算法提高 最小方差生成树资源限制时间限制:1.0s 内存限制:256.0MB问题描述给定带权无向图,求出一颗方差最小的生成树。输入格式输入多组测试数据。第一行为N,M,依次是点数和边数。接下来M行,每行三个整数U,V,W,代表连接U,V的边,和权值W。保证图连通。n=m=0标志着测试文件的结束。输出格式对于每组数据,输出最小方差,四舍五入到0.01。输出格式按照样例。样...原创 2020-02-29 20:51:58 · 448 阅读 · 0 评论 -
算法提高 概率计算(动态规划)
试题 算法提高 概率计算资源限制时间限制:1.0s 内存限制:256.0MB问题描述 生成n个∈[a,b]的随机整数,输出它们的和为x的概率。输入格式 一行输入四个整数依次为n,a,b,x,用空格分隔。输出格式 输出一行包含一个小数位和为x的概率,小数点后保留四位小数样例输入2 1 3 4样例输出0.3333数据规模和约定 对于50%的数据,n≤5. 对...原创 2020-02-29 20:03:43 · 416 阅读 · 0 评论 -
算法提高 A Careful Approach(暴力枚举 + 二分法 + 贪心法)
试题 算法提高 A Careful Approach资源限制时间限制:1.0s 内存限制:256.0MB问题描述 如果你认为参加一个编程比赛让你感到有压力,那么请你想象你是一个空中交通管制员。因为人命关天,所以一个空中交通管制员必须在时刻变化的环境中专注于任务,解决不可预知的事件。 让我们将目光转向飞机的着陆流程。飞机进入目的地飞航情报区之后,就会报告自己的位置、方向和速度,然后...原创 2020-02-28 21:40:54 · 441 阅读 · 0 评论 -
算法提高 学霸的迷宫(经典 Bfs)
试题 算法提高 学霸的迷宫资源限制时间限制:1.0s 内存限制:256.0MB问题描述 学霸抢走了大家的作业,班长为了帮同学们找回作业,决定去找学霸决斗。但学霸为了不要别人打扰,住在一个城堡里,城堡外面是一个二维的格子迷宫,要进城堡必须得先通过迷宫。因为班长还有妹子要陪,磨刀不误砍柴功,他为了节约时间,从线人那里搞到了迷宫的地图,准备提前计算最短的路线。可是他现在正向妹子解释这件事情...原创 2020-02-28 21:20:34 · 530 阅读 · 0 评论 -
算法提高 两条直线(二分法 + 枚举)
试题 算法提高 两条直线资源限制时间限制:1.0s 内存限制:256.0MB问题描述给定平面上n个点。求两条直线,这两条直线互相垂直,而且它们与x轴的夹角为45度,并且n个点中离这两条直线的曼哈顿距离的最大值最小。两点之间的曼哈顿距离定义为横坐标的差的绝对值与纵坐标的差的绝对值之和,一个点到两条直线的曼哈顿距离是指该点到两条直线上的所有点的曼哈顿距离中的最小值。输入格式第一行包...原创 2020-02-26 20:15:59 · 1570 阅读 · 4 评论 -
算法提高 盾神与条状项链(静态链表)
试题 算法提高 盾神与条状项链资源限制时间限制:1.0s 内存限制:256.0MB问题描述 有一天,盾神捡到了好多好多五颜六色的珠子!他心想这些珠子这么漂亮,可以做成一条项链然后送给他心仪的女生~于是他用其中一些珠子做成了长度为n的项链。当他准备把项链首尾相接的时候,土方进来了。 “哇这么恶心的项链你也做得出来!!!” 盾神自知审美不是他的长项,于是他很谦虚地请教土方,怎么才...原创 2020-02-24 21:03:43 · 329 阅读 · 0 评论 -
算法提高 拿糖果(动态规划 + 埃式素数筛法)
试题 算法提高 拿糖果资源限制时间限制:1.0s 内存限制:256.0MB问题描述 妈妈给小B买了N块糖!但是她不允许小B直接吃掉。 假设当前有M块糖,小B每次可以拿P块糖,其中P是M的一个不大于根号下M的质因数。这时,妈妈就会在小B拿了P块糖以后再从糖堆里拿走P块糖。然后小B就可以接着拿糖。 现在小B希望知道最多可以拿多少糖。输入格式 一个整数N输出格式 最多可...原创 2020-02-23 20:09:41 · 406 阅读 · 0 评论 -
算法训练 Bit Compressor (dfs 剪枝)
试题 算法训练 Bit Compressor资源限制时间限制:1.0s 内存限制:256.0MB问题描述 数据压缩的目的是为了减少存储和交换数据时出现的冗余。这增加了有效数据的比重并提高了传输速率。有一种压缩二进制串的方法是这样的: 加粗样式将连续的n个1替换为n的二进制表示(注:替换发生当且仅当这种替换减少了二进制串的总长度) (译者注:连续的n个1的左右必须是0或者是串的...原创 2020-02-22 21:36:05 · 2448 阅读 · 7 评论 -
算法提高 和谐宿舍2(动态规划 dfs)
与人原创 2020-02-22 20:45:25 · 1264 阅读 · 0 评论 -
算法提高 Degrees of Separation(map + Bfs)
试题 算法提高 Degrees of Separation资源限制时间限制:1.0s 内存限制:256.0MB问题描述 在我们联系日益紧密的世界里,人们推测每个人和其他人的分离度不超过六(六度分离)。在这个问题里,你需要写一个程序来找出人们的关系网络中最大的分离度。 对于任意两个人,他们的分离度是联系两个人需要经过的最小的关系数。对于一个关系网络,最大的分离度是网络中任意两人的分...原创 2020-02-20 21:32:07 · 806 阅读 · 0 评论 -
算法提高 Trade on Verweggistan (暴力求解 + Dfs + Set)
试题 算法提高 Trade on Verweggistan资源限制时间限制:1.0s 内存限制:128.0MB问题描述 自从Peter Stuyvesant和Abel Tasman的日子以后,荷兰商人已经周游世界来买卖商品。有一次在Verweggistan的贸易,但是它在很短的时间后就结束了。在读完这个故事之后你就明白了。 在当时Verweggistan是非常受欢迎的,因为世界上...原创 2020-02-19 20:41:39 · 360 阅读 · 0 评论 -
算法提高 Cutting Chains (dfs + 状态压缩)
试题 算法提高 Cutting Chains资源限制时间限制:1.0s 内存限制:256.0MB问题描述 什么!Anna Locke最近买了几个链环,并且其中的一些链环连接到了一起。它们是由zorkium做成的,这是一种在上世纪经常用来加工珠宝的材料,但它不再用来干这种事了。它有它独特的光泽,即使黄金和白银也无法与之比较,并且无法向任何以前没有见过它的人来描述它。 Anna想要把...原创 2020-02-18 20:47:57 · 533 阅读 · 0 评论 -
蓝桥杯 算法提高 JOE的算数 (快速幂取模)
JOE的算数资源限制时间限制:1.0s 内存限制:256.0MB问题描述 有一天,JOE终于不能忍受计算a^ b%c这种平凡的运算了。所以他决定要求你写一个程序,计算a^b%c。提示:若b为奇数,,a^ b=(a^ (b/2))^ 2*a,否则a^ b=(a^ (b/2))^2。输入格式 三个非负整数a,b,c;输出格式 一个整数ans,表示a^b%c;样例输入7 ...原创 2020-02-17 22:11:43 · 819 阅读 · 0 评论 -
算法提高 Island Hopping (最小生成树+优先队列)
算法提高 Island Hopping资源限制时间限制:1.0s 内存限制:256.0MB问题描述 太平洋岛网公司(PLN)已经瞄向了太平洋中的一些群岛。这些群岛没有快捷的互联网连接。PLN计划向群岛提供互联网服务,以开发这个太平洋中潜在的市场。每组群岛的核心岛屿已经被深海电缆连入互联网。接下来需要做的事把其余岛屿和核心岛屿连接起来。 对于每个岛,将给出它的路由器的位置和居民数量...原创 2020-02-16 21:07:20 · 898 阅读 · 0 评论 -
算法提高 秘密行动
资源限制时间限制:1.0s 内存限制:256.0MB问题描述 小D接到一项任务,要求他爬到一座n层大厦的顶端与神秘人物会面。这座大厦有一个神奇的特点,每层的高度都不一样,同时,小D也拥有一项特殊能力,可以一次向上跳跃一层或两层,但是这项能力无法连续使用。已知向上1高度消耗的时间为1,跳跃不消耗时间。由于事态紧急,小D想知道他最少需要多少时间到达顶层。输入格式 第一行包含一个整数n...原创 2020-02-15 21:10:24 · 306 阅读 · 0 评论 -
力扣 #199 二叉树的右视图(C++)
题目如下:官网oj法一 层次遍历(BFS) 题目要求返回每一层的最右侧节点,我们按照层次遍历二叉树,每当遇到最右边的节点,就加入到答案中。当遍历第n层的时候,得到的子节点入队列,当n层的节点全部pop之后,剩下的节点就是n+1层的节点,同理,当遍历第n+1层的时候,得到的子节点入队列,当n+1层的节点全部pop之后,剩下的节点就是n+2层的节点 …不难得到下面的代码:class Solution {public: vector<int> rightSideView(TreeN原创 2020-10-09 22:59:22 · 187 阅读 · 0 评论