自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 如何用栈遍历二叉树

摘自:https://blog.csdn.net/cocoiehl/article/details/80959143   https://bbs.csdn.net/topics/391882020(只是为了方便自己复习)一般我们遍历二叉树的时候用的是递归,用递归实现比较简单,代码如下:/****************基于递归实现后序...

2019-09-17 21:57:00 536

转载 各种排序的时间复杂度

转载自http://blog.chinaunix.net/uid-21457204-id-3060260.html转载于:https://www.cnblogs.com/myhnb/p/11515238.html

2019-09-12 21:16:00 154

转载 DP,数论————洛谷P4317 花神的数论题(求1~n二进制中1的个数和)

玄学代码(是洛谷题解里的一位dalao小粉兔写的)//数位DP(二进制)计算出f[i]为恰好有i个的方案数。//答案为∏(i^f[i]),快速幂解决。#include<bits/stdc++.h>using namespace std;#define ll long longconst int mod=10000007;ll n,ans=1...

2019-08-17 08:04:00 292

转载 DP————最小覆盖问题

原题:https://www.luogu.org/problem/P2279题解转载自:https://www.luogu.org/blog/contributation/solution-p2279思路找最低没被覆盖到的点,并在它的祖父处设一个消防站。考虑到这个点的所有子孙后代都已经被覆盖了,因此这时覆盖祖父能盖到更多额外的点,并保证结果不会更差。很多思路是用...

2019-08-08 22:00:00 206

转载 STL————vector的用法

一、什么是vector?向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组。二、容器特性1.顺序序列顺序容器中的元素按照严格的线性顺序排序。可以通过元素在序列中的位置访问对应的元素。2.动态数组支持对序列中的任意元...

2019-08-07 21:48:00 65

转载 DFS,DP————N皇后问题

C++代码#include <iostream>using namespace std;const int N=20;int n;char g[N][N];bool col[N],dg[N],udg[N];void dfs(int u){ if (u==n){ for(int i=0;i<n;i++)p...

2019-08-05 21:50:00 222

转载 DP经典问题—————(LCIS)最长公共上升子序列

这道题是LIS(最长上升子序列)与LCS(最长公共子序列)问题的综合版本,有关这两个问题可以看一下我的文章:https://www.cnblogs.com/myhnb/p/11305551.html把这两个问题的解法结合,不难想到以下方法C++代码#include<bits/stdc++.h>using namespace std;con...

2019-08-05 21:12:00 582

转载 DP————LIS(最长上升子序列)和LCS(最长公共子序列)问题

LIS问题https://www.acwing.com/problem/content/898/思路:首先数组a中存输入的数(原本的数),开辟一个数组f用来存结果,最终数组f的长度就是最终的答案;假如数组f现在存了数,当到了数组a的第i个位置时,首先判断a[i] > f[cnt] ? 若是大于则直接将这个数添加到数组f中,即f[++cnt] = a[i];这个操作时显然...

2019-08-05 21:07:00 140

转载 数论问题算法模板

1. 欧几里得算法求两个正整数的最大公约数,时间复杂度 O(logn)O(logn)。C++ 代码int gcd(int a, int b){ return b ? gcd(b, a % b) : a;}2. 扩展欧几里得算法裴蜀定理:若 a,ba,b 是整数,且 (a,b)=d(a,b)=d,那么对于任意的整数 x,y,ax+byx,y,ax...

2019-08-05 20:38:00 70

转载 图论————拓扑排序

拓扑排序是一个非常重要的知识点,不只是在图论上会应用到,在其他地方也会涉及。一.定义对一个有向无环图(Directed Acyclic Graph, DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若<u,v> ∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)...

2019-08-05 07:49:00 176

转载 状态压缩DP:蒙德里安的梦想

代码#include<bits/stdc++.h> using namespace std;int n,m;long long f[12][1<<11];bool yy[1<<11];int main(){ while(cin>>n>>m&&n){ for(int i=0...

2019-07-27 09:26:00 208

转载 差分+贪心:IncDec序列

原题题目描述给定一个长度为 n 的数列 a1,a2,…,ana1,a2,…,an,每次可以选择一个区间 [l,r][l,r],使下标在这个区间内的数都加一或者都减一。求至少需要多少次操作才能使数列中的所有数都一样,并求出在保证最少次数的前提下,最终得到的数列可能有多少种。输入格式第一行输入正整数n。接下来n行,每行输入一个整数,第i+1行的整数代表ai。输出格式第一行...

