自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 【C++】【算法基础】Nim游戏

NimNimNim游戏给定 nnn 堆石子,两位玩家轮流操作,每次操作可以从任意一堆石子中拿走任意数量的石子(可以拿完,但不能不拿),最后无法进行操作的人视为失败。问如果两人都采用最优策略,先手是否必胜。输入格式第一行包含整数 nnn。第二行包含 nnn 个数字,其中第 iii 个数字表示第 iii 堆石子的数量。输出格式如果先手方必胜,则输出 Yes。否则,输出 No。数据范围1≤n≤1051≤n≤10^51≤n≤105,1≤每堆石子数≤1091≤每堆石子数≤10^91≤每堆石子数≤1

2024-11-14 17:07:36 2387 1

原创 P1002 [NOIP2002 普及组] 过河卒

棋盘上A点有一个过河卒,需要走到目标B点。卒行走的规则:可以向下、或者向右。同时在棋盘上C点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。棋盘用坐标表示,A点00B点nm,同样马的位置坐标是需要给出的。现在要求你计算出卒从A点能够到达B点的路径的条数,假设马的位置是固定不动的,并不是卒走一步马走一步。

2024-11-08 21:16:05 1067

原创 P1028 [NOIP2001 普及组] 数的计算

给出正整数nn请你求出,一共有多少个合法的数列。两个合法数列ab不同当且仅当两数列长度不同或存在一个正整数i≤∣a∣,使得ai​bi​。详见题目[P1028。

2024-11-08 20:34:04 1169

原创 【C++】【算法基础】快速排序

用快速排序排序长度为n的整数数列。

2024-11-07 23:39:55 458

原创 【C++】【算法基础】第k个数(分治法)

在一个长度为n的整数数列中找到第k大的数。

2024-11-07 23:36:30 421

原创 top-k类问题

全局排序,O(n*lg(n));局部排序,只排序TopK个数,O(n*k);堆,TopK个数也不排序了,O(n*lg(k));分治法,每个分支“都要”递归,例如:快速排序,O(n*lg(n));减治法,“只要”递归一个分支,例如:二分查找O(lg(n)),随机选择O(n);TopK的另一个解法:随机选择+partition。本文为学习随笔,附上原文链接一次搞透,面试中的TopK问题!寻找第K大的数的方法总结。

2024-11-07 23:32:10 1208

原创 【C++】【算法基础】序列编辑距离

给定n个长度不超过10的字符串以及m次询问,每次询问给出一个字符串和一个操作次数上限。对于每次询问,请你求出给定的n个字符串中有多少个字符串可以在经过操作变成询问给出的字符串。每个对字符串进行的单个字符的插入、删除或替换算作一次操作。详见。

2024-11-06 16:54:11 881

原创 【C++】【算法基础】最短编辑距离

给定两个字符串长度为n的A和长度为m的B,现在要将A经过若干操作变为B,可进行的操作有:删除——将字符串A中的某个字符删除。插入——在字符串A的某个位置插入某个字符。替换——将字符串A中的某个字符替换为另一个字符。现在请你求出,将A变为B至少需要进行多少次操作。

2024-11-05 21:56:09 1019

原创 【C++】【算法基础】最长公共子序列

给定两个长度分别为N和M的字符串A和B,求既是A的子序列又是B的子序列的字符串长度最长是多少。

2024-11-05 20:52:13 784

原创 【C++】【算法基础】最长上升子序列

给定一个长度为N的数列,求数值严格单调递增的子序列的长度最长是多少。eginputoutput详见。

2024-11-03 22:35:04 2023

原创 【C++】【算法基础】数字三角形

给定一个如下图所示的n层数字三角形,从顶部出发,在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点,一直走到底层,要求找出一条路径,使路径上的数字的和最大。详见。

2024-11-03 12:26:05 1307

原创 【C++】【算法基础】分组背包问题

有N组物品和一个容量是V的背包。每组物品有若干个,同一组内的物品最多只能选一个。每件物品的体积是vij​,价值是wij​,其中i是组号,j是组内编号。求解将哪些物品装入背包,可使物品总体积不超过背包容量,且总价值最大。

2024-11-02 12:28:02 708

原创 【C++】【算法基础】多重背包问题

有N种物品和一个容量是V的背包。第i种物品最多有si​件,每件体积是vi​,价值是wi​。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。详见。

2024-11-02 10:42:32 1133

原创 【C++】【算法基础】0-1背包问题

有N件物品和一个容量是V的背包。每件物品只能使用一次。第i件物品的体积是vi​,价值是wi​。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。详见。

2024-11-01 11:35:59 824

原创 P1044 [NOIP2003 普及组] 栈

栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表。栈有两种最重要的操作,即pop(从栈顶弹出一个元素)和push(将一个元素进栈)。

2024-11-01 11:04:18 2372

原创 【C++】【算法基础】0-1背包问题

有N件物品和一个容量是V的背包。每件物品只能使用一次。第i件物品的体积是vi​,价值是wi​。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。详见。

2024-11-01 11:01:59 729

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除