Loading

上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 16 下一页
摘要: LCS 操作对象:两个长度不一定相等的字符串。 例题 string s, t; int f[maxn][maxn]; int main() { cin >> s >> t; int ls = s.length(), lt = t.length(); for (int i = 1; i <= ls; 阅读全文
posted @ 2021-06-29 10:13 EdisonBa 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 二分 求一个序列的最长上升子序列个数。 本程序采用边读边处理 + 二分法。 ll f[maxn], ans = 1; //注意答案个数初始化为1 int main() { ll n = read(); for (int i = 1; i <= n; ++i) { int x = read(); if 阅读全文
posted @ 2021-06-29 10:11 EdisonBa 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 使用前提:数列为有序数列。 ①数组内 //查找范围:[ begin , end ) ,左闭右开区间。 *lower_bound(begin, end, num); //返回第一个 >= num 的数的数值 lower_bound(begin, end, num) - begin; // 返回下标 实 阅读全文
posted @ 2021-06-29 10:07 EdisonBa 阅读(643) 评论(0) 推荐(0) 编辑
摘要: 快速乘法取余 给定三个整数 \(a,n,mod\) ,求 \(a \times n ~\%~mod\) 的值。 inline int mult_mod(int a, int n, int mod) { int ans = 0; while (n > 0) { if (n & 1) ans = (an 阅读全文
posted @ 2021-06-29 10:04 EdisonBa 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 最大公约数 ① 标准 inline int gcd(int a, int b) { int r; while (b > 0) { r = a % b; a = b; b = r; } return a; } ② 位运算 inline int gcd(int a, int b) //a,b不能为0 { 阅读全文
posted @ 2021-06-29 10:03 EdisonBa 阅读(101) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 16 下一页