自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 知识点总结

最小步数ans=max(abs(负数合),abs(正数合));先求原数组的差分数组,再求差分数组中正数的合与负数的合,使一个数组变为全0数组的最小步数。

2024-03-02 22:30:56 154

原创 完全平方数(模版)

四平方和定理证明了任意一个正整数都可以被表示为至多四个正整数的平方和。方法二(数学)(四平方和定理)

2023-11-23 19:35:43 213

原创 P1443 马的遍历(超详解)

有一个 n×m 的棋盘,在某个点 (x,y) 上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步。一个 n×m 的矩阵,代表马到达某个点最少要走几步(不能到达则输出 −1)。对于全部的测试点,保证 1≤x≤n≤400,1≤y≤m≤400。输入只有一行四个整数,分别为 n,m,x,y。

2023-11-06 22:38:22 412

原创 java中字符串的初始化和常用API(代码实现)

1,length();返回字符串长度2,split();字符串分割3,indexOf 字符查询和字符串查询4,equals() 字符串比较相同返回true不同返回false5,compareTo() 字符串按照字典序比较大小,大于返回整数小于返回负数等于返回06,startsWith() 判断是否以某一个前缀开头。

2023-11-05 20:09:22 264

原创 java中数组的常用API

1,length;返回数组长度数组排序3,Arrays.toString(a)一维数组转化为字符串});二维数组排序5,deepToString(b) 二维数组转化为字符串初始化一维数组。

2023-11-05 13:11:39 312

原创 P1605 迷宫

给定一个N×M方格的迷宫,迷宫里有T处障碍,障碍处不可通过。在迷宫中移动有上下左右四种方式,每次只能移动一个方格。数据保证起点上没有障碍。给定起点坐标和终点坐标,每个方格最多经过一次,问有多少种从起点坐标到终点坐标的方案。

2023-10-30 14:27:30 74

原创 P2404 自然数的拆分问题

任何一个大于 11 的自然数 n,总可以拆分成若干个小于 n 的自然数之和。现在给你一个自然数 n,要求你求出 n 的拆分成一些数字的和。每个拆分后的序列中的数字从小到大排序。然后你需要输出这些序列,其中字典序小的序列需要优先输出。dfs递归求解,假设1到n-1每个数都有n个,现在在这n(n-1)个数里选取任意个数字,使这些数字的和为n,因此这n(n-1)个数只有选和不选两种状态,正是dfs的经典应用,得到的结果可能会有重复的。输入:待拆分的自然数 n。输出:若干数的加法式子。数据保证,2≤n≤8。

2023-10-26 19:55:30 136

原创 string(c++)常用函数

2,定义一个string字符串。

2023-10-19 23:44:02 41

原创 AcWing5277. 三元组

给定一个长度为 n 的正整数数组 a1,a2,…,an请你计算,一共有多少个三元组 (i,j,k)(1≤i<j<k≤n),使得 ai⋅aj⋅ak 为最小可能值。

2023-10-15 15:51:47 190

原创 P1996 约瑟夫问题

n 个人围成一圈,从第一个人开始报数,数到 m 的人出列,再由下一个人重新从 11 开始报数,数到 m 的人再出圈,依次类推,直到所有的人都出圈,请输出依次出圈人的编号。输出一行 n 个整数,按顺序输出每个出圈人的编号。输入两个整数 n,m。

2023-10-14 11:25:39 339

原创 位运算

1,移位运算。

2023-09-23 16:33:37 88 1

原创 AcWing 788. 逆序对的数量(归并排序)

基本思想归并排序是用分治思想,分治模式在每一层上有三个步骤:(1)分解:将n个元素分解成n/2个元素的子序列。(2)解决:用合并排序法对两个子序列递归排序。(3)合并:合并两个已排序的子序列得到排序结果。

2023-09-05 13:29:24 129

原创 P1886 滑动窗口 /【模板】(双端队列)+双端队列用法

有一个长为 n 的序列 a,以及一个大小为 k 的窗口。现在这个从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗口中的最大值和最小值。对于 100%100% 的数据,1≤k≤n≤106,ai​∈[−2^31,2^31)。输入一共有两行,第一行有两个正整数 n,k。第二行 n 个整数,表示序列 a。对于 50%50% 的数据,1≤n≤105;输出共两行,第一行为每次窗口滑动的最小值。第二行为每次窗口滑动的最大值。

