- 博客(75)
- 收藏
- 关注
原创 C++数论刷题记录 Hackerrank Solve Mathematics Sherlock and GCD / Primitive Problem
Sherlock is stuck while solving a problem: Given an array , he wants to know if there exists a subset of this array which follows these statements:Input FormatThe first line of input contains an integer, , representing the number of test cases. Then test
2025-02-16 22:23:46
905
原创 C++数论刷题记录 Hackerrank Solve Mathematics Constructing a Number / Closest Number
注意:数据类型不能用int储存,否则tle(wa)
2025-02-15 14:42:37
910
原创 USACO 2024 December Contest, Gold
从第三题开始,tldr每个工作有一个截止时间但是必须从si开始,已知时长ti,不能同时做很多工作,接着就是解题目标,求出最多能完成多少工作。所以是很明显的贪心问题。首先选择为每个工作的开始和时长做排序,(si+ti)再检查每个工作是否可以跟前者确定的基础上完成。第一步,最重要的是知道sort的过程,这个版本只采用了start time si排序,接下来要确保完成工作的顺序是si+ti。
2025-01-10 01:02:19
610
原创 算法笔记/USACO Guide GOLD金组Graphs并查集Disjoint Set Union
以下是 DSU 的实现。它利用从小到大合并和路径压缩快速执行并集查找。由于真实实践非常简单,他可以用来代替用于计算连接组件的 DFS。
2024-11-09 19:14:58
331
原创 算法笔记/USACO Guide GOLD金组DP 4. Longest Increasing Subsequence
如果 `A[j] < A[i]`,则 `A[i]` 可以扩展以 `A[j]` 结尾的子序列。4. 如果 `A[i]` 可以替换 `dp[]` 中的某个元素(通过二分查找找到),则替换该元素,以确保 `dp[]` 始终保持最小可能尾元素。1. 创建一个 DP 数组 `dp[]`,其中每个元素 `dp[i]` 表示以索引 `i` 结尾的最长递增子序列的长度。1. 维护一个列表 `dp[]`,其中 `dp[i]` 保存长度为 `i+1` 的递增子序列的最小尾值。在给定的数组中,目标是找到最长的严格递增的。
2024-10-24 13:03:55
440
原创 算法笔记/USACO Guide GOLD金组DP 3. Paths on Grids
简单来说,DP 问题通常涉及分析路径的时候使用2D的数组。移动仅限于 x 轴和 y 轴上的一个方向,通常从一个角开始并在另一个角结束。目标可能是对路 径进行计数或查找最大/最小值。子问题是网格的子矩形。例如,为了计算从 1,1 到 N,M 正向移动的路径,我们将 dp[x][y] 定义为到 x,y 的路径数。递推关系为 dp[x][y] = dp[x-1][y] + dp[x][y-1],其中 dp[1][1] = 1。理解单元格附加有助于形成正确的规律。
2024-09-18 22:41:16
896
1
原创 算法笔记/USACO Guide GOLD金组DP 2. Knapsack to DP
算法笔记/USACO Guide GOLD金组DP 1.2 Knapsack to DP
2023-09-09 21:39:51
259
原创 算法笔记/USACO Guide GOLD金组DP 1. Introduction to DP
算法笔记/USACO Guide GOLD金组DP 1.1 Introduction to DP
2023-08-27 21:30:43
599
2
原创 C++动态规划DP Dynamic Programming实现B3635 硬币问题B3636 文字工作
C++动态规划DP Dynamic Programming实现B3635 硬币问题B3636 文字工作洛谷实践
2023-08-25 10:16:38
725
1
原创 拓扑排序Topological sorting/DFS C++应用例题P1113 杂务
洛谷算法拓扑排序Topological sorting/DFS C++语言应用例题P1113 杂务排序
2023-08-23 20:00:38
423
2
原创 C++set集合与并查集map映射,哈希表应用实例B3632 集合运算 1P1918 保龄球
C++中set集合map映射B3632 集合运算 1
2023-08-22 10:57:00
354
原创 数据结构之线性表的类型运用Linear Lists: 数组,栈,队列,链表
数据结构之线性表的类型运用Linear Lists: 数组,栈,队列,链表
2023-08-18 14:10:45
559
原创 二分查找理论Binary Search代码实现及P1102 A-B 数对
C++二分查找理论Binary Search代码实现及P1102 A-B 数对
2023-08-14 11:02:54
220
3
原创 宽度有限搜索BFS搜索数及B3625 迷宫寻路 P1451 求细胞数量 B3626 跳跃机器人
BFS C++ C语言宽度优先搜索BFS搜索数及B3625 迷宫寻路 P1451 求细胞数量 B3626 跳跃机器人洛谷
2023-08-12 10:00:12
1095
6
原创 深度优先搜索DFS搜索数及B3621 枚举元组 B3622 枚举子集 B3623 枚举排列
DFS C++ C语言深度优先搜索DFS搜索数及B3621 枚举元组 B3622 枚举子集洛谷
2023-08-10 21:32:06
921
3
原创 AcWing第 100 场周赛
例如,如果一共有 3 张纸牌,价值分别为 1,2,3 一共需要进行 5 次操作,每次操作需要置于牌堆顶部的卡牌分别为 1,3,2,3,1。所有测试点满足 1≤n≤15,1≤l≤r≤109,1≤x≤106,1≤ai≤106。所有测试点满足 2≤n≤500,1≤m≤1000,1≤vi≤100,1≤ai≤n。付出的总代价为 0+1+4+2+5=120+1+4+2+5=12。前 33 个测试点满足 2≤n≤3,1≤m≤5。前 33 个测试点满足 1≤n,b,p≤10。所有测试点满足 1≤n,b,p≤500。
2023-04-22 20:33:48
497
原创 AcWing第 98 场周赛
例如,当 m=1 时,满足条件的正整数 n 共有 5 个,分别是 5,6,7,8,9,其中 5!所有测试点满足 1≤n≤105,a1∼an 均为不含前导 0 的非负整数,并且这 n 个数的总长度不超过 105。如果存在满足条件的 n�,则第一行输出满足条件的 n� 的数量,第二行按从小到大的顺序输出所有满足条件的 n�。给定一个正整数 m,请你统计一共有多少个正整数 n 满足,n 的阶乘的末尾连续 00 的数量恰好为 m。所有测试点满足 1≤n≤100,1≤k≤9。共一行,包含两个整数 n,k。
2023-04-09 16:49:27
441
原创 AcWing第 95 场周赛
给定四个整数 x1,y1,x2,y2,请你计算 max(|x1−x2|,|y1−y2|)。输入格式第一行包含两个整数 x1,y1。第二行包含两个整数 x2,y2。输出格式一个整数,表示 max(|x1−x2|,|y1−y2|)的值。数据范围前 4 个测试点满足 −10≤x1,y1,x2,y2≤10所有测试点满足 −109≤x1,y1,x2,y2≤109。
2023-03-18 20:40:36
326
原创 USACO 1月 2022-2023 January Contest Gold金组 题解
USACO 1月 2022-2023 January Contest Gold金组 题解
2023-02-08 17:17:08
749
原创 Canadian Coding Competition(CCC) 2020 Senior 题解
Canadian Coding Competition(CCC) 2020 Senior 题解
2023-02-05 12:01:24
943
原创 Canadian Coding Competition(CCC) 2020 Junior 题解
Canadian Coding Competition(CCC) 2020 Junior 题解
2023-01-23 00:04:49
1238
原创 Canadian Coding Competition(CCC) 2022 Junior 题解
Canadian Coding Competition(CCC) 2022 Junior 题解
2023-01-02 16:56:21
1372
原创 Canadian Coding Competition(CCC) 2021 Junior 题解
Canadian Coding Competition(CCC) 2021 Junior 题解
2023-01-02 15:06:44
1270
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人