- 博客(87)
- 收藏
- 关注
原创 CF1076d-D. Edge Deletion
题目的意思就是问最多有多少个点在删除其他点的情况下,从起点到这个点的最短距离不变。用Dijkstra的堆优化就可解决,依次取到起点最近的点,直到取了k个点或者队列为空就停止。给定三个整数n,m,k,分别表示图中的点数、边数、最大保留边数。问在最多保留k条边的情况下,怎样删除边能确保剩下没有删除的点到起点的距离是最短边。
2024-08-20 14:04:27 230
原创 CF626D D. Jerry‘s Protest
d[i + 1]数组表示前两轮差和为i + j的概率,可以表示为(cnt[i] / tot) * (cnt[j] / tot)(注意两次超出5000的差没有意义,最后一次的差一定<5000),可以通过。安德鲁和杰瑞分别从n个球中抽一个球(抽完之后放回),总共进行三轮,球上数字高的获胜,前两轮安德鲁胜最后一轮杰瑞胜。求在这种情况下杰瑞抽到的三个球的总和严格高于安德鲁抽到的三个球的总和的概率是多少?对给定的a数组进行排序,可以用cnt[i]表示抽到的两个球数字之间差i的次数,每次都是从n个数中抽取两个数。
2024-07-30 10:42:32 196
原创 CF1660e-E. Matrix and Shifts
给定一个n*n的01矩阵,可以经过四中op,所以的行向上&向下移动一行或者所以列向左&右一列(可以执行任意次),每执行完一次op可以将矩阵中的任意元素。最后答案为:n - res + cnt - res;cnt是总共1的个数-对角线中1的个数res,n - res对角线中有几个0。通过观察可以得到一个简单的规律:所有的四中op可以将斜对角线有序化,最后就是找到n个对角线中包含1的个数最多的对角线。a[i][j] ^= 1(0^1 = 1, 1^1 = 0)每次消耗1代价,求最少的代价转化为单位矩阵。
2024-07-26 14:26:11 211
原创 CF33b-B. String Problem
给定两个字符串,给出n个op。对于每个op可以将一种字母转变为另一个字母,代价为d。需要求出通过上面的变化,让两个字符串相等的最小代价的字符串。c0,那么总成本为dp[c1][c0] + dp[c2][c0];也就是c1变成c0的最小成本加上。接下来我们考虑某一个位置,假设初始字符分别是c1,c2,最后变成了。先用Floyd计算出一个字母变换为另一个字母的最小代价,c2变成c0的最小成本。
2024-06-18 11:33:18 402
原创 CF1615c C. Menorah
op为偶数的前提条件是sa&sb同一位置相同的0和1的个数是否满足s1= s0 + 1;两个不同的位置分别操作一次,除这两个位置外的都不会变化并且这两个位置的数会发生交换。op为奇数的前提条件是sa&sb同一位置不同的0和1的个数是否相同,这样就有了两种交换方式一种的op为奇数,另一种op为偶数。同一个位置操作一次,当前位置不变,其他位置都会改变。时间复杂度O(n),空间复杂度O(2n)同一个位置操作两次,都不会发生任何变化。相同的话则根据之前得出的结论两两交换。
2024-06-14 11:19:15 262
原创 CF1148C C. Crazy Diamond
题意:给定一个数组p长度为n按照规则对下标满足2 * abs(i - j) >= n进行交换,最后使数组不递减。输出用的交换次数和每次交换的下标。(交换次数不能超过5*n次)i > n / 2也就是说i - 1 >= n / 2,都和1交换需要3次交换。i <= n / 2并且j <= n / 2也就是说j + n / 2 <= n。否则i和n交换后j和1交换之后1和n交换之后 再次i和n、j和i交换需要交换5次。abs(i - j) >= n / 2直接交换。则都可以和n交换,需要交换3次。
2024-05-29 16:19:15 210 1
原创 CF609D D. Gadgets for dollars and pounds
因此,我们可以使用二分查找来找到最小的天数。第i天的美元汇率和英镑汇率分别存储在a、b数组中,之后输入m个w物品第一个参数是1则表示只能用美元买存放到c数组中,否则只能用英镑买存到d数组中。用e数组来表示m个商品在前mid天化最少的美元mx1,与花最少的英镑mx2的代价,之后排序获得前k个代价小的商品的总和并判断是否多于总价钱s;每天可以买任意个商品但是一个商品只能买一次,显然可以找到前mid天的最小美元和最小英镑之后依次分类×对应的商品价格。在最少的时间内并且价格在s内从m个物品中购买k个物品。
2024-05-29 16:13:25 478
原创 LeetCode bst和数组的转换
时间复杂度O(n),空间复杂度O(logn);$时间复杂度O(n),空间复杂度O(logn);$时间复杂度O(n),空间复杂度O(n);$时间复杂度O(n),空间复杂度O(1);$时间复杂度O(n),空间复杂度O(n);$时间复杂度O(n),空间复杂度O(n);
2023-04-28 11:34:39 60 1
原创 LeetCode BST的相关操作
时间复杂度O(n),空间复杂度O(n)$时间复杂度O(n),空间复杂度O(1)$时间复杂度O(n),空间复杂度O(n)$时间复杂度O(n),空间复杂度O(n)$时间复杂度O(n),空间复杂度O(1)$时间复杂度O(n),空间复杂度O(n)方法:递归(遍历一整棵树)方法:递归(完成就结束)
2023-04-26 16:56:05 625
原创 LeetCode LCA、BST
时间复杂度O(n),空间复杂度O(n)$时间复杂度O(n),空间复杂度O(n)$时间复杂度O(n),空间复杂度O(n)$时间复杂度O(n),空间复杂度O(n)$时间复杂度O(n),空间复杂度O(n)
2023-04-25 20:12:53 69
原创 Leetcode BST相关的题目
时间复杂度O(min(n, m)),时间复杂度O(min(n, m));$时间复杂度O(min(n, m)),时间复杂度O(min(n, m));$时间复杂度O(n),时间复杂度O(1);$时间复杂度O(n),时间复杂度O(n);$时间复杂度O(n),时间复杂度O(n);$时间复杂度O(n),时间复杂度O(n);),时间复杂度O(n);
2023-04-25 10:44:44 65
原创 LeetCode二叉树的题目
时间复杂度O(n),空间复杂度O(h)h为树的高度。$时间复杂度O(n),空间复杂度O(h)h为树的高度。$时间复杂度O(n),空间复杂度O(h)h为树的高度。),空间复杂度O(h)h为树的高度。),空间复杂度O(h)h为树的高度。),空间复杂度O(n)
2023-04-22 11:21:24 60
原创 LeetCode二叉树的相关题目
时间复杂度O(n),空间复杂度O(n)$时间复杂度O(n),空间复杂度O(n)$时间复杂度O(n),空间复杂度O(n)
2023-04-21 16:04:32 66
原创 二叉树的深度&高度
时间复杂度O(n),空间复杂度O(h),h为树的高度。$时间复杂度O(n),空间复杂度O(h),h为树的高度。$时间复杂度O(n),空间复杂度O(h),h为树的高度。$时间复杂度O(n),空间复杂度O(h),h为树的高度。$时间复杂度O(n),空间复杂度O(h),h为树的高度。$时间复杂度O(n),空间复杂度O(n)$时间复杂度O(n),空间复杂度O(n)$时间复杂度O(n),空间复杂度O(n)方法:递归(后序遍历)方法:递归(前序遍历)方法:递归(前序遍历)方法:递归(后序遍历)
2023-04-20 10:43:26 312
原创 二叉树层次遍历
时间复杂度O(n),空间复杂度O(n)),空间复杂度O(logh)h为数的高度。$时间复杂度O(n),空间复杂度O(n)$时间复杂度O(n),空间复杂度O(n)
2023-04-19 14:45:48 67
原创 二叉树的前中后序遍历
时间复杂度O(n),空间复杂度O(n)$时间复杂度O(n),空间复杂度O(n)$时间复杂度O(n),空间复杂度O(n)$时间复杂度O(n),空间复杂度O(n)$时间复杂度O(n),空间复杂度O(n)$时间复杂度O(n),空间复杂度O(n)
2023-04-18 09:58:54 52
原创 LeetCode 栈相关的题目
时间复杂度O(nlogn),空间复杂度O(n)$时间复杂度O(n),空间复杂度O(n)$时间复杂度O(n),空间复杂度O(n)
2023-04-15 15:24:36 64
原创 LeetCode链表的增删改查
时间复杂度O(n),空间复杂度O(1)$时间复杂度O(n),空间复杂度O(1)$时间复杂度O(n),空间复杂度O(1)$时间复杂度O(n),空间复杂度O(1)方法:单链表(用虚拟头节点)
2023-04-12 21:37:41 68
原创 字符串的相关操作
时间复杂度O(n*k), 空间复杂度O(1);$时间复杂度O(n), 空间复杂度O(1);$时间复杂度O(n), 空间复杂度O(1);$时间复杂度O(n), 空间复杂度O(1);), 空间复杂度O(n);
2023-04-12 15:30:35 32
原创 哈希表的相关操作
时间复杂度O(n), 空间复杂度O(n);$时间复杂度O(n), 空间复杂度O(n);$时间复杂度O(n), 空间复杂度O(n);$时间复杂度O(n), 空间复杂度O(n);解决哈希冲突的两种方法。
2023-04-11 11:30:31 47
原创 LeetCode有序数组
时间复杂度O(n), 空间复杂度O(n);时间复杂度O(n), 空间复杂度O(1);时间复杂度O(n), 空间复杂度O(1);), 空间复杂度O(1);
2023-04-06 09:22:58 131
原创 经典二分枚举
时间复杂度O(n), 空间复杂度O(1)), 空间复杂度O(1)), 空间复杂度O(1)), 空间复杂度O(1)), 空间复杂度O(1)
2023-04-05 10:21:41 186
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人