自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

繁凡さん的博客

「无他,唯手熟尔」人生亦繁亦不凡!

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

原创 算法竞赛知识合集 目录(博客中转站)
原力计划

《算法竞赛进阶指南》,跟着我学完这本书,你即可获得NOIP500分以上的能力或者得到ACM-ICPC金牌爷的实力!

2020-04-18 18:45:22 1684 2

原创 《数据结构》C语言版(严蔚敏版) 全书知识梳理 + 练习习题详解(超详细清晰易懂)
原力计划

《数据结构》知识梳理,适合考前复习,高分冲刺。包含大量习题,偷偷告诉你,考试就考这个

2020-04-15 12:09:39 11366 11

原创 ACM模板(满注释模板!)
原力计划

ACM模板,不同于其他大佬的是我这个模板是满注释的!哪怕是小白的你考场上都能快速上手算法,每一句都有注释帮你快速理解,方便对模板根据题意的修改

2020-04-13 22:00:52 7767 7

原创 数据结构(C语言版) 第二章 线性表 知识梳理+作业习题详解
原力计划

单链表顺序存储结构单链表强调元素在逻辑上紧密相邻,所以首先想到用数组存储。但是普通数组有着无法克服的容量限制,在不知道输入有多少的情况下,很难确定出一个合适的容量。对此,一个较好的解决方案就是使用动态数组。首先用malloc申请一块拥有指定初始容量的内存,这块内存用作存储单链表元素,当录入的内容不断增加,以至于超出了初始容量时,就用calloc扩展内存容量,这样就做到了既不浪费内存,又可以让单链...

2020-04-29 11:03:15 3535 2

原创 0x07.基本算法 — 贪心
原力计划

贪心贪心是一种在每一次决策时都采用当前意义下最优策略的算法,因此,使用贪心算法要求问题的整体最优性可以由局部最优性导出。贪心算法的正确性需要证明,常见的证明手段有:微扰(邻项交换) 证明在任意局面下,任何对局部最优策略的微小改变都会造成整体结果变差,经常用于以排序为贪心策略的证明。范围缩放 证明任何对局部最优策略作用范围的扩展都不会造成整体结果变差。决策包容性证明在任意局面下,做出局...

2020-04-28 10:39:05 435

原创 你见过哪些意想不到的bug ?(常见代码使用误区,下次一定还犯)
原力计划

目录一、memset函数的使用细节导致的WA二、long long的锅引发的MLE三、queue里的坑让我RE我见过哪些意想不到的bug?这里主要指的是我用C++打比赛刷题时遇见的bug,但我感觉工程上可能也会碰见。像我这种蒟蒻的ACMer(ICPCer ?)打比赛经常出现神奇的bug,找了半个小时都找不到,果然之前有人跟我说debug还不如重新敲 。但是一般的bug直接用小黄鸭debug大...

2020-04-27 09:21:49 316

原创 C++ map详细介绍
原力计划

map在STL的头文件中<map>中定义了模版类map和multimap,用有序二叉树表存储类型为pair<const Key, T>的元素对序列。序列中的元素以const Key部分作为标识,map中所有元素的Key值必须是唯一的,multimap则允许有重复的Key值。可以将map看作是由Key标识元素的元素集合,这类容器也被称为“关联容器”,可以通过一个Key值来...

2020-04-26 16:32:47 526

原创 0x06.基本算法 — 倍增
原力计划

目录一、倍增0.例题引入1.AcWing 109.Genius ACM(归并+倍增)二、ST算法2.luogu P3865 【模板】ST表声明:本系列博客是《算法竞赛进阶指南》+《算法竞赛入门经典》+《挑战程序设计竞赛》的学习笔记,主要是因为我三本都买了 按照《算法竞赛进阶指南》的目录顺序学习,包含书中的部分重要知识点、例题答案及我个人的学习心得和对该算法的补充拓展,仅用于学习交流和复习,无任...

2020-04-24 22:45:06 305

原创 0x04.基本算法 — 二分和三分
原力计划

