算法
文章平均质量分 54
Unnamed_Cube
The world is a 3DL.It's push or be poped.|WSSB
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Solution:CF877E(Danil and a Part-time Job)
题目链接 Link:CF877E 解题思路 一道DFS序的好题。 DFS序想必大家都知道,就是用DFS遍历树或图时访问节点的顺序。我们一般说的DFS序,都是指树的DFS序。以下的DFS序都是从根开始的树上DFS序。 DFS序有一个重要的性质:任何一个子树,它的节点在DFS序中一定排成连续的一段。这时,我们就可以把某些修改子树+查询问题转为区间修改+查询问题。 我们这一题实际上就是线段树。先搞DFS序,记录每一个节点对应的区间,然后线段树即可。 代码实现 #include <iostream> #原创 2022-01-18 16:02:48 · 435 阅读 · 0 评论 -
Solution:P2502([HAOI2006]旅行)
题目链接 Link:P2502 解题思路 如果我们知道了路径中最大的速度,那么显然让最慢的路越快越好。 于是我们可以枚举最快的路,得到最小的路就交给Kruskal来实现。 代码实现 #include <algorithm> #include <iostream> #include <array> using namespace std; struct edge { int from,to,val; bool operator>(const edge&原创 2021-12-19 20:52:31 · 284 阅读 · 0 评论 -
Solution:CF525E(Anya and Cubes)
题目链接 [Link:CF525E](Anya and Cubes) 解题思路 折半搜索。 存下前半部分所有可能的和,在搜后半部分时尝试配对。 但是,由于 !!! 的个数限制,我们要分出 k+1k+1k+1 个存前半部分结果的桶,fi,jf_{i,j}fi,j 为放 iii 个 !!! 凑出 jjj 的方案数。 另外,阶乘数组只要处理到 19!19!19! 即可。因为如果再大那么显然由于太大不可能成为 SSS 的一部分。 Code #include <unordered_map> #inclu原创 2021-12-09 16:44:39 · 472 阅读 · 0 评论 -
Solution:CF163D(Large Refrigerator)
题目链接 Link:CF163D 解题思路 爆搜。 首先假设 a≤b≤ca\leq b\leq ca≤b≤c,则 a≤V3,b≤Vaa\leq\sqrt[3] V,b\leq\sqrt\frac V aa≤3V,b≤aV。 以上是可行性剪枝。 然后,以下是最优性剪枝: abc=Vabc=Vabc=V bc=Vabc=\frac V abc=aV 得 S2=a(b+c)+Va\frac S 2=a(b+c)+\frac V a2S=a(b+c)+aV。 根据基础不等式有: S2≤2aVa+Va\f原创 2021-12-08 17:13:41 · 299 阅读 · 0 评论
分享