06 2023 档案

摘要:A.采药问题 01 背包板子题 点击查看代码 #include <bits/stdc++.h> using namespace std; const int N = 1001; int w[N], c[N]; int mem[N][N]; int n, t; int dfs(int x, i 阅读全文
posted @ 2023-06-30 19:19 Steven24 阅读(67) 评论(0) 推荐(0) 编辑
摘要:A.查找编号 一眼二分 但是也可以拿倍增做 我们维护这个点往后 2i 格位置的元素大小 然后从大到小枚举 2 的次数 如果往后 2i 格的元素小于要查的 就跳 否则不跳 代码我写的二分就不放了 B.开车旅行 说句题外话 如果你是从 LCA 那章一路刷下来的 你会经历紫题三 阅读全文
posted @ 2023-06-30 17:45 Steven24 阅读(45) 评论(0) 推荐(0) 编辑
摘要:A.树上距离 板子 详见P3379 最近公共祖先模板 点击查看代码 #include <bits/stdc++.h> using namespace std; const int N = 1e5 + 0721; int head[N], nxt[N], to[N], len[N], cnt; int 阅读全文
posted @ 2023-06-30 14:11 Steven24 阅读(52) 评论(0) 推荐(0) 编辑
摘要:A.求区间和 板子 详见线段树学习笔记 点击查看代码 #include <bits/stdc++.h> #define int long long #define ls (k << 1) #define rs (k << 1 | 1) #define mid ((l + r) >> 1) using 阅读全文
posted @ 2023-06-30 10:56 Steven24 阅读(40) 评论(0) 推荐(0) 编辑
摘要:A.数列区间 板子 详见P3865 ST表 点击查看代码 #include <bits/stdc++.h> using namespace std; int n, m; const int N = 1e5 + 0721; int a[N], rmq[N][21], Log[N]; int main( 阅读全文
posted @ 2023-06-30 09:03 Steven24 阅读(172) 评论(0) 推荐(0) 编辑
摘要:A.单点修改区间查询 板子 点击查看代码 #include <bits/stdc++.h> #define int long long using namespace std; const int N = 1e6 + 0721; int c[N]; int n, m; int lowbit(int 阅读全文
posted @ 2023-06-29 17:37 Steven24 阅读(84) 评论(0) 推荐(0) 编辑
摘要:A.合并果子 很容易想到 先合并的果子 对答案的贡献明显更多 所以我们每次合并都取最小的两堆进行合并 因为每次变动的元素数量很少 选择堆排 点击查看代码 #include <bits/stdc++.h> #define ll long long using namespace std; ll ans 阅读全文
posted @ 2023-06-29 15:36 Steven24 阅读(87) 评论(0) 推荐(0) 编辑
摘要:A.有向图缩点 板子 讲解有时间补 咕 点击查看代码 #include <bits/stdc++.h> using namespace std; const int N = 200721; int head[N], nxt[N], to[N], v[N], cnt; int sccnum[N], s 阅读全文
posted @ 2023-06-29 14:37 Steven24 阅读(58) 评论(0) 推荐(0) 编辑
摘要:A.单源最短路径 板子 没啥好说的 点击查看代码 #include <bits/stdc++.h> using namespace std; const int N = 2e5 + 0721; int head[N], to[N], nxt[N], len[N], cnt; bool vis[N]; 阅读全文
posted @ 2023-06-29 11:48 Steven24 阅读(73) 评论(0) 推荐(0) 编辑
摘要:前注:本文涉及的所有求最小生成树的算法均为 kruskal A.繁忙都市 要求联通并且边最少 n 个节点联通最少要 n1 条边 那不就是棵树嘛 然后跑最小生成树就行了 点击查看代码 #include <bits/stdc++.h> using namespace std 阅读全文
posted @ 2023-06-29 10:06 Steven24 阅读(62) 评论(0) 推荐(0) 编辑
摘要:A.并查集 他都说模板了!!! 那就是板子 点击查看代码 #include <bits/stdc++.h> using namespace std; const int N = 1e4 + 0721; int fa[N]; int n, m; int find(int x) { if (x == f 阅读全文
posted @ 2023-06-29 09:04 Steven24 阅读(82) 评论(0) 推荐(0) 编辑
摘要:A.单词查询 AC自动机板子 大致讲一下AC自动机是什么东西 首先我们把匹配的若干个串插到 trie 树里 然后把要匹配的串放到树里跑 显然 我们是不能暴力跑的 所以要构建失配指针 假如说我这个节点是父节点连了条字母为 s 的边 那么这个节点的失配指针就要指到它父亲的失配指针指向的节 阅读全文
posted @ 2023-06-28 19:21 Steven24 阅读(55) 评论(0) 推荐(0) 编辑
摘要:A.前缀统计 字典树 顾名思义就是做一个类似于字典的树 根节点往下连边 每条边代表一个字母 对于插入操作 我们从根节点出发往下走 如果有对应的字母边 就继续走到对应的儿子节点 如果没有 就新建一个节点 查询同理 按字母边往下走即可 点击查看代码 #include <bits/stdc++.h> us 阅读全文
posted @ 2023-06-28 17:38 Steven24 阅读(58) 评论(0) 推荐(0) 编辑
摘要:A.子串查找 板子 详见KMP学习笔记 点击查看代码 #include <bits/stdc++.h> using namespace std; const int N = 1e6 + 0721; char s1[N], s2[N]; int kmp[N]; int ans; int main() 阅读全文
posted @ 2023-06-28 16:44 Steven24 阅读(68) 评论(0) 推荐(0) 编辑
摘要:A.字符串匹配 板子题 详细解释见哈希学习笔记 点击查看代码 #include <bits/stdc++.h> using namespace std; const int N = 1e9 + 7; const int b = 37; long long h[100721], prs = 0; vo 阅读全文
posted @ 2023-06-28 16:09 Steven24 阅读(63) 评论(0) 推荐(0) 编辑
摘要:A.数字反转 记得特判第一位是负号的情况 然后倒着输出就行了 点击查看代码 #include <bits/stdc++.h> using namespace std; const int N = 0721; char s[N]; int main() { char c; scanf("%c",&c) 阅读全文
posted @ 2023-06-28 15:55 Steven24 阅读(81) 评论(0) 推荐(0) 编辑
摘要:A.走迷宫图 经典广搜题 但是记尊重 vis 数组 点击查看代码 #include <bits/stdc++.h> using namespace std; const int N = 0x0d00; int a[N][N]; bool vis[N][N]; int stx, sty, en 阅读全文
posted @ 2023-06-28 11:40 Steven24 阅读(51) 评论(0) 推荐(0) 编辑
摘要:A.拔河比赛 很经典的深搜 我们搜索把这个人放到/不放到这个队里的情况 然后当搜完更新答案即可 点击查看代码 #include <bits/stdc++.h> using namespace std; const int N = 0x0d00; int w[N]; int t, n, half, m 阅读全文
posted @ 2023-06-28 11:26 Steven24 阅读(49) 评论(0) 推荐(0) 编辑
摘要:A.数列分段 最大值最小 想到二分答案 并且答案具有单调性 经典二分 我们对于二分的答案 把数列从左往右扫 当前和加上下一个数就大于答案 那么就分段 统计段数小于等于 M 就行(因为要求是和的最大值所以不够的可以把分好的区间再分几段) 点击查看代码 #include <bits/stdc++ 阅读全文
posted @ 2023-06-28 10:18 Steven24 阅读(31) 评论(0) 推荐(0) 编辑
摘要:A.奶牛晒衣服 很容易想到一个贪心思路:每次把烘干机会给当前湿度最大的衣服 我们假设有一次没烘干当前湿度最大的衣服 因为总时间取决于湿度最大的衣服 所以最后湿度最大的衣服湿度一定会更大点 那么要么总时间不变 要么会变长 一定不会更优 注意这题 n5105 需要采用 \(O( 阅读全文
posted @ 2023-06-28 08:41 Steven24 阅读(44) 评论(0) 推荐(0) 编辑
摘要:暂时是例题 后面加不加练习题未知 可能有个别章会有个别题不全 阅读全文
posted @ 2023-06-28 08:35 Steven24 阅读(824) 评论(1) 推荐(1) 编辑
摘要:A.错排问题 考虑将第 i 个数插进来 假设我们放到了 k 位置 那么我们现在要把 k 拿出来找个新地方放 一种情况是把 k 放到 i 的位置 那么剩下 i2 个数就是一个错排 另一种是把 k 放到那 i2 个点里 那么就相 阅读全文
posted @ 2023-06-27 20:50 Steven24 阅读(74) 评论(0) 推荐(0) 编辑
摘要:![image](https://img2023.cnblogs.com/blog/3067044/202306/3067044-20230625205212024-1840668548.jpg) exgcd 时间复杂度:O(logmax{a,b}) 费马小定理时间复杂度:$O(\l 阅读全文
posted @ 2023-06-25 20:54 Steven24 阅读(34) 评论(0) 推荐(0) 编辑
摘要:![image](https://img2023.cnblogs.com/blog/3067044/202306/3067044-20230625203258317-794819563.jpg) 求欧拉函数时间复杂度:O(n)(因为要质因数分解) 阅读全文
posted @ 2023-06-25 20:33 Steven24 阅读(24) 评论(0) 推荐(1) 编辑
摘要:对于 ni 只有最多 2n 种取值 然后将它们进行分块处理 证明: ![image](https://img2023.cnblogs.com/blog/3067044/202306/3067044-2023 阅读全文
posted @ 2023-06-24 20:51 Steven24 阅读(18) 评论(0) 推荐(0) 编辑
摘要:~~我竟然还记得填坑 感动~~ T1 典中典的背包板子 没啥好说的 code: ```cpp #include #define ll long long //其实不用开 但是以防万一 using namespace std; const int N = 0x0d00; ll f[N], g[N]; 阅读全文
posted @ 2023-06-17 17:48 Steven24 阅读(11) 评论(0) 推荐(0) 编辑
摘要:施工中 未完待续 [P4568 [JLOI2011] 飞行路线](https://www.luogu.com.cn/problem/P4568 "P4568 [JLOI2011] 飞行路线") 经典分层图最短路板子 code: ```cpp #include using namespace std 阅读全文
posted @ 2023-06-13 20:42 Steven24 阅读(17) 评论(0) 推荐(0) 编辑
摘要:[P1038 [NOIP2003 提高组] 神经网络](https://www.luogu.com.cn/problem/P1038 "P1038 [NOIP2003 提高组] 神经网络") 发现对于 i 我们必须知道 i 之前所有 j 的值 想到拓扑 然后发现根据题意 必然是一个 DAG 图 直接 阅读全文
posted @ 2023-06-13 20:06 Steven24 阅读(15) 评论(0) 推荐(0) 编辑
摘要:20230527:20230527 板子 板子和板子 20230603:20230603 一些小小的思维题 20230608:20230608 怎么全是二分图 阅读全文
posted @ 2023-06-13 19:51 Steven24 阅读(60) 评论(0) 推荐(0) 编辑
摘要:[ CF97B Superset](https://www.luogu.com.cn/problem/CF97B " CF97B Superset") 根据 104 的输入和 2105 的输出范围限制 考虑到可能是 nlogn 的做法 然后就有个很玄学的思路:平面分治 考虑分治的特点 阅读全文
posted @ 2023-06-13 19:50 Steven24 阅读(16) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示