2023年3月29日

摘要: 能解决什么问题? 需求:在给定数组中找目标值,返回目标值所在下标 方案一:返回 magic number,-1 表示给定数组不存在目标值,>= 0 表示目标值的下标 int find_target(int arr[], size_t sz, int tar); 方案二:返回 pair,bool 指示 阅读全文

posted @ 2023-03-29 21:39 lyc2002 阅读(59) 评论(0) 推荐(0) 编辑

2023年3月21日

摘要: 快速排序 算法思想 找一个主元 x 从左边找 >= x 的数,从右边找 <= x 的数然后交换位置 递归地处理左右两部分 时间复杂度 O(n logn) 代码 void quick_sort(int q[], int l, int r) { if (l >= r) return; int i = l 阅读全文

posted @ 2023-03-21 21:09 lyc2002 阅读(13) 评论(0) 推荐(0) 编辑

2023年3月16日

摘要: [acwing]3421.异或数列 /* A ^ B = X1 ^ X2 ^ ... ^ Xn 如果结果为 0,说明 A == B,平局 如果结果不为 0,只需要看结果的二进制形式最高位的 1 是谁拿到的 one[i] 记录所有 X 中位 i 为 1 的个数 zero[i] 记录所有 X 中位 i 阅读全文

posted @ 2023-03-16 21:25 lyc2002 阅读(20) 评论(0) 推荐(0) 编辑

2023年3月14日

摘要: 求组合数 typedef long long LL; // 最大 C(66, 33) LL C(int a, int b) { LL res = 1; for (int i = a, j = 1; j <= b; i--, j++) { res = res * i / j; } return res 阅读全文

posted @ 2023-03-14 23:03 lyc2002 阅读(10) 评论(0) 推荐(0) 编辑

2023年3月12日

摘要: 快速得到一个数字的位数 int len = to_string(num).size(); 有限制的选择问题就是背包问题 无向边才可用并查集来做,有向边不行 阅读全文

posted @ 2023-03-12 18:13 lyc2002 阅读(19) 评论(0) 推荐(0) 编辑

2023年3月11日

摘要: 拉链法 const int N = 100003; // 一般取数的个数的下一个质数 int h[N], e[N], ne[N], idx; memset(h, -1, sizeof(h)); // 添加一个数 void add(int x) { int k = (x % N + N) % N; e 阅读全文

posted @ 2023-03-11 21:14 lyc2002 阅读(16) 评论(0) 推荐(0) 编辑

2023年3月7日

摘要: ![](https://img2023.cnblogs.com/blog/2715571/202303/2715571-20230307205256604-546504558.png) 阅读全文

posted @ 2023-03-07 20:53 lyc2002 阅读(176) 评论(0) 推荐(0) 编辑

2023年3月2日

摘要: [acwing]1222.密码脱落 /* 有多少个前后不配对的字符,就说明脱落了多少个,即总长度减去回文子序列的长度 dp[i][j] 表示 str[i, j] 的最长回文子序列的长度 如果 str[i] == str[j],dp[i][j] = dp[i + 1][j - 1] + 2 否则,dp 阅读全文

posted @ 2023-03-02 17:48 lyc2002 阅读(11) 评论(0) 推荐(0) 编辑

摘要: <type>(<scope>): <subject> // 空一行 <body> // 空一行 <footer> type(必需):说明 commit 类别 feat:新功能 fix:修 bug docs:文档 style:格式 refactor:重构 test:测试 chore:构建过程或辅助工具 阅读全文

posted @ 2023-03-02 14:42 lyc2002 阅读(12) 评论(0) 推荐(0) 编辑

2023年3月1日

摘要: [acwing]1047.糖果 /* dp[i][j] 表示只考虑前 i 件物品,模 k 余 j 的最大价值 如果不取第 i 件物品,dp[i][j] = dp[i - 1][j] 如果取第 i 件物品,dp[i][j] = dp[i - 1][((j - v[i]) % k + k) % k] + 阅读全文

posted @ 2023-03-01 23:22 lyc2002 阅读(8) 评论(0) 推荐(0) 编辑