自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HigcMadoka的博客

记录一个菜鸡学习算法经历的博客

  • 博客(29)
  • 收藏
  • 关注

原创 Java学习笔记 2022-5-11更新到super~

java韩顺平视频学习笔记

2022-04-13 16:01:46 305

原创 DP学习笔记 更新中~

动态规划最优子结构:大问题的最优解可以由最小问题的最优解来推出来。注意在拆解问题时不能无限递归。无后效性:未来与过去无关。DP:1.状态表示 f(i,j) 集合(所有选法,条件(只从前i个选,总体积不超过j) ),属性( 数量,最大值,最小值 )2.状态计算 集合的划分f(i,j)不重复,不漏背包问题考虑基本形式后,再进行优化。01背包:每件物品只能用1次分析过程DP:1.状态表示 f(i,j) 集合(所有选法,条件(只从前i个选,总体积不超过j) ),属性( 数量,最大值,

2022-04-12 21:05:05 390

原创 软件工程本科学习视频 推荐

视频推荐

2022-11-07 11:53:55 433

原创 leetcode每日一题 22.6.13 高度检查器

1051. 高度检查器

2022-06-13 14:37:06 152

原创 leetcode每日一题 22.6.12 查找和替换模式

890. 查找和替换模式

2022-06-12 16:39:53 182

原创 kuangbin最短路专题

青蛙POJ2253传送门在二维平面上有 n个石头。第一个石头上有一个青蛙,第二个石头上也有一个青蛙。第一个石头上的青蛙要到第二个石头上找另一个青蛙玩耍。它可以直接跳到第二个石头上,也可以经过一系列中间石头,然后再跳到第二个石头上。这只青蛙希望,它的跳跃过程中,单次跳跃的最长距离尽可能短。请你计算并输出这个最长距离的最小可能值。输入格式输入包含多组测试数据。每组数据第一行包含一个整数 n。接下来 n行,第 i 行包含两个整数 xi,yi,表示第 i个石头的位置坐标。每组数据输入完毕后,

2022-05-29 14:06:43 237

原创 几种排序算法的代码模板

排序算法各种排序的可视化演示快速排序主要思想:分治1.确定分界点:q[l],q[r],q[l+r>>1]2.把整个区间分为两半,调整区间左边<=x,右边>=x3.递归左右两边详细的流程:从左边开始找到第一个数>x的位置i,从右边开始找到第一个数<x的位置j。交换i,j的值。不断寻找,直到i,j相遇。int q[N];// 从零开始void quick_sort(int q[], int l, int r){ if (l >= r)

2022-04-15 08:55:56 73

原创 Educational Codeforces Round 123 VP后反思

Educational Codeforces Round 123比赛地址A. Doors and Keys简单的顺序遍历#include <bits/stdc++.h>#define IOS ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)#define INF 0x3f3f3f3f#define PII pair<int, int>#define rep(i, l, r) for (int i = l; i &

2022-02-25 11:13:13 124

原创 (ARC)A - Irreversible operation

题目描述每次操作可以选定 si B 且 si+1​= W,交换它们的颜色。问最多能操作几次。本质上是求逆序对数#include <bits/stdc++.h>#define IOS ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)#define INF 0x3f3f3f3f#define PII pair<int, int>#define rep(i, l, r) for (int i = l; i < r

2022-02-23 20:39:47 107

原创 八数码 启发式搜索A*/BFS

八数码题目链接:描述大佬的参考题解:题解#include <bits/stdc++.h>#define IOS ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)#define INF 0x3f3f3f3f#define PIS pair<int, string>#define rep(i, l, r) for (int i = l; i < r; i++)#define per(i, l, r) fo

2022-02-22 10:01:07 787

原创 Atcoder ABC240 赛后反思及部分题解

AtCoder Beginner Contest 240比赛链接在这强烈dls的视频讲解dls的视频讲解及解题过程A - Edge CheckerProblem StatementIn the figure shown in the image below, are the points numbereda and b directly connected by a line segment?InputInput is given from Standard Input in the fo

2022-02-21 17:26:38 842

原创 wyh的迷宫 简单BFS

wyh的迷宫题目给你一个n*m的迷宫,这个迷宫中有以下几个标识:s代表起点t代表终点x代表障碍物.代表空地现在你们涵哥想知道能不能从起点走到终点不碰到障碍物(只能上下左右进行移动,并且不能移动到已经移动过的点)。13 5s…xx…x…txYES思路+code简单的板子运用#include <bits/stdc++.h>#define IOS ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)#define

2022-02-21 11:34:09 490

原创 [NOIP2010]关押罪犯 并查集

[NOIP2010]关押罪犯

2022-02-21 11:16:54 134

原创 [NOIP2017]奶酪 并查集

奶酪题目现有一块大奶酪,它的高度为 h,它的长度和宽度我们可以认为是无限大的,奶酪中间有许多半径相同的球形空洞。我们可以在这块奶酪中建立空间坐标系, 在坐标系中,奶酪的下表面为 z = 0,奶酪的上表面为 z = h。现在, 奶酪的下表面有一只小老鼠 Jerry, 它知道奶酪中所有空洞的球心所在的坐标。如果两个空洞相切或是相交,则 Jerry 可以从其中一个空洞跑到另一个空洞,特别地,如果一个空洞与下表面相切或是相交, Jerry 则可以从奶酪下表面跑进空洞; 如果一个空洞与上表面相切或是相交, Je

2022-02-21 09:58:33 109

原创 「金」点石成金 DFS

「金」点石成金题目描述思路:因为数据较小,直接进行暴搜 。#include <bits/stdc++.h>#define IOS ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)#define INF 0x3f3f3f3f#define PII pair<int, int>#define rep(i, l, r) for (int i = l; i < r; i++)#define per(i, l, r)

2022-02-19 09:08:11 163

原创 送外卖 DFS

送外卖题目描述DFS的题目还是要多做,题意都是那么个板子,但是却很难将题意给抽象具体的DFS模型。有点头疼这里放一个大佬的题解方便以后复习。题解#include <bits/stdc++.h>#define IOS ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)#define INF 0x3f3f3f3f#define PII pair<int, int>#define rep(i, l, r) for (i

2022-02-18 15:13:47 174

原创 [NOIP2014]寻找道路 BFS+建图技巧

寻找道路题目描述1.预处理反向建边。2.从终点开始bfs,标记从终点开始可以走到的点。3.枚举每一个点,如果这个点没有被标记,则枚举它的每一条出边(反向后的),如果它指向的点被标记,则说明这个被标记的点不合法,删除。4.在合法点上进行bfs。bfs有个性质是在第一次到达终点时的距离最短。参考的题解:牛客题解#include <bits/stdc++.h>#define IOS ios::sync_with_stdio(false), cin.tie(0), cout.ti

2022-02-18 10:41:25 288

原创 第k小 STL中的优先队列

第k小第k小思路:使用大根堆来维护第k个数字。#include <bits/stdc++.h>#define IOS ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)#define INF 0x3f3f3f3f#define PII pair<int, int>#define rep(i, l, r) for (int i = l; i < r; i++)#define per(i, l, r) for

2022-02-18 08:53:34 94

原创 模拟战役 连通块+DFS/BFS

模拟战役题目描述刚刚开始我对题目的理解有问题,我认为的3x3是这样子的后来发现是这样的我的语文老师一定会哭死的 QAQ思路:遇到的每个没有进入联通通块的炮做一遍BFS或是DFS找到包含它的连通块,并统计该连通块内的炮的数量。模拟战争题解#include <bits/stdc++.h>#define IOS ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)#define INF 0x3f3f3f3f#define PII

2022-02-17 17:49:53 185

原创 Running Median 优先队列

Running Median对顶堆写法题目描述Running Median题解思路:大根堆维护当前序列中较小的一半元素。大根堆中的数据为当前序列中最小段那部分。因为序列是大根堆,所以堆顶为当前序列中最大的数。小根堆维护较大的一半元素。小根堆中的数据为当前序列中最大段那部分。同理,所以堆顶为当前序列中最小的数。注意细节,如果两个堆的大小差距超过1的话,就要把另一个数量多的堆顶给另外一个数量少的堆。记得堆顶弹出#include <bits/stdc++.h>#defin

2022-02-17 15:51:14 596

原创 食物链 并查集

食物链 并查集食物链题目链接刚开始看题目的时候,不知道如何维护谁吃谁的关系,只知道维护谁是谁的同类。还是把知识点学得太死了,不知道变通。下面还有大佬的题解方便复习不懂的知识点。有两种做法:并查集数组开三倍的空间食物链_牛客博客带权并查集AcWing 240. 食物链 - AcWingAcWing 240. 食物链(带权并查集)在这里安利一下ACwing y总的算法基础课和提高课讲的真得好方法一思路:将数组开3倍大,a表示自身的一层(即a类),a+n表示被a吃掉的一类

2022-02-17 10:40:24 432

原创 指纹锁 STL中set

set的使用之重载运算符大佬博客的讲解:【练习】指纹锁_牛客博客#include <bits/stdc++.h>#define IOS ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)#define INF 0x3f3f3f3f#define PII pair<int, int>#define rep(i, l, r) for (int i = l; i < r; i++)#define per(i,

2022-02-16 19:33:15 296

原创 区区区间间间 单调栈

登录—专业IT笔试面试备考平台_牛客网单调栈真是我的克星QAQ题解可以参考下面链接的几位大佬的区区区间间间_牛客博客区区区间间间(单调栈) - JmFv5 - 博客园#include <bits/stdc++.h>#define IOS ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)#define INF 0x3f3f3f3f#define PII pair<int, int>#define r.

2022-02-16 17:25:24 187

原创 小A的柱状图 单调栈+前缀和

看题目时没有发现是单调栈,后来看题解以后才知道是单调栈。这类型的题目没怎么做过,总是段错误。呜QAQ,还是太弱小了。题意就是维护一个单调递增的序列,当遇到递减的情况时,检验前面所有可形成矩形的方案,更新结果。注意细节指判断条件那些的,还要对栈做预处理避免越界,导致没有结果。#include <bits/stdc++.h>#define IOS ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)#define INF 0x3f

2022-02-16 16:14:00 168

原创 DongDong认亲戚 并查集+STL

登录—专业IT笔试面试备考平台_牛客网简单的离散化过程,使用map将姓名处理成编号,再套用并查集板子即可。#include <bits/stdc++.h>#define IOS ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)#define INF 0x3f3f3f3f#define PII pair<int, int>#define rep(i, l, r) for (int i = l; i < r;

2022-02-16 14:59:18 572

原创 新建 Microsoft Office Word 文档 set的使用

登录—专业IT笔试面试备考平台_牛客网STL的使用还是不够熟练,因为数据范围不大所以可以使用set打一个表。#include <bits/stdc++.h>#define IOS ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)#define INF 0x3f3f3f3f#define PII pair<int, int>#define rep(i, l, r) for (int i = l; i < r

2022-02-15 21:45:54 535

原创 tokitsukaze and Soldier 优先队列+排序

登录—专业IT笔试面试备考平台_牛客网对各种STL容器还是不太熟悉以及自己的贪心策略总是太想当然了。QAQ优先队列默认从大到小,加上greater以后从小到大。优先队列用法 - skyli - C++博客#include <bits/stdc++.h>#define IOS ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)#define INF 0x3f3f3f3f#define PII pair<int, i

2022-02-15 17:07:16 262

原创 B-经商 背包+并查集

登录—专业IT笔试面试备考平台_牛客网并查集板子加01背包板子#include <bits/stdc++.h>#define IOS ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)#define INF 0x3f3f3f3f#define PII pair<int, int>#define rep(i, l, r) for (int i = l; i < r; i++)#define per(i, l

2022-02-15 16:23:17 231

原创 百鸡百钱问题

我国古代数学家张丘建在《算经》一书中曾提出过著名的“百钱买百鸡”问题。该问题叙述如下:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?普通话版就是公鸡一个五块钱,母鸡一个三块钱,小鸡三个一块钱,现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少只?由题目可知这两条公式:公鸡+母鸡+小鸡 = 1005*公鸡+3*母鸡+小鸡/3 = 100记录分享一下我自己的做法#include<stdio.h>void ThreeUn(){.

2021-12-15 09:49:56 2932

空空如也

空空如也

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

TA关注的人

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