自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 uva 11300

题目大意:分析:因为题目给出的是一个环,我们从第一个位置开始考虑,假设每个位置都要给它左边金币并且接受右边的金币,位置2给位置1金币数为x2,位置2接收的金币为x3,我们将位置2列出等式有:(M为每个位置的目标金币,A2为位置2的原始金币),由上可以列出每个位置的等式:。根据每个位置可以解出n-1个关于x1的等式Xi也可以,因为最后目标是最小化转手金币,则每个位置转移的金币为,最小化这个式子就可以了得出答案。#include <bits/stdc++.h>using ..

2020-05-09 10:17:40 163

原创 uva 11729

题目大意:有n的部下,你可以花费bi时间为第i个人分配任务,第i个人可以通过时间j完成任务,每个人可以同时进行任务,但是不可以同时分配任务,最小化最后完成所有任务的时间分析:可以同时进行任务,如果所有任务都能再安排后然后再下一个任务安排前结束,也就是s[i].b+s[i].j<s[i].b+s[i+1].b,如果是这样我们把完成所需要的时间最小的j放在最后一定是最优,所有我们将j从...

2020-05-07 12:47:27 169

原创 uva 11292

题目大意:有n个头的龙,砍下每个头需要啊a[i]的能量,然后有m个骑士,每个骑士对应b[i]的能量值,雇佣每个骑士花b[i]元,问最少花多少钱砍完n个头?分析:如果一个头需要a[i]能量才能砍掉,那么如果是b[i]<a[i]就不能砍掉,而如果b[i]远远大于a[i]是没有必要的,这样会浪费能量值.#include <bits/stdc++.h>using ...

2020-05-07 11:55:52 191

原创 线段树入门(hdu 1166)点修改+区间求和

HDU1166题意:中文题。。线段树的入门题,线段树是支持一种区间操作的数据结构,时间复杂度能在O(m*logn)时间内完成,m是操作次数,线段树是一种树结构,每次不管是修改单点的值还是求和,只用维护一条简单路劲(从根到叶子节点)能在logn时间内完成,代码中建树过程从下到上建树,更新也是从下到上#include <cstring>#include <string>...

2019-06-20 15:46:01 149

原创 动态规划大总结