2023-09-03 11:52:46 228

原创 2023河南萌新联赛(八)(F题 小前前)

例如 对于[3,4,8,5,9,7]这个数组来说,[3,4],[8,5,9]是它的连续子序列,[3,8,5],[4,7]则不是。给定一个长度为n的数组a,并给出q次询问,每次询问给出三个数,分别是l,r,x。的相或 ( | ) 的值再或 ( | ) 上x,让其值最大,并输出这个值。连续子序列为从数组开头删除若干个数,数组末尾删除若干个数得到的结果。接下来有q行每行分别有三个数表示该次询问的l,r,x。对任意的 i(1≤i≤n), 1≤ai≤2^60−1。输出q行,第i行代表第i次询问的答案。

2023-08-30 20:36:01 200

原创 最大公约数(gcd)和最小公倍数(lcm)

在坐标里,将点(0, 0)和(a, b)连起来,通过整数坐标的点的数目(除了(0, 0)一点之外)就是gcd(a, b)。则: gcd(a/m ,b/m)=gcd(a,b)/m。如果m是a和b的最大公约数,

2023-08-18 11:56:25 331

原创 B3644 【模板】拓扑排序 / 家谱树

有个人的家族很大,辈分关系很混乱,请你帮整理一下这种关系。给出每个人的后代的信息。输出一个序列,使得每个人的后辈都比那个人后列出。

2023-08-18 11:16:36 281

原创 P6867 [COCI2019-2020#5] Politicari

利用暴力可以过一般的样例,通过枚举可以找到图中的环,进而减少操作次数。矩阵的主对角线(就是从左上到右下的那条对角线)全是。第一行:两个正整数,

2023-08-17 17:17:00 134

原创 A. Copil Copac Draws Trees(Codeforces Round 875 (Div. 1))

Copil Copac is given a list of n−1n-1n−1 edges describing a tree of nnn vertices. He decides to draw it using the following algorithm:The number of readings is defined as the number of times Copil Copac performs step 111.Find the number of readings needed

2023-08-16 10:33:27 278

原创 C. Yet Another Permutation Problem(Codeforces Round 893 (Div. 2))

Alex got a new game called “GCD permutations” as a birthday present. Each round of this game proceeds as follows:Alex has already played several rounds so he decided to find a permutation a1,a2,…,ana_1, a_2, \ldots, a_na1​,a2​,…,an​ such that its score is

2023-08-16 10:17:42 227

原创 最小生成树(Kruskal)克鲁斯卡尔算法

理论上,他们是 N 行,每行由 N 个用空格分隔的数组成,实际上,由于每行 80 个字符的限制,因此,某些行会紧接着另一些行。由 V中的全部 n个顶点和 E 中 n−1条边构成的无向连通子图被称为 G的一棵生成树,其中边的权值之和最小的生成树被称为无向图 G 的最小生成树。当然,他需要你的帮助。给定一张边带权的无向图 G=(V,E),其中 V 表示图中点的集合,E 表示图中边的集合,n=|V|,m=|E|。共一行,若存在最小生成树,则输出一个整数,表示最小生成树的树边权重之和,如果最小生成树不存在则输出。

2023-08-14 16:18:09 751 1

原创 P8604 [蓝桥杯 2013 国 C] 危险系数

y), 如果能找到一个站点 z,当 z 被敌人破坏后,x 和 y 不连通,那么我们称 z 为关于 x,y 的关键点。相应的,对于任意一对站点 x 和 y,危险系数DF(x,y) 就表示为这两点之间的关键点个数。暴搜,我们可以求出所有的路径,并标记所有路径中的点,当某个点被标记的数量等于总路径数量时,这个点就为关键点。输入数据第一行包含 2个整数 n(2≤n≤1000),m(0≤m≤2000),分别代表站点数,通道数。最后 1 行,两个数 u,v,代表询问两点之间的危险系数 DF(u,v)。

2023-08-14 10:59:46 1527

原创 多元最短路(Floyd)

对于 100% 的数据n≤100,m≤4500,任意一条边的权值 w 是正整数且 1⩽w⩽1000。接下来 m 行,每行三个整数 u,v,w,代表 u,v 之间存在一条边权为 w 的边。第 i 行的第 j 个整数代表从 i 到 j 的最短路径。第一行为两个整数 n,m,分别代表点的个数和边的条数。给出一张由 n 个点 m 条边组成的无向图。求出所有点对 (i,j) 之间的最短路径。输出 n 行每行 n 个整数。

