Loading

上一页 1 ··· 8 9 10 11 12 13 14 下一页
摘要: 题意 给你 \(2n\) 个数 \(a_1,a_2,\dots,a_n;b_1,b_2,\dots,b_n\),问 \(a,b\) 两两的 \(\gcd\)。 \(n\le 5000\),值域 \(\le 10^6\),时间限制 \(1\mathrm{s}\)。 题解 用 \(V\) 代表值域。 显 阅读全文
posted @ 2021-06-29 16:35 Alan_Zhao_2007 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 题意 \(T\) 次询问,每次给一个正整数 \(x\),问最大的整数 \(a\) 满足 \(a^3b=x\),其中 \(b\) 是正整数。 题解 我想了一个 \(O(Tx^{0.25})\) 的根号分治做法,成功被卡常。 这是正解: 有一个奇妙的性质:把 \(x\) 中所有 \(\le x^{0.2 阅读全文
posted @ 2021-06-29 16:20 Alan_Zhao_2007 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 题解 根据切比雪夫定理,对于整数 \(x>1\),至少有一个质数 \(p\) 满足 \(x<p<2x\)。 所以第一天会从数字为 \(k+1\) 的人传到某个满足 \(\lfloor \frac{n}{2} \rfloor<p<n\) 的质数 \(p\),第二天会从这个质数传到所有数。 考虑什么情况 阅读全文
posted @ 2021-06-28 20:25 Alan_Zhao_2007 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 题解 对于每个点,以深度为下标记录答案。 如果线段树合并想在线,Merge 函数需要这样写: int Merge(int p,int q){ if(!p||!q) return p^q; int res=Newnode(t[p].l,t[p].r,t[p].v+t[q].v); ls(res)=Me 阅读全文
posted @ 2021-06-28 10:42 Alan_Zhao_2007 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 这场比赛我只打了一个小时,赛时通过 \(\text{A,B,C}\),排名 \(880\)(算上 Unofficial)。 A 略。 B 略。 C 显然让每个点的数都取它的边界是最优的,然后 dp 即可。 D 考虑点 \(1\) 的配对,设其与 \(x\) 构成一条线段。 设 \(f_i\) 为 \ 阅读全文
posted @ 2021-06-26 21:12 Alan_Zhao_2007 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 链接:http://144.202.116.213/contest/4。 A 略。 B 本来想尝试一下数位 dp 的非递归方法,结果写挂了,最后只好写的递归…… 解法显然,略。 C 首先可以发现,我们只要确定了 \(A\) 中的前两个元素,后面的元素也都确定了:设 \(A_1=x,A_2=y\),那 阅读全文
posted @ 2021-06-19 12:04 Alan_Zhao_2007 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 题意 给你一片森林,每次询问某个点与多少个点有相同的 \(k\) 级祖先。 点数、询问数 \(\le 10^5\)。 题解 将所有树的根节点连向点 \(0\),使得整个森林变成一棵树。 先离线地求出每个询问点的 \(k\) 级祖先。用栈维护每个点到点 \(0\) 的路径上的所有点,那么其 \(k\) 阅读全文
posted @ 2021-06-19 11:27 Alan_Zhao_2007 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 题解 考虑对于每个点都开一棵动态开点线段树,以点权为下标、个数为值,记录以这个点为根的子树内的信息。 可以发现交换某个点 \(u\) 的代价可以快速计算:在把左、右儿子的线段树合并上来的时候,对于这两棵线段树上的对应点 \(p,q\),不交换的代价会增加 \(v_{\mathrm{rson}(p)} 阅读全文
posted @ 2021-06-18 22:45 Alan_Zhao_2007 阅读(41) 评论(0) 推荐(0) 编辑
摘要: A 如何线性做此题(详细揭秘) 哈哈,考场上写了个 \(2\log\) 做法,差点没过。 B 考虑离线分治。设当前分治到了 \(x\) 区间 \([l,r]\),令 \(mid=\dfrac{l+r}{2}\),设询问形如 \((sx_i,sy_i,tx_i,ty_i)\),那么对于 \((sx_i 阅读全文
posted @ 2021-06-08 13:56 Alan_Zhao_2007 阅读(42) 评论(0) 推荐(0) 编辑
摘要: A 根号分治。 对于 \(k\le \sqrt{n}\) 的情况,预处理 \(f_{i,j}\) 表示长为 \(i\) 的棋盘,黑点之间相差 \(\ge k\) 的方案数,那么 \(f_{i,j}=f_{i-1,j}+f_{i-j,j}\)。 对于 \(k>\sqrt{n}\) 的情况,考虑组合数: 阅读全文
posted @ 2021-06-06 16:36 Alan_Zhao_2007 阅读(66) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 下一页