背包问题01背包完全背包多重背包混合背包基础dp区间dp四边形不等式优化数位dp斜率dp基础位运算几个基础例题背包问题01背包是最基础的背包问题,也是很重要的背包,所有有关背包的问题都可一转化为01背包。上个poj的例题POJ3624题目大概意思是要在m的容量中求最大价值如果定义二维数组状态转移方程:dp[i][j]=max(dp[i-1][j-w[i...

2019-05-31 11:41:53 155

转载 状压dp

例题:https://blog.csdn.net/accry/article/details/6607703位运算基础:https://blog.csdn.net/u013377068/article/details/81028453

2019-05-25 17:24:34 90

转载 poj 1065

https://blog.csdn.net/u011008379/article/details/50725927http://www.cnblogs.com/fstang/archive/2013/03/31/2991255.htmlhttp://www.hankcs.com/program/cpp/poj-1065-wooden-sticks.html

2019-05-22 17:17:36 147

原创 hdu 4280(最大流ISAP)

http://acm.hdu.edu.cn/showproblem.php?pid=4280模板题裸的最大流,n和m较大,时间卡的紧,要用堆栈加bfs优化#include <cstdio>#include <cstring>#include <queue>#include <vector>#include <algorithm...

2019-05-14 10:59:54 166

原创 poj 1087(最大流)

http://poj.org/problem?id=1087在紫数上这个题是最大流的例题上面有详细解释,读题像在做阅读理解,贴两种LRJ的代码第一种:直接建图跑最大流#include<iostream>#include<map>#include<string>#include<vector>#include<cstring...

2019-05-12 20:51:29 240

原创 poj 3281(拆点+最大流)

http://poj.org/problem?id=3281注意:拆牛的时候左边牛标1右边标2,再左边标3右边标4,不是左边1-n,右边n+1-2*n#include <cstdio>#include <cstring>#include <algorithm>#include <vector>#include <queue&g...

2019-05-12 16:31:04 124

原创 poj 1679(次最小生成树模板)

http://poj.org/problem?id=1679#include <cstring>#include <cstdio>#include <vector>#include <algorithm>using namespace std;int n,m;const int maxn=100+10;const int inf=...

2019-05-11 19:12:05 99

原创 poj 1251(kruskal模板题)

http://poj.org/problem?id=1251scanf会爆栈,不知为啥#include <cstdio>#include <algorithm>#include <iostream>#include <cstring>using namespace std;const int maxn=30+10;int fa...

2019-05-09 11:06:46 111

原创 UVa-10735(Euler CirCuit)

题目链接https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=853&page=show_problem&problem=1676题目大概意思就是给出V个顶点E条边,边可以是有向边也可以是无向边,给定一个混合网络,求一条欧回路紫书上的思路大概意思:将无...

2019-04-16 18:33:19 165

原创 Kdmonds-Karp(增广路算法)和BellmanFord算法

最大流(Kdmonds-Karp)算法#include <iostream>#include <queue>#include <cstring>#include <vector>using namespace std;const int maxn = 1000 + 10;const int inf = 0x3f3f3f3f;st...

2019-04-13 17:47:10 149

原创 例题11-6 这不是bug,而是特性(It's not a Bug, it's a Feature!, UVa 658)(隐式图+最短路+位运算)

题目https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=8&page=show_problem&problem=599分析:翻译补丁在修正bug时,有时也会引入新的bug。假定有n(n≤20)个潜在bug和m(m≤100)个补丁,每个补丁用两个长度为...

2019-04-11 19:09:03 271

原创 紫数八数码问题(bfs+哈希判重)

#define _CRT_SECURE_NO_WARNINGS#include <cstring>#include <cstdio>#include <algorithm>#include <vector>using namespace std;const int maxnstate = 1000000;//最大状态数const in...

2019-03-28 15:55:16 219

原创 筛选区间素数模板(poj2689)

#define _CRT_SECURE_NO_WARNINGS #include &lt;iostream&gt; #include &lt;cstdio&gt; #include &lt;algorithm&gt; #include &lt;cstring&gt; using namespace std; const int maxn = 100000 + 10; int prim...

2019-03-14 21:02:38 172

原创 数据结构和算法分析10.16(计算点对)

存在n个点,如果用穷举所有距离(N(N-1)/2个点对),时间辅助度为O(nlogn)。书上有严格的证明能分治在nlogn的时间界完成。#include &lt;iostream&gt; #include &lt;algorithm&gt; using namespace std; #define MAXN 100 struct Point//点结构体 {     double x...

2019-02-08 16:05:10 94

原创 数据结构和算法分析10.2-a

https://blog.csdn.net/qq_29617037/article/details/51371460这篇文章有详细解释代码:#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; void Sort(int d[], int p[], int n) {     int temp1, temp2;     for (...

2019-02-04 11:47:30 136

原创 SAP和ISAP(网路最大流的两个增广路算法)

ISAP是对SAP进行优化后的算法,ISAP时间复杂度为O(V^2E),SAP的时间复杂度为O(VE^2) SAP#include &lt;iostream&gt; #include &lt;algorithm&gt; #include &lt;iomanip&gt; #include &lt;queue&gt; using namespace std; const int ...

2019-02-02 10:28:33 1890

原创 单纯形算法(线性规划)

在讲单纯形算法前,先讲一讲线性规划线性规划(Linear programming,简称LP)是运筹学中研究较早、发展较快、应用广泛、方法较成熟的一个重要分支,它是辅助人们进行科学管理的一种数学方法。研究线性约束条件下线性目标函数的极值问题的数学理论和方法。英文缩写LP。它是运筹学的一个重要分支,广泛应用于军事作战、经济分析、经营管理和工程技术等方面。为合理地利用有限的人力、物力、财力等资源作出...

2019-02-01 14:19:24 3655 1

原创 0-1背包问题(回溯法)

回溯法是一种搜索技术,运用深搜,走不通就回到上一层,再从上一层找支路进行深搜,不行再回上一层。而直接一个回溯算法的好还程度在于搜索的解空间的大小和剪支函数的好坏。代码中的Bound是一个上界函数,判断做出了第i-1个选择后,1到(i-1)个物品已经确定,剩下的i到n个物品与已近装好的1到i-1个物品能构成的最大价值。代码:#include &lt;iostream&gt; #includ...

2019-01-19 08:46:32 414

原创 最长公共子序列(LCS)

LCS算是动态规划中比较经典的一道题目,很多书上都讲了这个,题目的描述大概就是有两个序列,从两个序列中找到一个序列(这个序列的长度&lt;=两个序列长度的最小值)使得这个序列是开始的两个序列的子序列。这个题如果用穷举法将所有的序列找到,求出最长公共子序列,这种解法的复杂度是O(2^m)。因为是动态规划的经典题目,所有特点很明显。最优子结构(子问题的最优解是原问题的最优解),例如两个字符序列...

2019-01-10 20:13:52 388

原创 2-3树的插入和删除

2-3树是多路查找树中的一种,出现多路查找树,主要是跟内存与磁盘交互有关。内存IO的速度比磁盘IO要快的多的多,但是同样空间大小的内存比硬盘要贵的多的多,像TB级别的数据库不可能全部读出来放到内存中去,太过昂贵,而且也没必要,大部分数据是不经常用的,所以就需要内存与外存互相结合,而如果用平衡二叉树这种数据结构,在大数据量的情况下,树肯定会很高,树高直接决定了查找效率,而同等高的平衡二叉树中存储的信...

2019-01-05 16:23:00 1401

原创 poj1328 雷达安装问题

描述假设滑行是无限直线。土地位于海岸的一侧,海洋位于另一侧。每个小岛都位于海边。并且位于滑行的任何雷达装置只能覆盖d距离,因此如果它们之间的距离最多为d,则可以通过半径装置覆盖海中的岛屿。 我们使用笛卡尔坐标系,定义滑行是x轴。海侧在x轴上方,陆侧在下方。考虑到每个岛屿在海中的位置,并考虑到雷达装置覆盖范围的距离,您的任务是编写一个程序,以找到覆盖所有岛屿的最小数量的雷达装置。注意,岛的位置...

2019-01-04 14:45:22 802

原创 快速排序

快速排序(Quicksort)是对冒泡排序的一种改进。快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。快速排序是一种原址排序算法,且不稳定。时间O(nlogn)#i...

2019-01-02 20:14:49 89

原创 最小生成树(Prim和Kruskal)

Prim:普里姆算法(Prim算法),图论中的一种算法,可在加权连通图里搜索最小生成树。意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点(英语:Vertex (graph theory)),且其所有边的权值之和亦为最小。该算法于1930年由捷克数学家沃伊捷赫·亚尔尼克(英语:Vojtěch Jarník)发现;并在1957年由美国计算机科学家罗伯特·普里姆(英语:Rober...

2018-12-25 11:29:31 257

原创 哈夫曼编码

问题描述:如果我们有一个10万个字符的数据文件。每个字符出现的频率不同,现在我们要用最少的空间存储数据,也就是将这10万个数据进行编码,得到最优编码序列。问题分析:一般的编码有定长编码和不定长编码,如果采用定长编码,如果字符文件一共有6个字符,那么定长编码一个字符的长度为3(二进制编码),10万个字符编码需要30万个字节空间,如果字符文件的字符种类更多,随着字符种类的增加,需要的字节空...

2018-12-25 09:18:42 720

原创 Dijkstra最短路径---贪心

问题描述:从图中的某个顶点出发到达另外一个顶点的所经过的边的权重和最小的一条路径,称为最短路径Dijkstra算法思想:该算法是解决单源最短路径的贪心算法,算法先从顶点集合中找到一个到源点最短路径的顶点,并将其从顶点集合中去掉,然后再从剩下的顶点集合中找到一个次最短距离的顶点,并将其从集合中去点,最后到顶点集合为空时,算法结束,最开始选择离源点最近的点t,将其从集合中去掉,再从集合中选...

2018-12-18 21:37:25 163

原创 高级钟点秘书(会议安排)

问题描述:所谓“钟点秘书”,是指年轻白领女性利用工余时间为客户提供秘书服务,并按钟点收取酬金。“钟点秘书”为客户提供有偿服务的方式一般是:采用电话、电传、上网等“遥控”式服务,或亲自到客户公司处理部分业务。其服务对象主要有三类:一是外地前来考察商务经营、项目投资的商人或政要人员,他们由于初来乍到,急需有经验和熟悉本地情况的秘书帮忙;二是前来开展短暂商务活动,或召开小型资讯发布会的国外客商;三是...

2018-12-18 20:08:19 413

原创 阿里巴巴和四十大盗(背包问题)

问题描述:阿里巴巴闯进了四十大盗的宝藏山洞,山东一共有n种宝物,每种宝物有一定的重量w和相应的价值v,毛驴只能运走m重量的宝物,一种宝物只能拿一样,宝物可以分割,怎样才使价值最大呢?问题分析:要在规定的重量内使得价值最大,则要使得物品的价值重量比最大(性价比),维护一个结构体(包含重量、价值、性价比)。对性价比进行从大到小排序,依性价比从高到底的拿走物品直到下一件物品的重量大于背包还剩...

2018-12-17 20:49:17 1112

原创 加勒比海盗船(最优装载问题)

问题描述:在北美洲东南部,有一片神秘的海域,那里碧海蓝天、阳光明媚,这正是传说中海盗最活跃的加勒比海,这里更是欧洲大陆的商旅舰队到达美洲的必经之地,所以当时的海盗活皇家舰......动非常猖獗,海盗不仅攻击过往商人,甚至攻击英国有一天,海盗们截获了一艘装满各种各样古董的货船,每一件古董都价值连城,一旦打碎就失去了它的价值。虽然海盗船足够大,但载重量为 C,每件古董的重量为 w i ,海盗们该...

2018-12-17 20:14:01 993 1

原创 归并排序(分治思想)

归并排序:归并排序(英语:Merge sort,或mergesort),是创建在归并操作上的一种有效的排序算法。1945年由约翰·冯·诺伊曼首次提出。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用,且各层分治递归可以同时进行。由于归并排序分治出来是一棵二叉树,复杂度T(n)=Θ(nlog(n)),归并排序算法是一种稳定的排序算法。贴上C语言的代码void...

2018-08-21 15:09:30 541

原创 矩阵乘法-strassen算法

 1.矩阵相乘的朴素算法时间复杂度T(n)=Θ(n3),朴素矩阵相乘算法,思想明了,编程实现简单。时间复杂度是Θ(n^3)。伪码如下for i ← 1 to n    do for j ← 1 to n       do c[i][j] ← 0          for k ← 1 to n             do  c[i][j] ← c[i][j] + a[i][...

2018-08-20 20:58:23 5291

空空如也

空空如也

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

TA关注的人

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