目录二分1.整数域上的二分2.实数域上的二分声明:本系列博客是《算法竞赛进阶指南》+《算法竞赛入门经典》+《挑战程序设计竞赛》的学习笔记的目录,主要是因为我三本都买了 按照《算法竞赛进阶指南》的目录顺序学习,包含《算法竞赛进阶指南》的重要知识点、例题答案及我个人的学习心得和对该算法的补充拓展,仅用于学习交流。博客的内容大多都来源于《算法竞赛进阶指南》和网络(习题和代码可都是我自己敲哒) ,如果...

2020-04-23 12:37:00 313 1

原创 0x03.基本算法 — 前缀和与差分
原力计划

目录一、前缀和二、二维前缀和(1)二维前缀和(2)二维前缀和的修改和求和0. NOI 2003激光炸弹(二维前缀和)1.牛妹吃豆子(二维前缀和模板,修改+求和)三、差分本文是《算法竞赛进阶指南》+《算法竞赛入门经典》+《挑战程序设计竞赛》的学习笔记,主要是因为我三本都买了 按照《算法竞赛进阶指南》的目录顺序学习,至少包含《算法竞赛进阶指南》的每一节的重要知识点和全套例题答案,和《算法竞赛入门经典...

2020-04-20 22:05:37 398 1

原创 0x02.基本算法 — 递推与递归
原力计划

目录递推与递归分治模拟计算机实现递归相应习题:0.AcWing 92. 递归实现指数型枚举(递归/循环+位运算)1.AcWing 93. 递归实现组合型枚举2.AcWing 94. 递归实现排列型枚举 (全排列)3.AcWing 95. 费解的开关4.奇怪的汉诺塔 (n盘3柱)4.1奇怪的汉诺塔++(n盘m柱)5.POJ 1845 Sumdiv(AcWing 97. 约数之和)(数论)(分治)6....

2020-04-19 19:29:11 686

原创 牛妹吃豆子(二维前缀和模板,修改+求和)

调了半天忘了要求两次前缀和了。先对前缀和数组进行修改,第一次求前缀和得到的是修改后的原矩阵,再求一次前缀和得到二维前缀和,然后根据容斥定理求区间的二维前缀和即可#include<iostream>#include<stdio.h>#include<string.h>#include<algorithm>#include<que...

2020-04-18 22:43:57 99

原创 0x01.基本算法 — 位运算
原力计划

《算法竞赛进阶指南》学习笔记EX 1:Acwing 89. a^bAcwing 89. a^b快速幂模板,背就完了注意 res=1以及return res%q#include<bits/stdc++.h>#define ls (p<<1)#define rs (p<<1|1)//#define mid (l+r)/2#define over...

2020-04-18 18:42:34 1058 3

原创 【牛客每日一题】4.16 逆序对 ( 数学 , 排列组合 ,快速幂 , 快速乘 )

【每日一题】逆序对链接:https://ac.nowcoder.com/acm/problem/14731来源:牛客网题目描述求所有长度为n的01串中满足如下条件的二元组个数: 设第i位和第j位分别位ai和aj(i<j)ai 和 aj(i<j)ai和aj(i<j),则ai=1,aj=0a_i=1,a_j=0ai​=1,aj​=0。 答案对1e9+7取模。输入描述:输入...

2020-04-16 22:42:43 110

原创 牛客算法周周练2 B Music Problem(DP,抽屉原理,二进制拆分)

链接:https://ac.nowcoder.com/acm/contest/5203/B来源:牛客网题目描述Listening to the music is relax, but for obsessive(强迫症), it may be unbearable. HH is an obsessive, he only start to listen to music at 12:00...

2020-04-16 20:33:45 95

转载 C++ bitset 用法详解

C++的 bitset 在 bitset 头文件中,它是一种类似数组的结构,它的每一个元素只能是0或1,每个元素仅用1bit空间。一般来说bitset会让你的算法复杂度 /32下面是具体用法构造函数bitset常用构造函数有四种,如下bitset<4> bitset1;  //无参构造,长度为4,默认每一位为0bitset<8> bitset2(12);  /...

