自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 CSDN 总目录

C++ 输入输出 / 库函数 / STL 笔记总结C++补基础易忘HTML/CSS/JS 基本语法(1)ACM - 数据结构 - 基础(数组模拟链表 / 栈 / 队列 + 字典树 + 并查集 + 堆 + 哈希)(2)ACM - 字符串 - 基础(KMP)(3)ACM - 搜索与图论 - 基础(搜索 + 拓扑 + 最小生成树 + 最短路 + 二分图 + 欧拉路 + 最大流 + 其它)(4)ACM - 数学 - 基础(数论 / 高精度 / 组合 / 博弈论 / 其它)(5)ACM - DP - 基础(背包 +

2023-05-10 16:07:52 757

原创 ACM - DP习题集(word里面的一小部分题集)

DP例题1、POJ 1222 EXTENDED LIGHTS OUT(开关灯)2、POJ 3624 Charm Bracelet(01背包)3、POJ 1088 滑雪4、Leetcode 剑指 Offer 49. 丑数5、POJ 1661 Help Jimmy (往下跳)6、例题1、POJ 1222 EXTENDED LIGHTS OUT(开关灯)原题链接:http://poj.org/problem?id=1222题目大意0 表示灯暗,1 表示灯亮。先给出 5 行 6 列 一共30 盏灯的暗灭

2023-05-10 16:14:39 1105

原创 ACM - 其他算法 - 基础(前缀和 + 差分)

ACM- 其他算法一、前缀和模板例题1、区间余数求K倍区间个数:AcWing 1230. K倍区间一、前缀和模板//一维前缀和S[i] = a[1] + a[2] + ... a[i]a[l] + ... + a[r] = S[r] - S[l - 1]//二维前缀和S[i, j] = 第i行j列格子左上部分所有元素的和以(x1, y1)为左上角,(x2, y2)为右下角的子矩阵的和为:S[x2, y2] - S[x1 - 1, y2] - S[x2, y1 - 1] + S[x1 -

2023-05-10 15:56:35 744

原创 ACM - DP - 提高2 (状态机 + 状态压缩 + 区间 + 树形 + 数位 + 单调队列优化 + 斜率优化)

DP 类型题二 【跳转DP 类型题一 (模型:数字三角形+最长上升子序列+背包】一、状态机模型1、AcWing 1057. 股票买卖 IV :两个状态转换2、AcWing 1058. 股票买卖 V :三个状态转换3、二、状态压缩DP三、区间DP四、树形DP五、数位DP六、单调队列优化DP七、斜率优化DP【跳转DP 类型题一 (模型:数字三角形+最长上升子序列+背包】!!!传送门~~~~~~~~~~~~~~~~一、状态机模型1、AcWing 1057. 股票买卖 IV :两个状态转换原题链接:htt

2023-05-10 15:38:15 695

原创 ACM - 字符串 - 基础(KMP)

字符串一、KMP1、模板题 HDU1711 Number Sequence2、求最大匹配数 HDU 2087 剪花布条一、KMP1、模板题 HDU1711 Number Sequence题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1711next 数组的含义next [ i ] 表示:以 i 为终点,以 0 为起点,前后缀能一致的最长字串。(在某些头文件有命名过next,所以代码里面以 ne 代表next)#include <ios

2023-05-10 15:32:27 752

原创 ACM - 数据结构 - 基础(数组模拟链表 / 栈 / 队列 + 字典树 + 并查集 + 堆 + 哈希)

数据结构一、链表1、单链表模板题:AcWing 826. 单链表2、双链表模板题 AcWing 827. 双链表二、线性表1、栈数组模拟栈模板 AcWing 828. 模拟栈一、链表1、单链表模板题:AcWing 826. 单链表原题链接:https://www.acwing.com/problem/content/828/思路数组模拟链表。int e[ k ] :第 k 个插入的结点的值ne[ k ] :第 k 个插入的结点的下一个结点的索引idx :表示目前已经插入过了多少个结点,

2023-05-10 15:27:54 1268

原创 ACM - 搜索与图论 - 基础(搜索 + 拓扑 + 最小生成树 + 最短路 + 二分图 + 欧拉路 + 最大流 + 其它)

搜索与排序搜索1、DFS经典题AcWing 842. 排列数字AcWing 843. n-皇后问题2、BFS例题1、AcWing 844. 走迷宫 (入门经典)例题2、AcWing 845. 八数码搜索1、DFS经典题AcWing 842. 排列数字原题链接:https://www.acwing.com/problem/content/description/844/#include<iostream>using namespace std;int ans[10], n;

2023-05-10 15:27:36 795

原创 ACM - 数学 - 提高(还没学多少)

ACM - 数学 练习题一、数论1、分解质因 :AcWing 197. 阶乘分解2、一、数论1、分解质因 :AcWing 197. 阶乘分解原题链接:https://www.acwing.com/problem/content/199//*用素数pi反求区间有多少个ci*/#include<iostream>using namespace std;const int N = 1000010;int primes[N], cnt = 0;bool st[N];in

2023-05-10 15:23:27 678

原创 HTML/CSS/JS 基本语法

基本常识

2023-03-14 19:19:24 1281

原创 ACM - 贪心 - 基础(区间问题 + Huffman树 + 排序不等式 + 绝对值不等式 + 推公式)

贪心经典母题1、区间问题AcWing 905. 区间选点AcWing 908. 最大不相交区间数量AcWing 906. 区间分组AcWing 907. 区间覆盖2、Huffman树AcWing 148. 合并果子3、排序不等式AcWing 913. 排队打水4、绝对值不等式AcWing 104. 货仓选址5、推公式AcWing 125. 耍杂技的牛例题1、POJ 百练 4151 电影节2、POJ 3190 Stall Reservations (挤牛奶)3、POJ 1328 Radar Installat

2021-11-11 18:31:11 2330

原创 codeforces 有意思的思维题 1 ~ 15

思维题1、给定数组,求满足i < j and ai * aj = i + j的数对数量2、第 i 步向前跳 i 步或后退 1 步3、1、给定数组,求满足i < j and ai * aj = i + j的数对数量codeforces 1541B. Pleasant Pairs原题链接:https://codeforces.com/problemset/problem/1541/B思路因为3 <= i + j <= 2 * n - 1那么 3 <= ai * aj

2021-10-06 21:09:40 2866 1

原创 Codeforces Round #738 (Div. 2) A - D1 题解

这里写目录标题A. Mocha and Math (位运算)B. Mocha and Red and Blue(找规律)C. Mocha and Hiking(分类讨论)D1. Mocha and Diana (Easy Version) (并查集)A. Mocha and Math (位运算)原题链接 :https://codeforces.com/contest/1559/problem/A大致题意给定 n 个数的序列,可对其操作任意次。一次操作即:选取闭区间 [ l,r] ,对该区间反

2021-08-17 00:14:44 323 1

原创 ACM - DP - 提高1 (数字三角形 / 方格 + 最长上升子序列 + 背包)

这里写目录标题一、数字三角形模型:只能朝右或下走1、AcWing 1018. 最低通行费:只走一次2、AcWing 1027. 方格取数:走两次,只拿一次,且可重复3、AcWing 275. 传纸条:走两次,只拿一次,且不可重复二、最长上升子序列模型1、AcWing 1014. 登山:既上山又下山2、AcWing 1012. 友好城市:线性互不交叉3、AcWing 1016. 最大上升子序列和4、AcWing 1010. 拦截导弹:最长上升子序列 == 最少用多少个非上升子序列才能填满整个序列(反之亦然)5

2021-08-06 17:04:23 535

原创 ACM - DP - 基础(背包 + 线性 + 区间 + 计数类 + 数位 + 状压 + 树形 + 记忆化搜索)

动态规划AcWing 基础课1、背包问题01背包 : 每件物品最多只能选一次完全背包 : 每件物品可以选任意次多重背包(朴素版):限定每件物品选择次数的上限多重背包(二进制优化版):限定每件物品选择次数的上限,但是上限较大分组背包:分为 x 组,每一组最多只能选择其中的一件2、线性 DPAcWing 898. 数字三角形AcWing 895. 最长上升子序列AcWing 896. 最长上升子序列 II(n = 10^5 nlogn的做法)AcWing 897. 最长公共子序列AcWing 902. 最短

2021-07-20 18:14:52 524

原创 Codeforces Round #719 (Div. 3) A - E 题解

@[TOC](Codeforces Round #719 (Div. 3) 题解)A. Do Not Be Distracted!原题链接:https://codeforces.ml/contest/1520/problem/A题目大意如果诸如AAAADDBBFGH 这样, 每一个字母只连续出现 1 次, 那么输出 YES, 否则像 AABBA这样 A 在不同的位置连续出现 2 次及以上则输出 NO.#include <iostream>#include <algorithm

2021-05-06 17:46:53 928 4

原创 ACM - 数学 - 基础(数论 / 高精度 / 组合 / 博弈论 / 其它)

数论高精度1、大数加大数2、大数减大数3、大数乘小数4、大数除小数高精度1、大数加大数#include<iostream>#include<vector>using namespace std;// 计算 A + B = Cvector<int> A, B, C;// 高精度加void add() { int t = 0; for (int i = 0; i < A.size() || i < B.size(); ++

2021-03-22 22:03:16 21565 12

原创 HDU 1257 最少拦截系统 :最长上升子序列 反求 最长不增子序列的最大数目(含证明)

HDU 1257 最少拦截系统1、题目2、dp解法思路代码3、贪心 - 优先队列解法思路代码1、题目原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=12572、dp解法思路代码#include <iostream>#include <algorithm>#include <iomanip>#include <sstream>#include <string>#include &l

2021-02-21 21:31:31 283

原创 HDU 2458 Kindergarten :二分图用匈牙利求最大独立集

二分图 求最大独立集前言知识点1、二分图2、匹配3、最大匹配4、匈牙利算法5、最小顶点覆盖6、最大独立集例题 - HDU 2458 Kindergarten题目大意代码前言(悄咪咪说一句 好像不是dp, 但是是目前学最久收获挺多的一道题了,一开始hhhh一直列不出来dp[ G ] [ B ] 怎么转移,后面犟太久了顶不住看了题解,发现需要学二分图、最大匹配、匈牙利算法,听都没听过……我两行清泪流下来,为什么当初要犟那么久才看题解)知识点这道题我主要是学了下面这篇博客,真的写的超级好,每一步都很细致,

2021-02-18 02:51:33 501

原创 C++ 输入输出 / 库函数 / STL 笔记总结

易忘的用法一、输入输出1、特殊输入输出格式2、cin3、scanf4、gets其他二、库函数 / 头文件1、数学函数2、字符串函数3、内存操作库函数三、指针四、STL1、sort排序2、二分查找一、输入输出1、特殊输入输出格式输出输入控制符:%x:以16进制读入输出整型变量%nd:以n字符宽度输出整数,宽度不足时用空格填充%0nd:以n字符宽度输出整数,宽度不足时用0填充2、cincin >> m >> n 是一个表达式,如果成功读入所有变量,返回true,否则返回

2021-02-07 17:03:33 2024 2

原创 单调栈 / 单调队列

单调栈 / 单调队列一、单调栈模板1、 Leetcode 155. 最小栈 (简单)2、Leetcode 496. 下一个更大元素 I (简单)3、 Leetcode 739. 每日温度(中等)4、Leetcode 42. 接雨水(困难)二、单调队列模板1、 Leetcode 剑指 Offer 59 - II. 队列的最大值(中等)2、 Leetcode 239. 滑动窗口最大值 (困难)一、单调栈简单来说就是维护一个栈,使得该结构内的元素是单调递增 / 单调递减 / 单调不增 / 单调不减(递增和不

2021-02-02 00:46:46 302

原创 Codeforces Round #697 (Div. 3) (A B C E题解)

Codeforces Round #697 ABCEA原题链接:https://codeforces.com/contest/1475/problem/A题意对于每一个 n ,判断是否存在大于 1 的奇数除数,如果有输出YES,反之输出NO。思路① 如果 n 是奇数,那么大于 1 的奇数除数可以是它本身;② 如果 n 是偶数,那么只有 n 是 2 的整数次幂的时候,才不存在大于 1 的奇数除数。因为所有大于 1 的正整数都可以拆分成若干个质数相乘,质数里面只有 2 是偶数,所以如果所有质因

2021-01-28 00:50:01 261 1

原创 牛客小白月赛31(B D E G H I J 题解)

这里写目录标题B、 A+BE - 解方程G - 简单题的逆袭B、 A+B一开始没发现每3列会用1个 . 分隔开,一直没看明白样例。后面就用数组模拟栈,先将字符形式的运算式转变成对应含义的数字和加号存在ch数组里面。再将得到的数字累加到ans里面,此时ans的数值就是运算结果。但是题目要求将结果以字符矩阵输出,此时要注意输出和输入一样,每隔3列要输出1个 . 分隔开。//B #include<iostream>#include<algorithm>#include&l

2021-01-17 12:48:35 738

原创 约数个数定理 求 大于1的正整数的因子总数

E - 解方程(牛客小白月赛31)原题链接:https://ac.nowcoder.com/acm/contest/10746/E题目描述给出两个正整数 a,b,计算满足方程 ax+by=x*y 的正整数(x, y) 的组数。输入描述输入的第一行有一个正整数 t 测试数据的组数。每组测试数据在一行中给出两个正整数 a, b。1 ≤ t ≤ 10 ^ 31 ≤ a, b ≤ 10 ^ 6输出描述输出一个数字表示答案保证答案小于2 ^ 31示例说明对于第一组满足条件的(x,y)为(

2021-01-17 01:46:29 403

原创 dp / 算术几何均值不等式 求 正整数拆分后的最大乘积

Leetcode 剑指 Offer 14- I. 剪绳子题目1、dp做法2、数学做法:算术几何均值不等式题目给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]…k[m-1] 。请问 k[0]k[1]…*k[m-1] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。【示例 1】输入: 2输出: 1解释: 2 = 1 + 1, 1 × 1

2021-01-16 02:04:12 296

原创 哈尔滨理工大学软件与微电子学院程序设计竞赛(题解)

目录ABCDEFGHIJKLMNOPQA//A#include<iostream>#include<algorithm>#include<stdlib.h>#include<cstring>#include<string>#include<cmath>#include<queue>using namespace std; #define getlength(array,len) {len = (si

2020-12-08 20:01:04 718

原创 Leetcode 453. 最小移动次数使数组元素相等 (“相对大小”)

Leetcode 453. 最小移动次数使数组元素相等【题意】给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移动次数。每次移动将会使 n - 1 个元素增加 1。【示例】输入:[1,2,3]输出:3【解释】只需要3次移动(注意每次移动会增加两个元素的值):[1,2,3] => [2,3,3] => [3,4,3] => [4,4,4]【解法一】O (n)/*对于 1 2 4 6,从小的考虑起,先将 1 增加至和 2 一样,即 2 2 5

2020-12-06 14:05:57 218

原创 leetcode 36. 有效的数独 (将 9 * 9 数独划分成 9 宫格 )

leetcode 36. 有效的数独判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。上图是一个部分填充的有效的数独。数独部分空格内已填入了数字,空白格用 ‘.’ 表示。示例 1:输入:[[“5”,“3”,".",".",“7”,".",".",".","."],[“6”,".",".",“1”,“9”,“5”,

2020-11-23 22:27:54 684

原创 C++补基础

本篇博客主要参考《新标准C++程序设计教程》2012 年 8 月第一版#include<iostream>#include<algorithm>#include<stdlib.h>#include<cstring>#include<queue>using namespace std;const int a = 5; //2.3#define MAX_NUM 100 //2.3 void Function2.

2020-11-17 15:48:32 415

原创 第一周 kuangbin 搜索入门

搜索入门1、棋盘问题 POJ - 13212、1、棋盘问题 POJ - 1321//棋盘问题 POJ - 1321 //思路: 主要从三个限制条件考虑 //不同行:每一行每一次dfs只取一个位置//不同列:用一个judge数组储存当次方案中每一列是否已经被占用//只能在#:遇到#才进入搜索 #include<algorithm>#include<stdlib.h>#include<iostream>#include<cstring>us

2020-09-29 00:56:15 275 1

原创 Leetcode 213. 打家劫舍 II (动态规划--理解pre和cur的意义)

打家劫舍 II你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 1:输入: [2,3,2]输出: 3解释: 你不能先偷窃 1 号房屋(金额 = 2),然后偷窃 3 号房屋(金额 = 2), 因为他们是相邻的.

2020-09-19 18:15:45 254

原创 易忘

1.原码、反码、补码原码:[+1]原 = 0000 0001 [-1]原 = 1000 0001(其中第一位是符号位,为1表示负,为0表示正)==》反码:正数的反码是其本身, 负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.eg.[+1] = [00000001]原 = [00000001]反[-1] = [10000001]原 = [11111110]反补码:正数的补码依旧是其本身, 负数的补码是在反码的基础上+1。eg. [+1] = [00000001]原 = [00

2020-08-24 02:06:29 507

原创 Leetcode 169.多数元素(摩尔投票法)

Leetcode 169.多数元素给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2【摩尔投票法】//摩尔投票法/*因为必然有一个多数元素(数量>n/2),所以将nums数组看成是一个个人在投票,result是用于说明当前是根据哪一个人(数组哪个元素)的选择来决定赞成

2020-08-17 00:41:35 183

原创 Leetcode 168. Excel表列名称(Java)(初试 “ 动态 “ 字符串)

Leetcode 168. Excel表列名称给定一个正整数,返回它在 Excel 表中相对应的列名称。例如,1 -> A2 -> B3 -> C…26 -> Z27 -> AA28 -> AB…示例 1:输入: 1输出: “A”示例 2:输入: 28输出: “AB”示例 3:输入: 701输出: “ZY”/*类似于把10进制转换为26进制但与普通进制转换不一样的是,不能直接把A当0,在%和/运算里面需将n-1*/class

2020-08-16 22:05:40 195

原创 Leetcode 136. 只出现一次的数字(Java)(异或的特点)

Leetcode 136. 只出现一次的数字给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4先排序再遍历搜索//先排序再遍历搜索class Solution { public int singleNumber(int[] nums) { Array

2020-08-16 22:05:28 116

原创 Leetcode122 买卖股票的最佳时机 II(Java)(类似微分,以小求大)

Leetcode 122. 买卖股票的最佳时机 II给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。随后,在第 4 天(股票

2020-08-10 13:06:15 156

原创 Leetcode70 爬楼梯(Java)(节省递归时间)(斐波那契数列应用)

题目(Leetcode70题):假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1 阶 + 1 阶 + 1 阶1 阶 + 2 阶2 阶 + 1 阶/**用斐波那契数列更省内存和时间比如说第6阶台阶,其实可以看成是在第4阶

2020-07-19 00:19:34 221

原创 质因数分解(C++)(求最小质因数反求最大质因数)

P1075 质因数分解题目描述已知正整数nn是两个不同的质数的乘积,试求出两者中较大的那个质数。输入格式一个正整数nn。输出格式一个正整数pp,即较大的那个质数。输入输出样例输入 21输出 7说明/提示n <= 2*10^9NOIP 2012 普及组 第一题//直接找最大质因数会超时,所以先求出最小质因数,再用n除以这个数,//便可以得到最大质因数。(因为n规定是由两个不同的质数的乘积,//所以相除后一定为最大质因数。同理,n开方后的数不可能为整数,//所以它的

2020-05-30 03:29:15 4418

原创 蓝桥杯基础练习 2n皇后问题(Java)(初试搜索、回溯)(含递归)

试题 基础练习 2n皇后问题资源限制时间限制:1.0s 内存限制:512.0MB问题描述  给定一个n*n的棋盘,棋盘中有一些位置不能放皇后。现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行、同一列或同一条对角线上,任意的两个白皇后都不在同一行、同一列或同一条对角线上。问总共有多少种放法?n小于等于8。  输入格式  输入的第一行为一个整数n,表示棋盘的大...

2020-05-01 00:37:18 341

原创 E - Max Factor最大素数因数(C++)(制作最大素数因数表)(素数筛选)

题目:To improve the organization of his farm, Farmer John labels each of his N (1 <= N <= 5,000) cows with a distinct serial number in the range 1…20,000. Unfortunately, he is unaware that the co...

2020-04-25 00:17:53 918 2

原创 设计并定义一个图形类(Shape),用主类进行访问(Java)

//自己设计并定义一个“图形类”(Shape),然后写一个主类,在其中创建Shape类//的对象并对各个属性和方法进行访问。特别要求:需要有个方法从外界接受图形的名称。//Shape类属性:name、周长perimeter、面积area//Shape类方法:计算周长count_perimeter、判断多边形是否为正多边形judge、计算面积area//Main类流程:输入图形名称 → 输...

2020-04-17 18:18:17 6323

空空如也

空空如也

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

TA关注的人

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