2019-07-26 08:11:00 148

转载 三目运算符

对于条件表达式b ? x : y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。一个条件表达式绝不会既计算x,又计算y。条件运算符是右结合的,也就是说,从右向左分组计算。例如,a ? b : c ? d : e将按a ? b : (c ? d : e)执行。<表达式1> ? <表达式2> :...

2019-07-25 16:19:00 107

转载 贪心+高精度:国王游戏

恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏。首先,他让每个大臣在左、右手上面分别写下一个整数,国王自己也在左、右手上各写一个整数。然后,让这 n 位大臣排成一排,国王站在队伍的最前面。排好队后,所有的大臣都会获得国王奖赏的若干金币,每位大臣获得的金币数分别是:排在该大臣前面的所有人的左手上的数的乘积除以他自己右手上的数,然后向下取整得到的结果。国王不希...

2019-07-25 16:03:00 915

转载 图论——最小生成树:Prim算法及优化、Kruskal算法,及时间复杂度比较

转载自——》https://www.cnblogs.com/ninedream/p/11203704.html最小生成树:  一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。简单来说就是有且仅有n个点n-1条边的连通图。  而最小生成树就是最小权重生成树的简称,即所有边的权值之和最小的生成树。...

2019-07-25 15:46:00 7888

转载 图论——Floyd算法拓展及其动规本质

转载自——》https://www.cnblogs.com/ninedream/p/11203285.html一、Floyd算法本质  首先,关于Floyd算法:  Floyd-Warshall算法是一种在具有正或负边缘权重(但没有负周期)的加权图中找到最短路径的算法。算法的单个执行将找到所有顶点对之间的最短路径的长度(加权)。  通俗一点说,Floyd就是可以用于求解多...

2019-07-25 15:40:00 209

转载 图论——最短路:Floyd,Dijkstra,Bellman-Ford,SPFA算法及最小环问题

转载自——》https://www.cnblogs.com/ninedream/p/11186049.html一.Floyd算法  用于计算任意两个节点之间的最短路径。 参考了five20的博客 Floyd算法的基本思想如下:从任意节点A到任意节点B的最短路径不外乎2种可能,1是直接从A到B,2是从A经过若干个节点到B,所以,我们假设d...

2019-07-25 15:38:00 476

转载 贪心+DFS:引水入城

。。。我觉得这道题放在贪心里应该不为过原文:https://blog.csdn.net/qq_41513352/article/details/80726030题目测评请点击——》https://www.acwing.com/problem/content/499/。。。图片自行放大。。。题解:最开始的思路是全排列+搜索,预估30分。正解是搜索+DP,先...

2019-07-25 14:54:00 80

转载 贪心:畜栏预定

有N头牛在畜栏中吃草。每个畜栏在同一时间段只能提供给一头牛吃草,所以可能会需要多个畜栏。给定N头牛和每头牛开始吃草的时间A以及结束吃草的时间B,每头牛在[A,B]这一时间段内都会一直吃草。当两头牛的吃草区间存在交集时(包括端点),这两头牛不能被安排在同一个畜栏吃草。求需要的最小畜栏数目和每头牛对应的畜栏方案。输入格式第1行:输入一个整数N。第2...

2019-07-25 13:33:00 306

转载 区间问题

区间问题的主要思想就是贪心重点是先将区间按左(右)边界排序,如何分辨要用左边界还是右边界就是一个大问题区间合并原题#include<bits/stdc++.h>using namespace std;const int N=1e5+10;int n;pair<int,int> q[N];int main(){ st...

2019-07-25 13:27:00 166

转载 离散化

离散化是把无穷大集合中的若干个元素映射为有限集合以便于统计的方法。若已知a数组,我们要做的就是把它排序并去掉重复的数值,得到有序数组b[1]~b[m],在b数组的下标i与数值b[i]之间建立映射关系。步骤1.将所有需要离散化的数据(如下面例子中的下标)放到一个容器中(以下使用vector,当然可以用数组代替);2.排序,去重(可以手写,也可以用STL的alg...

2019-07-25 07:39:00 90

转载 差分

二分的核心思想是建立一个数组,已有的数组为该树组的前缀和。它可以提供的便利就是好烦不想说 能将原序列上的区间操作转化为差分序列上的单点操作,降低求解难度。一维原题#include<bits/stdc++.h>#define f(i,a,b) for(int i=a;i<=b;i++)#define M 100010using names...

2019-07-25 07:15:00 731

空空如也

空空如也

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

TA关注的人

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