随笔分类 -  算法竞赛

摘要:790. 数的三次方根 - AcWing题库 思路:浮点数二分 ,从中点mid开始找哪个数的3次方,当逼近到1e-8时,找到的浮点数视为结果。 package main import ( "fmt" "math" ) func main() { var x float64 fmt.Scan(&x) 阅读全文
posted @ 2026-01-24 23:03 BlackSnow 阅读(4) 评论(0) 推荐(0)
摘要:789. 数的范围 - AcWing题库 重点在于两个二分方法的使用一个需要补偿1,另一个不需要 主要在于向左递归 和向右递归 package main import "fmt" func main() { var n, m int fmt.Scan(&n, &m) q := make([]int, 阅读全文
posted @ 2026-01-11 21:23 BlackSnow 阅读(3) 评论(0) 推荐(0)
摘要:788. 逆序对的数量 核心思路:在归并排序的基础上添加逆序对数量的求和,分三种情况 L区间左侧的数据L[i]>右侧数据L[j],逆序对数量=满足条件的数量 R区间左侧的数据R[i]>右侧数据R[j],逆序对数量=满足条件数量 R区间数据L[i]>L区间数据R[j] ,逆序对数量 = mid - i 阅读全文
posted @ 2026-01-02 23:45 BlackSnow 阅读(16) 评论(0) 推荐(0)
摘要:https://www.acwing.com/problem/content/789/ package main import ( "fmt" ) func main() { var n int fmt.Scanf("%d", &n) q := make([]int, n) tmp := make( 阅读全文
posted @ 2026-01-02 01:45 BlackSnow 阅读(18) 评论(0) 推荐(0)
摘要:785. 快速排序 - AcWing题库 注意:唯一一个坑点 当数据全部为顺序时会T掉,因为每次j指针需要遍历到最前。因此选择中间元素会使得两侧递归运行时间均匀,不会导致一侧的递归等待另一侧递归完成 package main import ( "fmt" ) func main() { var n 阅读全文
posted @ 2025-12-23 23:24 BlackSnow 阅读(8) 评论(0) 推荐(0)
摘要:C - Recursive sequence 矩阵快速幂 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> using namespace std; typedef long long ll; cons 阅读全文
posted @ 2021-05-04 14:58 BlackSnow 阅读(67) 评论(0) 推荐(0)
摘要:Basic Data Structure - HDU 5929 - Virtual Judge (vjudge.net) Basic Data Structure - HDU 5929 - Virtual Judge (vjudge.net) #include<iostream> #include< 阅读全文
posted @ 2021-05-02 21:52 BlackSnow 阅读(49) 评论(0) 推荐(0)
摘要:题目:一个人从起点出发,要走距离D, 每秒他会持续受到A点伤害(即不是直接在这秒开始或结束统一扣血,是在这1s内均摊的), 初始血量H=0,速度V=0,每秒生命回复R=0(每秒末回复R点生命值,瞬时回血而非持续)。 提升一点血量、速度、生命回复的花费分别为G1、G2、G3。 要求走到终点的过程中,生 阅读全文
posted @ 2021-05-02 21:45 BlackSnow 阅读(107) 评论(0) 推荐(0)