摘要:
洛谷P6225 异或橙子 位运算 思维 树状数组 这是题面 思路 先看一下这个式子要干什么 例如 \(l=2,u=4\) 的情况,记橙子序列 \(A\) 中第 \(i\) 个橙子的整数是 \(a_i\),那么他要求的就是: \[a_2 \oplus a_3 \oplus a_4 \oplus (a_ 阅读全文
摘要:
ZT6 小红的字符串构造 这是题面 构造 思维 思路 不用想得很复杂 可以看成一个匹配问题,每一个字符要和一个与自己不同得字符匹配,而且每一个字符都要匹配,每一个字符都要被匹配到 我们可以先用一个集合统计有多少种字符 \(set(s_1, s_2, s_3, \dots s_n)\),让所有字符都被 阅读全文
摘要:
洛谷P1816 忠诚 思路 查询区间最小值,\(ST\)表/线段树板子题 代码 #include <bits/stdc++.h> #define endl '\n' #define int long long const int maxn = 2e5 + 5; const int inf = 0x7 阅读全文
摘要:
P2068 统计和 思路 单点修改 + 区间查询 线段树/树状数组板子题 代码 #include <bits/stdc++.h> #define endl '\n' #define int long long #define lowbit(x) x & -x const int maxn = 5e5 阅读全文
摘要:
P5057 [CQOI2006] 简单题 这是题面 思路 每次操作,直接区间加\(1\),最后求结果的时候对\(2\)取余就好了 这个题就是区间修改 + 单点查询 可以用树状数组或者线段数维护 代码 #include <bits/stdc++.h> #define endl '\n' #define 阅读全文
摘要:
第32次CSP认证(持续更新) 仓库规划 思路 数据范围较小,直接暴力判断 对每一个仓库,遍历其他每一个仓库,看看哪个是它的上级,如果都没有就输出\(0\) 时间复杂度: \(O(n^2m)\) 代码 神奇的代码 #include<bits/stdc++.h> #define int long lo 阅读全文
摘要:
蓝桥杯2024C/C++省A(持续更新) 训练士兵 贪心 思路 将所有士兵按照训练次数从小到大排序(如果能团购的话团购的次数肯定是当前所有士兵次数的最小值) 当前训练此时所有士兵所有花费为\(sum\), 团购为\(s\),比较\(s\)与\(sum\) \(s > sum\),不团购了,自己花钱训 阅读全文
摘要:
P1784数独 思路 这个题目最麻烦的是如何判断 我们需要判断每一行,每一列,每一个九宫格 这里有个小技巧,把每一行,每一列,每一个九宫格哪个数有没有被用过用数组存起来 哪个数字属于哪个九宫格也可以先先存起来 int id[10][10] = {{0,0,0,0,0,0,0,0,0,0}, {0,1 阅读全文
摘要:
(模板)线段树 单点修改 + 区间查询(无\(tag\)) 神奇的代码 #define int long long using i64 = long long; const int maxn = 5e5 + 5; int nums[maxn]; int tree[4 * maxn]; void up 阅读全文
摘要:
NC20164.JSOI_2007_最大数 思路 这个题目需要维护两个信息 数组长度 和 区间最大值 因为是在线查询,所以不好用\(ST\)表,所以考虑线段树 因为\(M\)最多\(200000\),所以最多\(200000\)个数,开一个\(800000\)的数组足够了 用一个变量去维护数组长度就 阅读全文