08 2021 档案

摘要:A - Carryless Square Root 可以发现对于一个数$n$,设它的位数为$x$,它的不进位平方数$n\cdot n$的位数是$x+x-1=2x-1$,所以只有当$n$为奇数时才有答案,因为$n$最多只有$10^{25}$即$25$位,那么答案最多只有$12$位,我们可以暴力$dfs 阅读全文
posted @ 2021-08-31 23:56 stler 阅读(37) 评论(0) 推荐(0)
摘要:2021牛客暑期多校训练营7_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ F - xay loves trees 本题有很多种做法,因为条件一要求第一颗树选出来的点连续,所以这里用了树上滑动窗口的方法,具体地如下: \(\bullet\) 首先求出第二棵树的括号化序 阅读全文
posted @ 2021-08-30 16:50 stler 阅读(63) 评论(0) 推荐(0)
摘要:AtCoder Regular Contest 125 - AtCoder B - Squares 题目要求的为$\sum_{x=1}^n\sum_{y=1}n[f(x2-y)]$,其中$f(x)$判断这个数是否是完全平方数,包括零。 我们考虑逆向枚举,设存在$t$使得$x2-y=t2$,那么题目要 阅读全文
posted @ 2021-08-23 16:26 stler 阅读(70) 评论(0) 推荐(0)
摘要:2021牛客暑期多校训练营10_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ F - Train Wreck 本题题意有些复杂,转换下题意就是给你一棵树,以及不同的颜色数,现在让你对这棵树进行染色,要求每个节点的儿子节点颜色互不相同。 很容易看出来,我们可以贪心地达到 阅读全文
posted @ 2021-08-19 22:23 stler 阅读(102) 评论(0) 推荐(0)
摘要:2021“MINIEYE杯”中国大学生算法设计超级联赛(9) Boring data structure problem 本题名字叫数据结构,但是其实并不需要很复杂的东西去维护,因为题目要求输出队列第$\lceil\frac{m+1}{2}\rceil$个数即中间那个数,所以我们可以借鉴对顶堆的思想 阅读全文
posted @ 2021-08-17 17:35 stler 阅读(171) 评论(0) 推荐(2)
摘要:变量 void _debug(ostream& os) { os << '\n'; } template<typename T, typename... Args> void _debug(ostream& os, const T& t, const Args&... args) { os << t 阅读全文
posted @ 2021-08-17 17:02 stler 阅读(59) 评论(0) 推荐(0)
摘要:2021牛客暑期多校训练营9_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ E - Eyjafjalla 因为题目保证了每条链上的温度是递减的,所以可以考虑线段树合并的做法。 具体的,我们先将所有询问离线,其中对于每个询问$(x,l,r)$我们找到最大的满足以下条件的 阅读全文
posted @ 2021-08-14 22:23 stler 阅读(94) 评论(0) 推荐(0)
摘要:2021“MINIEYE杯”中国大学生算法设计超级联赛(8) Counting Stars 我们把一个数拆出最高位$x$和其他位$y$来单独考虑,例如$5$可以拆分成$4$和$1$,那么操作一就是最高位$x$乘2,操作二就是其他位删除$1$个二进制下$1$的个数,如果$y$已经是$0$了,因为$x$ 阅读全文
posted @ 2021-08-12 19:20 stler 阅读(111) 评论(0) 推荐(1)
摘要:树状数组 template<typename T> class FenwickTree { public: FenwickTree(int _n): n(_n), c(_n + 1) {} FenwickTree(vector<int>& a) { n = a.size(); c.resize(n 阅读全文
posted @ 2021-08-12 19:16 stler 阅读(36) 评论(0) 推荐(0)
摘要:最短路 迪杰斯特拉 vector<pair<int, int>> e[MAXN]; void addedge(int u, int v, int w) { e[u].emplace_back(v, w); e[v].emplace_back(u, w); } bool vis[MAXN]; int 阅读全文
posted @ 2021-08-11 16:25 stler 阅读(81) 评论(0) 推荐(0)
摘要:2021牛客暑期多校训练营1_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ H - Hash Function 给定一个长度为$n$的数组$a$,每个元素互不相同,请你求出最小的$p$,使得每个元素对$p$取模后互不相同。 可以发现,如果要满足题目所给条件,那么对于任 阅读全文
posted @ 2021-08-11 15:44 stler 阅读(60) 评论(0) 推荐(0)
摘要:带模数的模板要注意是否使用了$long ~~ long$类。 ModInt template <unsigned M_> struct ModInt { static constexpr unsigned M = M_; unsigned x; constexpr ModInt() : x(0U) 阅读全文
posted @ 2021-08-11 11:10 stler 阅读(82) 评论(0) 推荐(0)
摘要:2021“MINIEYE杯”中国大学生算法设计超级联赛(7) Link with Limit 根据极限的定义我们可以得出如下结论: \(\bullet\) 题目所给$f_n(x)$必成环(包括自环)。 \(\bullet\) 对于属于当前环的$x$,它们的极限相同。 那么我们只需要让每个$i$向$f 阅读全文
posted @ 2021-08-10 20:18 stler 阅读(172) 评论(0) 推荐(0)
摘要:AtCoder Beginner Contest 213 - AtCoder C - Reorder Cards 本题考查离散化,我们将所有出现过的$x$,$y$分别存下来并排序去重,给它们重新编号并输出即可。 #include <bits/stdc++.h> using namespace std 阅读全文
posted @ 2021-08-09 09:16 stler 阅读(172) 评论(0) 推荐(0)
摘要:2021“MINIEYE杯”中国大学生算法设计超级联赛(3) Forgiving Matching 由于要求的是可以有$k$个不同字符的匹配,我们可以反向思考,先计算当前匹配串$s$的所有子串$s_i$和模式串$t$的最多相同个数$f_i$,即相同位置相同字符或者有一个是通配符$*\(的个数\)(f 阅读全文
posted @ 2021-08-05 19:22 stler 阅读(92) 评论(0) 推荐(1)
摘要:AtCoder Regular Contest 125 - AtCoder C - Min Difference 枚举每个元素$a_i$,通过$lower_bound$找到$b$中第一个大于等于$a_i$的元素的下标$j$,然后取$min(|a_i-b_j|,|a_i-b_{j-1}|)$。 #in 阅读全文
posted @ 2021-08-01 19:31 stler 阅读(74) 评论(0) 推荐(0)
摘要:2021“MINIEYE杯”中国大学生算法设计超级联赛(4) Lawn of the Dead 考虑用两个线段树维护上一行以及当前行可达性。 分别存储每一行的炸弹的所有位置并排序,并且在两侧加上边界$0$,$m+1$方便处理。 对于第一行,特殊判断: \(\bullet\) 如果没有障碍物,那么所有 阅读全文
posted @ 2021-08-01 17:31 stler 阅读(103) 评论(0) 推荐(0)
摘要:2021牛客暑期多校训练营5_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ D - Double Strings 给你两个字符串$a$,\(b\),请你找出满足以下条件的字符串个数: 假设$a$,$b$的子串分别为$s$,$t$且$|s|=|t|=k$,存在任意一个$ 阅读全文
posted @ 2021-08-01 00:13 stler 阅读(107) 评论(0) 推荐(0)