随笔分类 - 洛谷官方题单
摘要:原题链接:https://www.luogu.com.cn/problem/P1616 题意解读:完全背包问题,时间可以当做背包体积。 解题思路:根据数据范围,m * t <= 10^7,可以用O(n^2)的算法,不能使用O(n^3),所以必须用一维dp 完全背包的一维代码和01背包基本类似,除了j
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1049 题意解读:装尽可能多的物品,使得总体积越大越好,即剩余空间最小,还是一个01背包问题,物品的体积就是其价值。 解题思路: 01背包模版题,物品体积、价值相同,直接采用一维dp。 100分代码: #include
阅读全文
摘要:参考:https://www.cnblogs.com/jcwy/p/18005991
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1802 题意解读:x个药取打n个怪,打赢打输都有经验,计算最大的经验数,跟01背包类似,可以理解为一个物品装得下或者装不下都可以装,装得下获得的价值高,装不下获得的价值低。 解题思路: 设lose[N], win[N],
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1115 题意解读:计算最大字段和,典型dp问题。 解题思路: 设a[]表示所有整数,f[i]表示以第i个数结束的最大字段和 当f[i-1]>=0时,f[i] = f[i-1] + a[i] 否则,f[i] = a[i]
阅读全文
摘要:参考:https://www.cnblogs.com/jcwy/p/18101493
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1434 题意解读:计算能滑行的最长距离。 解题思路: 设dp(i, j)表示从i,j可以滑行的最大距离 对于4个方向i,j可以到达的点,ni,nj,如果可以滑过去(ni,ni所在点高度更低) 则dp(i, j) = ma
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P2196 题意解读:求一条路径,使得所有点地雷数之和最大。 解题思路: 1、DFS 先建图,再从1~n点分别进行一次DFS,记录过程中地雷总数最大的,并且同时记录遍历的顺序。数据量不大,直接就可以过。 100分代码: #i
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1048 题意解读:在有限的时间内,采集到最大价值的草药,实际上是01背包问题,这里的总时间就是背包的体积。 解题思路: 设v[]表示每株草药的时间, w[]表示每株草药的价值, dp[i][j]表示采前i株草药在时间j内
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1216 题意解读:计算数字三角形最高点到最后一行路径之和最大值,典型线性DP。 解题思路: 设a[i][j]表示数字三角形的值, 设dp[i][j]表示从最高点到第i行第j列路径之和的最大值, 由于每一步可以走到左下方的
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1593 题意解读:计算a^b的因子和。 解题思路: 1、如何计算因子和 我们知道,对于一个整数x,分解质因数后x = p1a1*p2a2*...*pnan 其所有因子和可以表示为(p10+p11+p12+...+p1a1
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1403 题意解读:计算1~n每个数的约数个数之和。 解题思路: 1、数学方法 1~n的约数范围也在1~n,要计算每个数的约数个数之和 可以从约数出发, 比如约数是x,那么在1~n中一共有n/x个数包含x这个约数 x从1一
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P3601 题意解读:求l~r范围内所有qiandao(x) 之和,qiandao(x)为小于等于x的数中,与x不互质的数的个数。注意取模。 解题思路: 欧拉函数定义:phi(x) = x * (1-1/p1) * (1-1
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P2660 题意解读:对一个长方形,切割出最少数量的正方形,计算所有正方形的边长。 解题思路: 长方形长、宽为x,y 先判断x,y哪个长,哪个短 长的作为l,短的作为s 先切出s * s的正方形,一共可以切出l / s个,累
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P2651 题意解读:计算能否在除法a1/a2/a3/.../an式子中加括号,将一部分数变成分子,使得除法结果是整数。 解题思路: 在a1/a2/a3/.../an中,无论怎么加括号,a1一定是分子,a2一
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1414 题意解读:有n个数,从其中选k个数,k=1, 2, 3......n,使得这k个数的gcd最大。 解题思路: 如何求k个数的最大公约数呢?暴力法肯定不行。 可以从1到n枚举这个最大公约数i,看是否有>=k个数的因
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P4057 题意解读:给定三个数,计算其最小公倍数。 解题思路: 三个数a、b、c lcm(a, b, c) = lcm(lcm(a, b), c) 100分代码: #include <bits/stdc++.h> usin
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1572 题意解读:计算分数+、-运算的结果。 解题思路: 根据题目要求,逐项计算并约分,则不会超int,问题就比较直接了 定义a1/b1为前一项的分子分母,a2/b2为当前项的分子分母 依次遍历字符串,处理出分子和分母,
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1069 题意解读:一个数s代表细胞经过一天分裂的个数,则经过t天后个数为st,要计算经过几天后能整除m1m2,也就是st % m1m2 == 0,有多个s,要计算天数最少就可以满足条件的。 解题思路: 直接求st % m
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1072 题意解读:求有多少个x,满足x和a0 的最大公约数是a1,x和b0的最小公倍数是b1,多组数据。 解题思路: 枚举法: 因为x和a0 的最大公约数是a1,x和b0的最小公倍数是b1,所以x不大于b1
阅读全文
浙公网安备 33010602011771号