- 博客(12)
- 收藏
- 关注
原创 Making the Grade(双向dp,排序离散)
题目大意:给你一个序列,增加或减少其中一个元素的值花费为1,问把序列改成非递增或非递减的最小花费。用一个二维dp,dp[i][j]表示第i个数作为第j小(大)的数的结果。,你只需要求出单调递增的花费即可,所以网上只有一边的bp基本上都是错误的。由于ai的数据范围较大,不能直接用来计算,可以适当离散化。用一个B数组copy A数组,由于数据范围较小,很显然这题可以暴力,正反跑一遍求最小值。本人解释可能也有问题,在平日学习中保持质疑,欢迎纠错。然后对B数组排序,排序后的下标作为离散化的结果。
2023-04-13 10:04:35 133 2
原创 POJ 1308 - Is It A Tree? ( 并查集扩展)
另外,树不一定是就是二叉树,所以一个一个节点可能连接多条路,但是必须要满足一个节点到达某个节点只有一条路。2:这组节点的两个数不同,但是已经在之前形成了一次通路,也就是不止一条路到达某个节点,同样这种情况也不满足条件。首先我们要清楚,纯空的节点也是树,并且树不能形成自环,也就是说,从一个点到达另一个点,有且只有一条路。在全部输入完之后,要判断对于每个节点,判断是否为根,如果满足树的条件,根只能有一个。1: 这组节点的两个数相同,也就是说,形成了一个自环。利用并查集,连接各个节点,同时判断是否满足树的条件。
2023-04-11 20:37:02 95
原创 二分的妙用 (A - Bookshelf Filling)
一开始我们通过画图,大概思路是先放短的书那一部分,看看在上边能够放置多少,然后将剩下的书,排一排,一本一本取,看看能再减少多少宽度。我们一开始把这个当成的一个思维题,通过解方程,处理了各种精度问题,最终花费大量时间,解决了问题;在进行第一次和学长进行组队赛的时候,碰见一个二分的题(但当时我们并没有看出来,学长他们都是二分过了,我们还在卡..)给你书架的高度,给你两种书(一高一低),并且分别给你他们的本数,要求用最小的宽度,将他们全放进去。思路是一样的,只不过是用二分,让电脑进行判断长度是否合理,十分简便。
2023-03-25 21:54:52 220
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人