2023-08-13 14:28:55 684

原创 P1722 矩阵 II

给定一个1×2n 的矩阵(usqwedf:这不是一个 2n 的队列么),现让你自由地放入红色算筹和黑色算筹,使矩阵平衡[即 ∀i∈[1,2n],1∼i 格中红色算筹个数大于等于黑色算筹]。递推方程 dp[i][j]=dp[i-1][j]+dp[i-1][j-1];问有多少种方案满足矩阵平衡(注意红色算筹和黑色算筹的数量必须相等)。众所周知,在中国古代算筹中,红为正,黑为负……如果你在百忙之中抽空看题,请自动跳到第六行。方案数 t 对 100取模后的结果。方案一:红,黑,红,黑。方案二:红,红,黑,黑。

2023-08-12 11:13:30 1152

原创 P8605 [蓝桥杯 2013 国 AC] 网络寻路

X 国的一个网络使用若干条线路连接若干个节点。节点间的通信是双向的。某重要数据包,为了安全起见,必须恰好被转发两次到达目的地。该包可能在任意一个节点产生,我们需要知道该网络中一共有多少种不同的转发路径。源地址和目标地址可以相同,但中间节点必须不同。如图 11 所示的网络。1→2→3→1是允许的。1→2→1→2 或者 1→2→3→2 都是非法的。

2023-08-11 19:03:53 972

原创 Dijkstra(求最短路)

【代码】Dijkstra(求最短路)

2023-08-10 17:26:54 324

原创 next_permutation与prev_permutation(全排列函数)

【代码】next_permutation与prev_permutation(全排列函数)

2023-08-04 17:08:09 147

原创 分组背包(模板)

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

2023-08-04 11:21:11 192

原创 多重背包(模板)

接下来有 N 行,每行三个整数 vi,wi,si,用空格隔开,分别表示第 i 种物品的体积、价值和数量。把相同的物品按2的n次方进行分组,然后按01背包的思想对分好组的物品进行挑选。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。第 i种物品最多有 si 件,每件体积是 vi,价值是 wi。有 N 种物品和一个容量是 V 的背包。输出一个整数,表示最大价值。

2023-08-04 11:18:08 172

原创 P1164 小A点菜

餐馆虽低端,但是菜品种类不少,有 N 种 (N≤100),第 i 种卖ai​ 元 (ai​≤1000)。由于是很低端的餐馆,所以每种菜只有一份。小 A 奉行“不把钱吃光不罢休”,所以他点单一定刚好把 uim 身上所有钱花完。他想知道有多少种点菜方法。uim 神犇拿到了 uoi 的 ra(镭牌)后,立刻拉着基友小 A 到了一家……第二行起 N 个正数 ai​(可以有相同的数字,每个数字均在 1000 以内)一个正整数,表示点菜方案数,保证答案的范围在 int 之内。第一行是两个数字,表示 N 和 M。

2023-08-03 17:54:37 365

原创 P1049 [NOIP2001 普及组] 装箱问题

现在从 n 个物品中,任取若干个装入箱内(也可以不取),使箱子的剩余空间最小。有一个箱子容量为 V,同时有 n 个物品,每个物品有一个体积。接下来 n 行,每行有一个正整数,表示第 i 个物品的体积。对于 100%数据,满足 0<n≤30,1≤V≤20000。共一行一个整数,表示箱子最小剩余空间。第一行共一个整数 V,表示箱子容量。第二行共一个整数 n,表示物品总数。

2023-08-03 16:10:53 258

原创 完全背包(从二维到一维)

图片来源。

2023-08-03 14:55:56 162

原创 01背包详解(二维到一维)

有 N件物品和一个容量为 V 的背包,每件物品有各自的价值且只能被选择一次,要求在有限的背包容量下,装入的物品总价值最大。「0-1 背包」是较为简单的动态规划问题,也是其余背包问题的基础。动态规划是不断决策求最优解的过程,「0-1 背包」即是不断对第 i个物品的做出决策,「0-1」正好代表不选与选两种决定。

2023-08-03 11:58:36 90

原创 P1036 [NOIP2002 普及组] 选数

