![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
YBT高效进阶
文章平均质量分 53
SSL_MYD
这个作者很懒,什么都没留下…
展开
-
YBT高效进阶 4.6.2 洛谷P1081 开车旅行(最详细)
YBT高效进阶 4.6.2 洛谷P1081 开车旅行TITLE题目描述小A和小B决定利用假期外出旅行,他们将想去的城市从1到n编号,且编号较小的城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市i的海拔高度为h_i城市i和城市j之间的距离d_{i,j},恰好是这两个城市海拔高度之差的绝对值,即 di,j=∣hi−hj∣d_{i,j}=|h_i-h_j|di,j=∣hi−hj∣旅行过程中,小A和小B轮流开车,第一天小A开车,之后每天轮换一次。他们计划选择一个城市s作为起点,一直向原创 2021-06-13 16:37:33 · 232 阅读 · 3 评论 -
YBT高效进阶 5.3.2 区间圆数
YBT高效进阶 5.3.2 区间圆数思路预处理 不考虑前导0设f[i][j]表示i位中j个0f[i][j]=f[i-1][j-1]+f[i-1][j]f[i][0]=1特殊处理前导0用数位DPCODE#include<iostream>#include<cstdio>#include<cstring>using namespace std;int f[51][51];bool s[51];int digitDP(int x){ if(!x原创 2021-06-12 19:32:53 · 135 阅读 · 0 评论 -
YBT高效进阶 5.3.3 数字计数
YBT高效进阶 5.3.3 数字计数思路注意用unsigned long long用二维表示状态:当前位,已经找到的个数如果枚举的数==要找的数,没有前导0,ans+1CODE#include<iostream>#include<cstdio>#include<cstring>using namespace std;unsigned long long f[110][110],s[110],power[110];unsigned long long原创 2021-06-12 17:16:57 · 146 阅读 · 0 评论 -
YBT高效进阶_5.3.1 B数计数
YBT高效进阶_5.3.1 B数计数思路用填数法一位一位看用3维表示状态:当前位,余数,含有13的状态CODE#include<iostream>#include<cstdio>#include<cstring>using namespace std;int f[11][13][3],power[14],n;int digitDP(int dep,int mods,int digit,bool limit){ if(!limit&&原创 2021-06-12 16:43:33 · 180 阅读 · 1 评论 -
YBT高效进阶 6.2.5 余数之和
YBT余数求和思路(n,k)(n,k)(n,k)=∑i=1nk mod i=\sum_{i=1}^nk\bmod i=∑i=1nkmodi=∑i=1nk−⌊ki⌋=\sum_{i=1}^nk-\left\lfloor \dfrac ki \right\rfloor=∑i=1nk−⌊ik⌋=n∗k−∑i=1n⌊ki⌋=n*k-\sum_{i=1}^n\left\lfloor \dfrac ki \right\rfloor=n∗k−∑i=1n⌊ik⌋分块i∈[x,⌊k⌊kx⌋⌋]时⌊ki原创 2021-06-10 13:59:53 · 133 阅读 · 0 评论 -
YBT3.4.4 洛谷P3275 糖果_恒星的亮度
YBT3.4.4 洛谷P3275 糖果_恒星的亮度Title思路建图:1A<=B,B<=AA->B B->A边权02A+1<=BA->B边权13B<=AB->A边权04B+1<=AB->A边权15A<=BA->B边权0Tanjan缩点拓扑DP入度0的点f=1f[v]=max(f[u]+w,f[v]);w为该边边权ans=∑i=1总点数f[i]∗s[i]\sum _{i=1}^{总原创 2021-05-05 11:50:25 · 134 阅读 · 0 评论 -
YBT高效进阶3.4.3 洛谷P2272最大半连通子图
YBT高效进阶3.4.3 洛谷P2272最大半连通子图Title思路Tanjan缩点,拓扑DP第一问f[v]=f[u]+s[v],s[v]为缩点后每个点原来点的个数第二问(f[u]+s[v]>f[v])g[v]=g[u];(f[u]+s[v]==f[v])g[v]=(g[v]+g[u])%mods;CODE#include<iostream>#include<cstdio>#include<stack>#include<queue原创 2021-05-05 11:32:54 · 93 阅读 · 0 评论 -
YBT高效进阶3.4.2 洛谷P2341 POJ2186受欢迎的牛Popular Cows
洛谷P2341 POJ2186受欢迎的牛Title思路缩点,如果出度为0的点唯一,ans=该点原始点数若出度为0的点有多个,ans=0缩点用Floyd or Tanjan or Topsort or KosarajuCODE#include<iostream> #include<cstdio>#include<stack>using namespace std;int dfn[50010],low[50010],col[50010],s[50010]原创 2021-05-04 20:28:04 · 112 阅读 · 0 评论 -
YBT高效进阶3.4.1 洛谷P3387有向图缩点
YBT高效进阶3.4.1 洛谷P3387有向图缩点Title思路建图Tanjan缩点拓扑DP设f[i]为以i为终点的值f[v]=max(f[u]+s[v],f[v])ans=max(f[i])CODE#include<iostream>#include<cstdio>#include<stack>#include<queue>using namespace std;const long long maxn=200010;stru原创 2021-05-05 11:23:53 · 103 阅读 · 1 评论 -
【YBT高效进阶】2字符串算法/1字符串处理/1数字反转
【YBT高效进阶】1基础算法/4深度优先搜索/1数字反转内存限制:256 MiB时间限制:1000 ms标准输入输出题目类型:传统评测方式:文本比较题目描述给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零。输入格式输入共 1 行,一个整数 n。输出格式输出共 1 行,一个整数,表示反转后的新数。样例样例输入-380样例输出-83数据范围与提示对于 100% 的数据-109&原创 2021-04-19 13:26:47 · 161 阅读 · 0 评论 -
【洛谷】P6474 [NOI Online #2 入门组] &【YBT高效进阶】1基础算法/5广度优先搜索/4荆轲刺秦王
【洛谷】P6474 [NOI Online #2 入门组] &【YBT高效进阶】1基础算法/5广度优先搜索/4荆轲刺秦王题目思路BFS搜索\color{black}{BFS搜索}BFS搜索用4维数组保存状态差分+前缀和求卫兵观察范围代码#include<iostream>#include<cstdio>#include<cstring>#include<queue> #include<cmath>using name原创 2021-04-07 21:29:34 · 126 阅读 · 0 评论 -
【HDU】3085&【YBT高效进阶】1基础算法/5广度优先搜索/6逃离噩梦
【HDU】3085&【YBT高效进阶】1基础算法/5广度优先搜索/6逃离噩梦Time Limit: 2000/1000 MS (Java/Others) 、Memory Limit: 32768/32768 K (Java/Others)Problem DescriptionLast night, little erriyue had a horrible nightmare. He dreamed that he and his girl friend were trapped in原创 2021-04-06 20:48:49 · 143 阅读 · 0 评论 -
【YBT高效进阶】1基础算法/4深度优先搜索/3虫食算
【YBT高效进阶】1基础算法/4深度优先搜索/3虫食算内存限制:256 MiB时间限制:1000 ms标准输入输出题目类型:传统评测方式:文本比较题目描述所谓虫食算,就是原先的算是中有一部分被虫子啃掉了,需要我们根据剩下的数字来判定啃掉的字母。来看一个简单的例子:43#9865#0458468#663344445509678其中 # 号表示被虫子啃掉的数字。根据算式,我们很容易判断:第一行的两个数字分别是 5 和 3,第二行的数字是5 。现在,我们对问题做两个限制:首先,我们只考虑原创 2021-03-25 20:44:38 · 153 阅读 · 1 评论 -
【YBT高效进阶】1基础算法/4深度优先搜索/2数独游戏
【YBT高效进阶】1基础算法/4深度优先搜索/2数独游戏内存限制:256 MiB时间限制:1000 ms标准输入输出题目类型:传统评测方式:文本比较题目描述数独是一种传统益智游戏,你需要把 9∗99*99∗9 的数独补充完整,使得图中每行、每列、每个 3∗33*33∗3 的九宫格内数字 1−91-91−9 均恰好出现一次。请编写一个程序填写数独。输入格式输入包含多组测试用例。每个测试用例占一行,包含 81 个字符,表达数独的 81 个格内数据(顺序总体由上到下,同行由左到右)。每个字原创 2021-03-24 17:19:09 · 217 阅读 · 0 评论 -
【YBT高效进阶】1基础算法/4深度优先搜索/1拔河比赛
【YBT高效进阶】1基础算法/4深度优先搜索/1拔河比赛内存限制:256 MiB时间限制:1000 ms标准输入输出题目类型:传统评测方式:文本比较题目描述在浙江师范大学 ACM 集训队,队员平时集训脑力劳动力比较重。为了劳逸结合,我们敬爱的韩老师准备了一场拔河比赛,让队员放松心情。为了拔河比赛的公正性,韩老师提出以下要求:1、 拔河比赛两边人数最多不能相差111 。2、每个队员都有体重,我们要使两边比赛的人体重和相差最小。现在有NNN 个队员,韩老师想你帮忙分配,并且把分配后两边体原创 2021-03-23 21:15:16 · 333 阅读 · 0 评论 -
【YBT高效进阶】1基础算法/3二分算法/3最大均值
【YBT高效进阶】1基础算法/3二分算法/3最大均值内存限制:256 MiB时间限制:1000 ms标准输入输出题目类型:传统评测方式:文本比较题目描述给定正整数序列AAA ,求一个平均数最大的,长度不小于 LLL 的(连续的)子段。输入格式第一行两个整数 NNN 和 LLL。接下来 NNN 行,每行输入一个正整数 AiA_iAi。输出格式输出一个整数,表示平均值的最大值乘以 100010001000 再向下取整之后得到的结果。样例样例输入10 66 421038原创 2021-03-23 20:50:36 · 165 阅读 · 0 评论 -
【YBT高效进阶】1基础算法/3二分算法/2防具布置
【YBT高效进阶】1基础算法/3二分算法/2防具布置内存限制:64 MiB时间限制:1000 ms标准输入输出题目类型:传统评测方式:文本比较题目描述现在有N组防具。 我们可以认为防线是一维的,那么每一组防具都分布在防线的某一段上,并且同一组防具是等距离排列的。 也就是说,我们可以用三个整数S,E,D来描述一组防具,即这一组防具布置在防线的S,S+D,S+2D,……,S+kD(k<=z,S+kD<=E,S+(k+1)D>E)位置上。 若一个位置上的防具数量为奇数,则我们称这个原创 2021-03-22 21:20:05 · 172 阅读 · 0 评论 -
【YBT高效进阶】1基础算法/2贪心算法/3畜栏预定
【YBT高效进阶】1基础算法/2贪心算法/3畜栏预定内存限制:256 MiB时间限制:1000 ms标准输入输出题目类型:传统评测方式:Special Judge题目描述有 n 头牛在畜栏中吃草。每个畜栏在同一时间段只能提供给一头牛吃草,所以可能会需要多个畜栏,给出第 i 头牛开始吃草的时间区间[ai,bi] ,求需要的最少畜栏数和每头牛对应的畜栏方案。输入格式第一行一个正整数 。接下来 n 行,第 i 行两个正整数 Ai,bi。输出格式第一行一个整数,表示需要的最少畜栏数。接下来原创 2021-01-25 20:20:38 · 116 阅读 · 0 评论 -
【YBT高效进阶】1基础算法/2贪心算法/2雷达装置 &【洛谷】P1325雷达装置
【YBT高效进阶】1基础算法/2贪心算法/2雷达装置 &【洛谷】P1325雷达装置内存限制:64 MiB时间限制:1000 ms标准输入输出题目类型:传统评测方式:文本比较题目描述有 n 个建筑物,第 i 个建筑物在笛卡尔坐标系上的坐标为 (xi,yi),你需要在 x 轴上安装一些雷达,每个雷达的侦察半径均为d ,要求每个建筑物都至少被一个雷达侦测到,求最少要安装几个雷达。输入格式第一行两个正整数n,d 。接下来 n 行,第 i 行两个整数 xi,yi。输出格式输出一行表示答原创 2021-01-25 20:11:47 · 215 阅读 · 0 评论 -
【YBT高效进阶】1基础算法/3二分算法/1数列分段 &【洛谷】P1182数列分段
【YBT高效进阶】1基础算法/3二分算法/1数列分段 &【洛谷】P1182数列分段题目描述对于给定的一个长度为N的正整数数列 A 1至 AN,现要将其分成 M(M≤NM\leq NM≤N)段,并要求每段连续,且每段和的最大值最小。关于最大值最小:例如一数 4 2 4 5 1 要分成 33 段。将其如下分段:[4 2][4 5][1]第一段和为 6,第 2 段和为 9,第 3 段和为 1,和最大值为 9。将其如下分段:[4][2 4][5 1]第一段和为 4,第 2 段和为 6,原创 2021-01-23 16:59:48 · 126 阅读 · 0 评论 -
【YBT高效进阶】1基础算法/2贪心算法/4国王游戏 &【洛谷】P1080国王游戏
【YBT高效进阶】1基础算法/2贪心算法/4国王游戏 &【洛谷】P1080国王游戏题目描述恰逢 H国国庆,国王邀请n 位大臣来玩一个有奖游戏。首先,他让每个大臣在左、右手上面分别写下一个整数,国王自己也在左、右手上各写一个整数。然后,让这 n 位大臣排成一排,国王站在队伍的最前面。排好队后,所有的大臣都会获得国王奖赏的若干金币,每位大臣获得的金币数分别是:排在该大臣前面的所有人的左手上的数的乘积除以他自己右手上的数,然后向下取整得到的结果。国王不希望某一个大臣获得特别多的奖赏,所以他想请你帮他原创 2021-01-23 14:52:16 · 207 阅读 · 2 评论 -
【YBT高效进阶】1基础算法/2贪心算法/1奶牛晒衣服 &【洛谷】P1843奶牛晒衣服
【YBT高效进阶】1基础算法/2贪心算法/1奶牛晒衣服 &【洛谷】P1843奶牛晒衣服题目背景熊大妈决定给每个牛宝宝都穿上可爱的婴儿装 。但是由于衣服很湿,为牛宝宝晒衣服就成了很不爽的事情。于是,熊大妈请你(奶牛)帮助她完成这个重任。题目描述一件衣服在自然条件下用一秒的时间可以晒干 a 点湿度。抠门的熊大妈只买了一台烘衣机 。使用用一秒烘衣机可以让一件衣服额外烘干 b 点湿度(一秒晒干 a+b 湿度),但在同一时间内只能烘一件衣服。现在有 n 件衣服,第 i衣服的湿度为wi (保证互不原创 2021-01-23 11:05:48 · 354 阅读 · 0 评论 -
【YBT高效进阶】1基础算法/5广度优先搜索/3立体推箱子
【YBT高效进阶】1基础算法/5广度优先搜索/3立体推箱子内存限制:256 MiB时间限制:1000 ms标准输入输出题目类型:传统评测方式:文本比较题目描述有一个 N*M 的矩阵,每个位置可能是硬地(用 . 表示),易碎地面(用 E 表示),禁地(用 # 表示),起点(用 X 表示),终点(用 O 表示)。你的任务是操作一个 112 的长方体。这个长方体在地面上有两种放置方式," 立 " 在地面上( 11的面接触地面)或者 " 躺 " 在地面上( 12的面接触地面)。在每一步操作中,可原创 2020-12-26 11:24:03 · 233 阅读 · 0 评论 -
【YBT高效进阶】1基础算法/5广度优先搜索/2山峰和山谷
【YBT高效进阶】1基础算法/5广度优先搜索/2山峰和山谷内存限制:256 MiB时间限制:1000 ms标准输入输出题目类型:传统评测方式:文本比较题目描述给定一个N*N 的网格状地图,每个方格(i,j)有一个高度 w(i,j) 。如果两个方格有公共顶点,则它们是相邻的。定义山峰山谷如下:均由地图上的一个联通块组成。所有方格高度都相同。周围的方格(即不属于山峰或山谷但与山峰或山谷相邻的格子)高度均大于山谷的高度,或小于山峰的高度。求地图内山峰和山谷的数量。特别的,如果整个地图方格的原创 2020-12-26 09:21:22 · 268 阅读 · 0 评论 -
【YBT高效进阶】1基础算法/5广度优先搜索/1走迷宫
【YBT高效进阶】1基础算法/5广度优先搜索/1走迷宫内存限制:256 MiB时间限制:1000 ms标准输入输出题目类型:传统评测方式:文本比较题目描述现在有一个n*n的地图,问从起点(sx,sy)到(tx,ty)最少要走几步。输入格式第一行一个正整数n。接下来n行,每行n个字符,表示 N*N 的 0/1 矩阵,1 表示不能通过,0 表示可以通过。最后一行四个整数 sx,sy,tx,ty 。输出格式仅有一个数,表示答案。样例样例输入50111100111100011原创 2020-12-26 08:33:26 · 190 阅读 · 0 评论 -
【YBT高效进阶】1基础算法/1逆推算法/5平铺方案
【YBT高效进阶】1基础算法\1逆推算法\5平铺方案内存限制:256 MiB时间限制:1000 ms标准输入输出题目类型:传统评测方式:文本比较题目描述您可以通过几种方式用2 * 1或2* 2瓦片平铺2*n矩形?输入格式每行一个整数 。输出格式每行一个整数,表示方案数。样例输入样例2812100200输出样例31712731845100400152152934331135470251107129202950599351702797472822744173501原创 2020-12-19 12:12:04 · 240 阅读 · 1 评论 -
【YBT高效进阶】1基础算法/1逆推算法/4传球游戏
【YBT高效进阶】1基础算法\1逆推算法\4传球游戏内存限制:256 MiB时间限制:1000 ms标准输入输出题目类型:传统评测方式:文本比较题目描述上体育课的时候,小蛮的老师经常带着同学们一起做游戏。这次,老师带着同学们一起做传球游戏。游戏规则是这样的: n个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球,每个同学可以把球传给自己左右的两个同学中的一个(左右任意),当老师再次吹哨子时,传球停止,此时,拿着球没有传出去的那个同学就是败者,要给大家表演一个节目。聪明原创 2020-12-19 11:53:03 · 150 阅读 · 1 评论 -
【YBT高效进阶】1基础算法/1逆推算法/3数的划分
【YBT高效进阶】1基础算法\1逆推算法\3数的划分内存限制:256 MiB时间限制:1000 ms标准输入输出题目类型:传统评测方式:文本比较题目描述将整数n分成k份,且每份不能为空,任意两个方案不相同(不考虑顺序)。例如:,下面三种分法被认为是相同的:1,1,5; 1,5,1; 1,1,5.问有多少种不同的分法。输入格式两个整数,n和k。输出格式输出不同的分法数。样例输入样例7 3输出样例4样例说明四种分法为:1,1,5; 1,2,4; 1,3,3; 2,原创 2020-12-19 10:31:08 · 171 阅读 · 1 评论 -
【YBT高效进阶】1基础算法/1逆推算法/2奇怪汉诺塔
【YBT高效进阶】1基础算法\1逆推算法\2奇怪汉诺塔内存限制:256 MiB时间限制:1000 ms标准输入输出题目类型:传统评测方式:文本比较题目描述汉诺塔问题,条件如下:这里有 A、B、C 和 D 四座塔。这里有n个圆盘,n的数量是恒定的。每个圆盘的尺寸都不相同。所有的圆盘在开始时都堆叠在塔 A 上,且圆盘尺寸从塔顶到塔底逐渐增大。我们需要将所有的圆盘都从塔 A 转移到塔 D 上。每次可以移动一个圆盘,当塔为空塔或者塔顶圆盘尺寸大于被移动圆盘时,可将圆盘移至这座塔上。 请你求原创 2020-12-19 09:54:04 · 168 阅读 · 1 评论 -
【YBT高效进阶】1基础算法/1逆推算法/1错排问题
【YBT高效进阶】1基础算法\1逆推算法\1错排问题内存限制:256 MiB时间限制:1000 ms标准输入输出题目类型:传统评测方式:文本比较题目描述求多少个n个数的排列 ,满足对于任意的i(1<=i<=n)a[i]!=i。输入格式一个整数n。输出格式一个整数,表示答案。样例输入样例2输出样例1数据范围与提示对于100%的数据,1<=n<=20。思路设f[i]表示i个数的错拍问题。从前面选一个数,和i交换,其他错排:f[i-2]*(i-1)原创 2020-12-19 08:59:59 · 319 阅读 · 1 评论