算法竞赛训练
文章平均质量分 75
ZiFeii
这个作者很懒,什么都没留下…
展开
-
Making the Grade(双向dp,排序离散)
题目大意:给你一个序列,增加或减少其中一个元素的值花费为1,问把序列改成非递增或非递减的最小花费。用一个二维dp,dp[i][j]表示第i个数作为第j小(大)的数的结果。,你只需要求出单调递增的花费即可,所以网上只有一边的bp基本上都是错误的。由于ai的数据范围较大,不能直接用来计算,可以适当离散化。用一个B数组copy A数组,由于数据范围较小,很显然这题可以暴力,正反跑一遍求最小值。本人解释可能也有问题,在平日学习中保持质疑,欢迎纠错。然后对B数组排序,排序后的下标作为离散化的结果。原创 2023-04-13 10:04:35 · 101 阅读 · 2 评论 -
POJ 1308 - Is It A Tree? ( 并查集扩展)
另外,树不一定是就是二叉树,所以一个一个节点可能连接多条路,但是必须要满足一个节点到达某个节点只有一条路。2:这组节点的两个数不同,但是已经在之前形成了一次通路,也就是不止一条路到达某个节点,同样这种情况也不满足条件。首先我们要清楚,纯空的节点也是树,并且树不能形成自环,也就是说,从一个点到达另一个点,有且只有一条路。在全部输入完之后,要判断对于每个节点,判断是否为根,如果满足树的条件,根只能有一个。1: 这组节点的两个数相同,也就是说,形成了一个自环。利用并查集,连接各个节点,同时判断是否满足树的条件。原创 2023-04-11 20:37:02 · 73 阅读 · 0 评论 -
二分的妙用 (A - Bookshelf Filling)
一开始我们通过画图,大概思路是先放短的书那一部分,看看在上边能够放置多少,然后将剩下的书,排一排,一本一本取,看看能再减少多少宽度。我们一开始把这个当成的一个思维题,通过解方程,处理了各种精度问题,最终花费大量时间,解决了问题;在进行第一次和学长进行组队赛的时候,碰见一个二分的题(但当时我们并没有看出来,学长他们都是二分过了,我们还在卡..)给你书架的高度,给你两种书(一高一低),并且分别给你他们的本数,要求用最小的宽度,将他们全放进去。思路是一样的,只不过是用二分,让电脑进行判断长度是否合理,十分简便。原创 2023-03-25 21:54:52 · 191 阅读 · 0 评论 -
树状数组应用
近期练习赛的时候,多次碰见的树状数组的题,借以下两道加深一下理解。 吉林省赛,以及cf练题。原创 2023-03-25 21:26:33 · 66 阅读 · 0 评论 -
树状数组基础
基础学习树状数组.原创 2022-12-25 20:55:29 · 114 阅读 · 1 评论 -
矩阵快速幂(Acwing -1303)
矩阵快速幂~原创 2022-12-23 21:40:54 · 163 阅读 · 0 评论 -
对乘法逆元的初步了解(洛谷 P1082)
简单数论和逆元。原创 2022-12-18 21:02:56 · 307 阅读 · 1 评论 -
寒假集训 spfa + Bellman-ford
带负权的最短路解法。原创 2022-12-14 18:04:40 · 135 阅读 · 1 评论 -
寒假集训 最短路(I - Heavy Transportation)dijkstra+堆优化
最短路的简单复习~原创 2022-12-14 01:12:00 · 236 阅读 · 0 评论 -
初学最小生成树 (B - 新的开始)
kruskal 和 prim 的简单应用~原创 2022-12-09 23:43:23 · 222 阅读 · 4 评论 -
排列组合的简单应用(隔板法)
排列组合的实际应用~原创 2022-12-06 15:03:57 · 893 阅读 · 3 评论 -
刘汝佳算法竞赛入门 UVA-11809 Floating-Point Numbers 暴力写法。
Uva11809.原创 2022-11-21 09:41:33 · 313 阅读 · 2 评论