2020-04-16 18:08:29 524

原创 P1843 奶牛晒衣服(贪心)

P1843 奶牛晒衣服直接贪心…#include<iostream>#include<stdio.h>#include<string.h>#include<algorithm>#include<queue>#include<cstring>#include<cmath>#include<v...

2020-04-16 17:18:54 130

原创 P2759 奇怪的函数(二分答案,数学运算)

P2759 奇怪的函数范围2e92e92e9,直接枚举肯定超时,正着直接求答案求不出来,那么运用逆向思维,直接二分答案判断即可。这道题涉及简单的数学运算。要xx>=nx^x>=nxx>=n位数,而n位数==10n−1==10^{n-1}==10n−1,所以问题转换为二分答案,查找x使得xx>=10n−1x^x>=10^{n-1}xx>=10n−1,两边取l...

2020-04-16 17:06:24 141

原创 【牛客每日一题】4.15 Treepath 题解(树上dfs/树形DP)

题目链接:https://ac.nowcoder.com/acm/problem/14248来源:牛客网题目描述给定一棵n个点的树,问其中有多少条长度为偶数的路径。路径的长度为经过的边的条数。x到y与y到x被视为同一条路径。路径的起点与终点不能相同。输入描述:第一行一个数n表示点的个数;接下来n-1行,每行两个整数x,y表示边;保证输入数据形成一棵树;1<=n<=100000...

2020-04-15 23:25:41 156

原创 洛谷专题训练 ——【算法1-1】模拟与高精度
原力计划

洛谷题单【算法1-1】模拟与高精度ACM-ICPC在线模板题单链接:【算法1-1】模拟与高精度下面的这一坨都是洛谷题单上的东东题单简介恭喜大家完成了第一部分语言入门,相信大家已经可以使用 C++ 写出一些简单程序了。各位读者有听说过“建模”一词吗?所谓“建模”,就是把事物进行抽象,根据实际问题来建立对应的数学模型。“抽象”并不意味着晦涩难懂;相反,它提供了大量的便利。计算机很难直接去...

2020-04-15 22:20:54 245

原创 模板 — 高精度计算

ACM在线模板一套重载运算符的高精模板#include<iostream>#include<string>#include<cstring>#include<cstdio>using namespace std;const int N = 1005;struct bign{ int len,s[N]; bign() ...

2020-04-15 21:27:25 215

原创 数据结构(C语言版) 第一章 绪论 知识梳理 + 作业习题详解

数据结构(C语言版) 第1章 绪论事先声明,本博客的大部分内容都来自《数据结构》(C语言版)—严蔚敏数据(data)是对客观事物的符号表示。在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。数据元素(data element)是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。数据对象(data object)是性质相同的数据元素的集合,是数据的一个子集。...

2020-04-15 16:47:41 3632

转载 时间复杂度,O(1), O(n), O(logn), O(nlogn) 的区别+样例分析

在描述算法复杂度时,经常用到O(1),O(n),O(logn),O(nlogn)O(1), O(n), O(logn), O(nlogn)O(1),O(n),O(logn),O(nlogn)来表示对应复杂度程度, 不过目前大家默认也通过这几个方式表示空间复杂度 。那么,O(1),O(n),O(logn),O(nlogn)O(1), O(n), O(logn), O(nlogn)O(1),O(n)...

2020-04-15 12:02:43 1214

原创 【牛客每日一题】 4.13 Xorto(前缀异或和,枚举优化/映射)

链接:https://ac.nowcoder.com/acm/problem/14247来源:牛客网题目描述给定一个长度为n的整数数组,问有多少对互不重叠的非空区间,使得两个区间内的数的异或和为0。输入描述:第一行一个数n表示数组长度;第二行n个整数表示数组;1<=n<=1000,0<=数组元素<100000。1<=n<=1000,0<=数组元素...

2020-04-14 23:30:47 107

原创 完全平方数(打表+二分)