已知 n 个整数 1,2,⋯ ,x1​,x2​,⋯,xn​,以及 1 个整数 k(k<n)。从 n 个整数中任选 k 个整数相加,可分别得到一系列的和。第二行 n 个整数,分别为 1,2,⋯ ,x1​,x2​,⋯,xn​(1≤xi​≤5×106)。第一行两个空格隔开的整数 n,k(1≤n≤20,k<n)。例如上例,只有一种的和为素数:3+7+19=29。现在,要求你计算出和为素数共有多少种。输出一个整数,表示种类数。

2023-08-02 22:35:14 445

原创 字符串哈希(O(n)+O(m))

使用场景: 两个字符串的子串是否相同。

2023-08-01 15:59:24 109

原创 P1162 填涂颜色

由数字 0 组成的方阵中,有一任意形状闭合圈,闭合圈由数字 1 构成,围圈时只走上下左右 4 个方向。现要求把闭合圈内的所有空间都填写成 2。先把圈外面的0全部变成3然后再对整个矩阵进行遍历把所有的0全部变成2,再把所有的3变成0最后输出,遍历的时候要遍历到n+1z否则就会出现下面这种情况。接下来 n 行,由 0 和 1 组成的 n×n 的方阵。每组测试数据第一行一个整数n(1≤n≤30)。方阵内只有一个闭合圈,圈内至少有一个 0。对于 100% 的数据1≤n≤30。已经填好数字 2 的完整方阵。

2023-07-31 17:07:34 326

原创 P1734 最大约数和

选取和不超过 S 的若干个不同的正整数,使得所有数的约数(不含它本身)之和最大。取数字 4 和 6,可以得到最大值 (1+2)+(1+2+3)=9。对于 100%的数据,1≤S≤1000。输入一个正整数 S。输出最大的约数之和。

2023-07-31 16:21:17 322

原创 B3637 最长上升子序列

最长上升子序列## 题目描述这是一个简单的动规板子题。给出一个由 $n(n\le 5000)$ 个不超过 $10^6$ 的正整数组成的序列。请输出这个序列的**最长上升子序列**的长度。最长上升子序列是指,从原序列中**按顺序**取出一些数字排在一起,这些数字是**逐渐增大**的。## 输入格式第一行,一个整数 $n$,表示序列长度。第二行有 $n$ 个整数,表示这个序列。## 输出格式一个整数表示答案。## 样例 #1### 样例输入 #1```6```

2023-07-30 23:40:00 253 1

原创 C 游游的二进制树

题目描述游游拿到了一棵树,共有nnn个节点,每个节点都有一个权值:0或者1。这样,每条路径就代表了一个二进制数。游游想知道,有多少条路径代表的二进制数在[l,r][l,r][l,r]区间范围内?(请注意:路径长度至少为1,例如,节点3到节点3虽然有一个权值,但并不是合法路径!

2023-07-30 23:37:12 364

原创 2023河南萌新联赛第(三)场:郑州大学

先设一个变量记录所有攻击中普通攻击最高的值,然后把让怪兽依次减去所有最高伤害中的大于最高普通攻击的伤害,如果怪兽没有被击杀的话,就一直用最高普通攻击伤害一直减。数据保证不会出现类似(a(b)c)的括号镶嵌,只会出现d(a)(b)(c)这样的并列括号,且保证括号是匹配的,不会出现)k(的情况。当然,还有很多逗号','。只有一把回旋镖,你可以先打两次伤害为3的,再打一次倾尽全力的,造成的伤害为5。的逗号','换成句号'.',数据保证不会存在类似(a(b)c)这样的括号镶嵌,只会存在()()()()这样的。

2023-07-28 11:26:54 313

原创 P1021 [NOIP1999 提高组] 邮票面值设计

可以验证当N=3,K=2时,7分就是可以得到的连续的邮资最大值,所以 MAX=7,面值分别为1分、3分。这题大概题意就是选k个数,用这k个数进行组合,k个数可以重复选取,但是所选的数的总数量不能超过n,然后求一个这k个数所能组成的最大值max,并且需要k个数能组成1~max中的所有数,这个max才是合法的。给定一个信封,最多只允许粘贴N张邮票,计算在给定K(N+K≤15)种邮票的情况下(假定所有的邮票数量都足够),如何设计邮票的面值,能得到最大值MAX,使在1至MAX之间的每一个邮资值都能得到。

2023-07-23 18:11:01 116

空空如也

空空如也

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

TA关注的人

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