05 2024 档案
摘要:论 #define int long long 的重要性
阅读全文
摘要:目录 语言入门第一 暴力第二 搜索第三 图论第四 dp 第五 数据结构第六 数论第七 线性代数第八 计算几何第九 卡常技巧第十 字符串第十一 STL 第十二 修电脑第十三
阅读全文
摘要:今天我们进行了一场由 xl 举办的字符串专场比赛。 结果: 题号 原 A P4824 B CF241B、P5283 C P4555 其中 P4824 我还 A 过。 我嘞个原啊。
阅读全文
摘要:字典树模板题。 Code 先贴上字典树板子的代码。 #include<bits/stdc++.h> using namespace std; int t,n,q,tree[3000010][71],cnt[3000010],c; char s[3000010]; int num(char x){ i
阅读全文
摘要:Idea 首先要跑出每一个数的位数。 接下来,我们枚举两个数中后面的数。但是我们不需要枚举前面的数。 考虑对于 aka_kak,aka_kak 位数为 cnticnt_icnti 时 iii 的贡献: a1×cntk+ak+a2×cntk+ak+⋯+ak−1×cntk+ak+ak+1×cntk
阅读全文
摘要:Idea 因为 ai<108a_i<10^8ai<108,所以 0<ai+aj<2×1080<a_i+a_j<2\times 10^80<ai+aj<2×108。 考虑对于 ai+aj<108a_i+a_j<10^8ai+aj<108 和 ai+aj≥108a_i+a_j\ge 10^8a
阅读全文
摘要:考虑暴力。 思路 预处理出每一个数的后继(即下一个出现的位置) nxt\texttt{nxt}nxt 数组。 对于每一个询问区间枚举,如果发现枚举的数的后继在区间内,那么就跳过这个区间。 可以这么理解:因为当你在后面枚举到它的后继的时候,你就要把它和它的后继之间的所有数全部拿走。拿走的部分不应统计出
阅读全文
摘要:思路 考虑第一问(连通性),显然要使用并查集(下文的代码中使用了 bfs)。 但是我们显然不能将所有边都建出来。 因为只考虑连通性,所以只需保证一个集合内所选的边能保证所有点之间互相连通即可。 再考虑第二问(最小生成树)。 注意:下文中的 nnn 与原题中的 NNN 不是同一个意义,集合即顶点子集。
阅读全文