链接:https://ac.nowcoder.com/acm/contest/5203/C来源:牛客网完全平方数题目描述多次查询[l,r][l,r][l,r]范围内的完全平方数个数 定义整数x为完全平方数当且仅当可以找到整数y使得y∗y=xy*y=xy∗y=x输入描述:第一行一个数n表示查询次数之后n行每行两个数l,r输出描述:对于每个查询,输出一个数表示答案示例1输入...

2020-04-14 21:44:52 409

原创 小H和游戏(无根树转有根树,思维)难度⭐⭐⭐★

链接:https://ac.nowcoder.com/acm/contest/5203/D来源:牛客网题目描述小H正在玩一个战略类游戏,她可以操纵己方的飞机对敌国的N座城市(编号为1~N)进行轰炸 敌国的城市形成了一棵树,小H会依次进行Q次轰炸,每次会选择一个城市A进行轰炸,和这座城市距离不超过2的城市都会受损(这里距离的定义是两点最短路径上的边数),轰炸结束后,小H还想知道当前城市...

2020-04-14 21:40:26 180

原创 【牛客每日一题】tokitsukaze and Soldier 题目精讲 贪心、优先队列、堆

链接:https://ac.nowcoder.com/acm/problem/50439来源:牛客网ACM在线模板今天才发现牛客推出了一个每日一题的版块,3月25号就开始了,今天才发现,赶紧补救一下。题目描述在一个游戏中,tokitsukazetokitsukazetokitsukaze需要在n个士兵中选出一些士兵组成一个团去打副本。 第i个士兵的战力为v[i]v[i]v[i],团的战力...

2020-04-13 22:02:45 92

原创 牛客练习赛61 C 四个选项(并查集、DP、排列组合)难度⭐⭐⭐

链接:https://ac.nowcoder.com/acm/contest/5026/C时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述众所周知,高考数学中有一个题目是给出12个单项选择,每一个选择的答案是 A,B,C,DA,B,C,DA,B,C,D 中的一个。 网上盛...

2020-04-13 10:19:20 98

原创 最长公共子序列(LCS)问题算法详解+例题(转换成LIS,优化为O(nlogn),看不懂你来打我)
原力计划

