Loading

上一页 1 ··· 40 41 42 43 44 45 46 47 48 ··· 85 下一页
摘要: 卢卡斯定理是一个与组合数有关的数论定理,在算法竞赛中用于求组合数对某质数的模。 第一部分是博主的个人理解,第二部分为 Pecco 学长的介绍 一篇很好的 卢卡斯定理 博文 第一部分 一般情况下,我们计算大组合数取模问题是用递推公式进行计算的: \[ C_n^m=(C_{n-1}^m+C_{n-1}^ 阅读全文
posted @ 2021-04-14 21:12 RioTian 阅读(998) 评论(0) 推荐(1)
摘要: 区间DP是一类在区间上进行动态规划的最优问题,一般是根据问题设出一个表示状态的 dp,可以是二维的也可以是三维的,一般情况下为二维。然后将问题划分成两个子问题,也就是一段区间分成左右两个区间,然后将左右两个区间合并到整个区间,或者说局部最优解合并为全局最优解,然后得解。 这类DP可以用常规的for循 阅读全文
posted @ 2021-04-14 20:40 RioTian 阅读(167) 评论(0) 推荐(0)
摘要: 题目链接:Here 题意总结:\(N\) 次查询串 \(B\) 是否是 \(A\) 的子序列。 思路一 个人做法,枚举原字符串的每一位,如果匹配当前字符串的字符则 m++ 直到字符串枚举完毕或者 m >= t.size() \(\mathcal{O}(N)\) string s, t; void s 阅读全文
posted @ 2021-04-14 17:04 RioTian 阅读(105) 评论(0) 推荐(0)
摘要: 题目链接:Here 树形DP 算法讲解:Here 无向联通图其实就是树的形状,其次让我们以 s 为根使得所有的叶子节点不能到达根并且让删去边权的总和最小,那么就是典型的 树形DP 了。 \(dp_i\) 代表以节点 \(i\) 为根节点而其子树内的根节点无法达到根节点的最小代价,\(dp_i = m 阅读全文
posted @ 2021-04-13 16:32 RioTian 阅读(245) 评论(0) 推荐(0)
摘要: 补题链接:Here 1511A. Review Site 题意:\(n\) 个影评人,\(a_i\) 有三种类型,如下 \(a_i = 1\) ,则表示支持 \(a_i = 0\) ,则表示不支持 \(a_i = 3\) ,则表示无所谓 现在求最大的支持数。 思路:把 \(a_i = 1,3\) 的 阅读全文
posted @ 2021-04-13 14:35 RioTian 阅读(119) 评论(0) 推荐(0)
摘要: 补题链接:Here A. Array and Peaks 题意:给定 数组大小 \(n\) 和 峰值点 \(k\) 请问是否存在这样的排序,不存在则输出-1 先序从 i = 2 开始填,依次 i += 2 ,如果这样还有不够即 \(k \ne 0\) 则肯定不存在这种排序。 接下来就是填空位了 AC 阅读全文
posted @ 2021-04-12 20:01 RioTian 阅读(103) 评论(0) 推荐(1)
摘要: 补题链接:Here A - Div 题意:N 个不一样的糖,请问有多少种分法给 A,B两人 水题,写几组情况就能知道输出 \(N - 1\) 即可 B - Palindrome with leading zeros 题意:给定一个字符串,问是否可以在字符串前加若干个 0 使字符串回文 先判断一下字符 阅读全文
posted @ 2021-04-12 17:25 RioTian 阅读(237) 评论(4) 推荐(1)
摘要: 补题链接:Here 1512A - Spy Detected! 题意:找到唯一不同数的下标 复制数组然后比较 \(a_1\) int main() { ios_base::sync_with_stdio(false), cin.tie(0); int _; for (cin >> _; _--;) 阅读全文
posted @ 2021-04-11 16:25 RioTian 阅读(101) 评论(1) 推荐(0)
摘要: 补题链接:Here LCA 算法讲解:Here 考虑用 \(f[i][j]\) 表示从i往上走,能买珠宝的第 \(2^j\) 个点是哪个,显然,如果我们知道每个 $f[i][0]$的值, 那么 \(f[i][j]=f[f[i][j−1]][j−1]\) ( i 往上的第2 j−1 个点再往上 2j− 阅读全文
posted @ 2021-04-10 21:29 RioTian 阅读(110) 评论(0) 推荐(0)
摘要: 补题链接:Here A. 加密 简单总结一下题意: 给定一个 0-1 串,每一个连续 1 区间为一个权值,给予一次反转机会(也可以不使用)请问反转以后最小权重是多少 思路: 对于只有一次机会的话,要么反转单独的 1 或者 反转两个 1 区间中间隔的 0 如:11011 所以我们使用 vector<p 阅读全文
posted @ 2021-04-10 18:23 RioTian 阅读(124) 评论(0) 推荐(0)
摘要: 问题描述 所谓“马踏棋盘”问题,就是指在中国象棋的棋盘上,用马的走法走遍整个棋盘,在8*8的方格中,每个格都要遍历,且只能遍历一次。 问题解析 从起始点开始,根据“马”的走法,它的下一步的可选择数是有0—8个的。 我们知道,当下一步的可选择数为0的时候,进行回溯。当下一步的可选择数有1个的时候,我们 阅读全文
posted @ 2021-04-10 00:11 RioTian 阅读(1320) 评论(0) 推荐(0)
摘要: 做完本期以后,最近就不会再发布 AtCoder 的往届比赛了(备战蓝桥杯ing) 补题链接:Here ABC题都是水题,这里直接跳过 D - Alter Altar 题意:一个R-W串,可以进行两种操作:1. 交换任意两个字符,2. 改变任意一个字符。问最少操作几次,可以使得串中不包含WR? 思路: 阅读全文
posted @ 2021-04-09 21:17 RioTian 阅读(233) 评论(0) 推荐(0)
摘要: 补题链接:Here A - Rainy Season 如果不是 RSR 型的话直接计算 R 的数量即可 B - Making Triangle 给定 \(N\) 根长度分别为 \(L_i\) 的棍子,问能组成多少个三边长度各不相同的三角形?如果两个三角形至少用了一根不同编号的棍子,则称它们是不同的三 阅读全文
posted @ 2021-04-08 21:44 RioTian 阅读(129) 评论(0) 推荐(0)
摘要: 补题链接:Here A - Takoyaki 很容易看出 \(\frac{N + X - 1}{X} \times T\) B - Multiple of 9 给定一个很大的整数,问其是否是 \(9\) 的倍数 累加各个位数,然后判断取余结果 C - Step 给定一个数组,每次操作可以给一个数增加 阅读全文
posted @ 2021-04-08 20:13 RioTian 阅读(99) 评论(0) 推荐(0)
摘要: 补题链接:Here 这道题基本就是单调队列模板,不过直接看过去双指针(滑动窗口也是可以的) 每次先把已经超过范围的扔掉,然后把范围内不可能成为最优解的扔掉,然后入队。 // Murabito-B 21/04/08 #include <bits/stdc++.h> using ll = long lo 阅读全文
posted @ 2021-04-08 20:07 RioTian 阅读(55) 评论(0) 推荐(0)
上一页 1 ··· 40 41 42 43 44 45 46 47 48 ··· 85 下一页