目录最长公共子序列(LCS)问题1.朴素做法 O(n2)O(n^2)O(n2)2.转换成LIS优化O(nlogn)O(nlogn)O(nlogn)3.P2758 编辑距离最长公共子序列(LCS)问题给出两个⻓度为n的序列{ai}和{bi}\{a_i\}和\{b_i\}{ai​}和{bi​},求它们的公共子序列的最⻓⻓ 度。 例如两个序列分别为(1,2,4,8,16)(1,2,4,8,16)(1...

2020-04-12 17:29:40 287

原创 最长上升子序列(LIS)/最长不上升子序列问题算法详解+例题(树状数组/二分优化,看不懂你来打我)
原力计划

目录最长上升子序列一、朴素做法O(2n)O(2^n)O(2n)二、优化做法O(nlogn)O(nlogn)O(nlogn)三、例题引入:P1020 导弹拦截(求最长上升子序列和最长不上升子序列)1.朴素做法暴力O(n2)O(n^2)O(n2)2.树状数组优化O(nlogn)O(nlogn)O(nlogn)3.二分优化O(nlogn)O(nlogn)O(nlogn)四、P4309 [TJOI2013...

2020-04-12 13:10:43 490

原创 数据结构和算法动态可视化

数据结构和算法动态可视化 (Chinese)一个很有意思的网站,可以帮助理解算法和数据结构

2020-04-12 11:15:28 140

原创 P3902 递增(LIS+树状数组)

P3902 递增尝试转化成已知的问题 : 如果原问题是非严格单调递增,则直接求出 LISLISLIS的⻓度,从n中减去就行了。注意到这里的aiaiai都是整数,ai<ai+1a_i < a_{i+1}ai​<ai+1​ 相当于ai+1≤ai+1a_i + 1 ≤a_{i+1}ai​+1≤ai+1​,于是a1<a2<⋅⋅⋅<an−1<ana_1 &...

2020-04-11 22:08:07 70

原创 牛客练习赛61 D 最短路变短了(最短路,反向最短路)难度⭐⭐⭐★
原力计划

最短路变短了 链接时间限制:C/C++ 2秒,其他语言4秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format:%lld题目描述给定一个有向带权图,其中包括 n个城市,城市编号从1 到n,有向边的编号从 1 到 m,现在有一个人位于城市1,并且想要到城市n旅游。现在政府正在决定将一条道路反向,这个人想知道在某一指定道路反向的情况到达城市n最短...

2020-04-11 11:09:22 112

原创 牛客练习赛61 E 相似的子串(二分+哈希)难度⭐⭐⭐

相似的子串 链接时间限制:C/C++ 4秒,其他语言8秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述给定一个字符串,要求取出k个位置不相交的子串,且他们之间任意两个的最长公共前缀的长度均不小于x。现在给出k,求最大的x。两个字符串str1,str2的公共前缀为x指str1和str2的长度均不小于x且这两个字符串的前x个字...

2020-04-11 09:33:19 83

原创 幸运数字Ⅱ(树型结构构造答案,打表)难度⭐⭐

幸运数字Ⅱ打表即可,观察数据,是一组简单的二叉树的树形结构,所以引申出这一类的题,比如题目为1,2,3,这三个数,那么就是一个三叉树 0 4 7 44 47 74 77 444 447 474 477 744 747 774 777然...

2020-04-10 18:47:11 112

原创 离散化详解(两种方法)

离散化在一些问题中,我们只关心 n 个数字之间的相对大小关系,而不关心它 们具体是多少。因此,我们可以用一种叫离散化的技术来将数字映射到 1 ∼ n 的整数, 从而降低问题规模,简化运算。通常的实现方法是将所有数字排序,然后再重新遍历一遍所有的数字, 通过二分查找找到它们的 “排名”,然后用排名来代替对应的数字。#include<iostream>#include<st...

2020-04-09 20:30:08 1719 6

原创 P3924 康娜的线段树(マジやばくね)(线段树、期望、前缀和)难度⭐⭐⭐★

P3924 康娜的线段树我觉得挺难的,マ(ma)ジ(ji)や(ya)ば(ba)く(ku)ね(ne)(不得了了)知道康娜的应该都懂题解 P3924 【康娜的线段树】#include<iostream>#include<stdio.h>#include<string.h>#include<algorithm>#include<que...

2020-04-07 17:59:34 98

原创 undefined reference to 'WinMain@16' 的四种情况

undefined reference to ‘WinMain@16’ 意思为提示找不到 WinMain 函数,WinMain是windows程序的入口函数,有几种可能:int main() 写成了 int mian() ,int mani…,即找不到函数。没写主函数main()有可能是找不到一个参数字节总数为16个的XXX函数。建议保存后关闭编译器重开,我的垃圾code::blocks...

2020-04-06 22:24:29 774

原创 【树形DP】树形DP入门详解+例题剖析
原力计划

树形DP树形DP准确的说是一种DP的思想,将DP建立在树状结构的基础上。整体的思路大致就是用树形的结构存储数据。要学树形DP之前肯定是要先学会树和图的呀,至少先学会链式前向星,不会的话可以看一下我之前写的博客链接:【图论】图,实现图(三种方式),二分图 详解树形DP的关键和实现方法是dfsdfsdfs。先找到树根,从树根开始运用 dfsdfsdfs 递归,跟dfsdfsdfs一样先初始化...

2020-04-06 21:50:24 421

原创 【每日DP】day14、P2016 战略游戏(树形DP模板)难度⭐⭐⭐

P2016 战略游戏这道题的城堡是一颗树题中有注意,某个士兵在一个结点上时,与该结点相连的所有边将都可以被了望到。所以定义数组f[i][1/0]f[i][1/0]f[i][1/0]表示的是节点i上放士兵或者不放士兵根据题意,如果当前节点不放置士兵,那么它的子节点必须全部放置士兵,因为要满足士兵可以看到所有的边。所以有 { } { } { } { } { } { } { } { ...

2020-04-06 19:00:17 112

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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