自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Reference Counting(引用计数)

数据成员包括数组涉及到深复制与浅复制提高深复制效率——引用计数data* + recount拷贝构造函数 共享指针,recount+1赋值构造函数 recount-1 至0 delete,共享指针,recount+1析构函数 recount-1 至0 delete写时复制 “和其他对象共享一份数据实体,直到必须对自己拥有的那份实值进行写操作”重载non-const []运算符 检查...

2018-12-10 04:18:35 527

原创 Jump Game II(另类BFS)

Given an array of non-negative integers, you are initially positioned at the first index of the array.Each element in the array represents your maximum jump length at that position.Your goal is to reac

2017-09-28 23:29:13 259

原创 文章标题

11. Container With Most Water Given n non-negative integers a1, a2, …, an, where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of line i is at (

2017-09-27 20:36:10 277

原创 Pascal's Triangle

一公式为C(n,m)*(n-m+1)/m=C(n,m+1),但具有大整数会溢出,另方面整数相除取余不精也需考虑,因此换用简单法 (题目要求space O(n))class Solution {public: vector<int> getRow(int rowIndex) { vector<int> vi(rowIndex + 1); vi[0] = 1;

2017-09-27 00:50:07 179

原创 C++

ya,today I’ve seen an interesting question at leetcode.And remind me of the ignored functions..reverse() and swap() for a matrix quiz.

2017-09-26 23:44:37 158

原创 Power Calculus UVA - 1374(IDA* 状态空间搜索)

#include<cstdio>#include<cstring>using namespace std;int n, a[14]; //注意选择设定的状态bool dfs(int d, int maxd){ if (a[d] == n) return true; if (d == maxd) //若当d达到maxd然而仍然达不到目标状态,则退出并返回错//

2017-04-28 08:38:33 289

原创 The Rotation Game UVA - 1343(IDA* 状态空间搜索)

#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int line[8][7] = // lines E~H are computed with the help of rev[] //用一系列“指针”将一维数组构造为特殊形态数据结构储存数据//修改时通过存储的特殊形态“指针”查询一维数组修改其

2017-04-27 21:47:23 306

原创 Zombie's Treasure Chest UVA - 12325(枚举)

贪心不可用#include<cstdio>#include<cmath>#include<algorithm>using namespace std;typedef long long LL;int main(){ int T, kase = 0; scanf("%d", &T); while (T--) { int n, s1, v1,

2017-04-27 14:49:26 260

原创 Editing a Book UVA - 11212(IDA*)

#include<cstdio>#include<cstring>using namespace std;int s[10];//状态空间搜索int n;int h() //后续不正确排列数字个数{ int cnt = 0; for (int i = 0; i < n - 1; i++) if (s[i] + 1 != s[i + 1])

2017-04-27 13:35:48 607

原创 The Morning after Halloween(POJ - 3523)(状态空间搜索)

给出w*h的网格,相当于迷宫,有大写字母和小写字母,算出小写字母走到大写字母状态时的最少步数。另有双向搜索解和A*解#include<cstdio>#include<queue>#include<cstring>//#include<vector>#include<cctype>using namespace std;const int maxs = 20, maxn = 150;//

2017-04-27 11:09:38 360

原创 UVA1354 (枚举二叉树)

给出房间的宽度,以及n个重物的重量,每个杆的长度为1,要求如图放置的宽度尽量宽但又不超过房间的宽度。输出保留10为小数即可。枚举二叉树 需用第九章的枚举子集高速算法重做一遍#include<cstdio>#include<vector>#include<algorithm>#include<cstring>using namespace std;const int maxn = 6;in

2017-04-26 19:36:36 692

原创 UVA140

#include<cstdio>#include<vector>#include<cstring>#include<map>//#include<sstream>using namespace std;const int maxn = 9 + 1, INF = 1000;vector<int> G[maxn];map<char, int> ID;map<int, char> ant

2017-04-22 12:22:18 239

原创 《算法经典》——第六章 数据结构

一、STL deque 双端队列 stack 栈的应用——表达式处理如UVa442,多重括号具有的就近原则 (A(BC)) 遇到字母时入栈,遇到右括号时出栈并计算,然后结果入栈二、构造数据结构 链表 可以完成不易用数组实现的移动、删除、添加功能 UVa11988 题目大意:你在输入文章的时候,键盘上的Home键和End键出了问题,会不定时的按下。 给你一段按键的文本,其中’[‘表示

2017-04-17 13:34:52 289

原创 "Accordian" Patience UVA - 127 (数据结构)

Problem 问题 You are to simulate the playing of games of “Accordian” patience, the rules for which are as follows: 模拟玩一个“手风琴”纸牌游戏,规则如下:Deal cards one by one in a row from left to right, not overlappin

2017-04-16 16:14:21 631

原创 快速幂

int pow4(int a,int b){ int r=1,base=a; while(b){ if(b&1) r*=base; base*=base; b>>=1; } return r; }

2017-04-15 18:03:32 169

原创 Spreadsheet Calculator UVA - 215

给出一个R行C列的电子表格,行编号A~T, 列编号0~9,按照行优先的顺序给出各个单元格。每个单元格可能是整数也可能是引用了其他单元格的表达式,表达式仅由加减号、非负整数、单元格名称组成,没有括号,且以单元格名称开头,内部不含空白符,最多75个字符。要求计算出所有单元格的值,如果所有的单元格都能成功计算出结果,那么将这张表格输出来,每个元素6个占字符的宽度,对齐。如果出现单元格循环引用以致无法输出,

2017-04-15 16:13:16 322

原创 A Dicey Problem UVA - 810

DFS TLE 有时间换BFS再做一遍

2017-04-15 12:08:51 257

原创 Inspector's Dilemma UVA - 12118(欧拉回路)

任意两点之间都有连通,要输出经过所有给出的边的最小时间要使经过所有所给边的时间最小,一定不会将一个边走过两次,这样就变成 了构造一个欧拉道路的问题,输入也许有多个连通块,所以每个连通块都要 构造成一个欧拉道路(回路),通过度数统计需要增加的边,再加上连接不同 连通快的边,再加上所给出的边就是答案。#include<iostream>#include<cstring>#include<vec

2017-04-13 17:35:46 279

原创 Patrol Robot (BFS典例)

在m*n的地图上,有障碍物(1)和空地(0),机器人要通过走上下左右四个方向从左上角(1,1)走到右下角(n,m),但不能连续超过k个障碍,要求最短步数。走到同一点,有两种同一步数的走法,但是到达这一点所破除的障碍数量却不同,在这里我们需要选择障碍物更少的,因为很有可能在以后破除障碍能更快到达终点。#include<iostream>#include<queue>#include<cstring

2017-04-13 14:43:11 393

原创 Knight Moves UVA - 439(BFS典例)

给出国际象棋棋盘中的两个点,求马从一个点跳到另一个点的最少步数。#include<iostream>#include<cstdio>#include<queue>#include<cstring>using namespace std;int x, y;char cx, cy;const int maxn = 10;int d[maxn][maxn];int dc[] = { 1,

2017-04-13 10:07:17 253

原创 Abbott's Revenge UVA - 816(BFS典型例题)

#include<iostream> //本题应重复至熟练掌握#include<queue>#include<cmath>#include<string>#include<vector>#include<cstring>#include<cstdio>using namespace std;struct Node{ int r, c; int dir; N

2017-04-12 14:27:16 486

转载 树状数组

http://blog.csdn.net/zearot/article/details/45028723

2017-04-11 06:06:24 245

原创 Uva 1664 Conquer a New Region (Kruskal化用)

该题巧妙的运用了并查集,运用了类似于最小生成树算法的过程 ,通过该题可以对并查集有一个更深的理解 。 题目:由于i和j唯一通路上容量的最小值为该两点的容量,求一个点到其他所有点的容量最大值 。显然题目叙述与MST相似。问题是在合并集合时,中心城市的选择。首先,解决两点的容量问题 ,我们将所有边从大到小排序,然后从大到小枚举,我们假设根结点就是要找的城市中心点,那么当又加入一条边时,该边的两个顶点所在

2017-04-06 12:58:27 399

转载 Risk uva 12264(最大流,二分法,拆点法)

给n个点的无权无向图(n<=100),每个点有一个非负数ai。若ai==0则此点归敌方所有,若ai>0则此点归你且上面有ai个属于你的士兵。保证至少有一个属于你的点与敌方的点相邻。你可以让你的每个士兵最多移动一次,每次可以待在原地或者去到相邻的属于你的领地,但每个点至少要留1各士兵,使得最薄弱的关口尽量坚固。关口是指与敌方点相邻的点,薄弱与坚固分别指兵少与兵多。我参考了这篇博客上的一些讲解。http

2017-04-06 00:38:17 605

转载 二分——最值中的最值

求最大化最小值或者最小化最大值的问题可以用二分法来做。为什么用二分? 以求最大化最小值问题为例。 我们知道二分有一个前提就是对有序的东西才能二分查找。也就是这个问题变量是有序的才能用二分。 在求最大化最小值时,既然求值,那么这个值一定有一个范围。而求最大化最小值时。既然它可以“最大化”,那我们一般可以推到一个”最大值“。既然它可以“最小值”,那我们一般可以推到一个”最小值“。可知最终的这

2017-04-05 21:18:34 445

原创 图论——二分图

定义 任何无回路的的图均是二分图 最大独立数(无向图): 从V个顶点中选出k个点,使得这k个点互不相邻。 那么最大的k就是这个图的最大独立数。 最大团(无向图): 从V个顶点选出k个点,使得这k个点构成一个完全图,即该子图任意两个点都有直接的边。 最小边覆盖(二分图): 在图中找一些边,使之覆盖了图中所有顶点,且任何一个顶点有且只有一条边与之关联。 最小顶点覆盖(二分图): 用最

2017-04-04 16:58:42 1354

原创 网络流应用——图的连通度

问题定义: “连通度是指对应一个图G,对于所有点集U属于V(G),也就是V(G)的子集中,使得G-U要么是一个非连通图,要么就是一个平凡图(即仅包含一个独立点的图),其中最小的集合U的大小就是图G的点连通度,有时候也直接称为图的连通度。 通俗点说,就是一个图G最少要去掉多少个点会变成非连通图或者平凡图。当然对于一个完全图来说Kn来说,它的连通度就是n-1。同理,边连通度就是对于一个非平凡

2017-04-03 09:43:22 2733

原创 Euler Circuit

题意:混合图中找欧拉回路 解:基本原理不变。问题在于“混合”上,对于混合图,思想一般是转化为有向图。问题转化为如何给无向边定向,以与既有有向边共同构成欧拉回路。 首先给予无向边随机方向,再对其方向进行调整。 对于纯有向边,我们需要入度等于出度;对于单个结点也需如此。 因此需要无向边最终方向达到上述效果。 考察一对结点u->v,若对其相应边进行调整(逆向),结果是in(u)+1,out(u)

2017-04-03 09:26:33 232

原创 Matrix Decompressing

题意: 给一个矩阵的每行和每列的和,(给的是前i行或者列的和),矩阵中每个元素的值在1到20之间,找出这样的一个矩阵。 算法: 对于S-Column边,其容量分别设置为相应各列之和,Row-T同理 中间各边容量设置为20 经过最大流求解,中间各边流量即是各元素之解 运用到最大流的“分配”,以及二分图的“对称分配”功能。 优化:解中会由于存在“0”流,不在0~20范围内。为解决此类问

2017-04-01 14:37:15 293

原创 ACM谨记

1.题目的情景中编号总是从1开始,输入数据同样。因此编程时需要小心编号的记法。 2.初始化

2017-04-01 11:59:43 274

原创 网络流解析——最大流EdmondsKarp算法

原理并不复杂,但存在的疑惑主要集中在反向边的引入,以下篇幅作以讲解。 首先假设一不存在TS边的单源有向加权图。 (所谓“TS边”即是指对于任一割,方向为T->S的边) 类似下图(1为S,6为T,边权(容量)均为10) 此时若求解最大流问题(具体命题省略),按照EdmondsKarp算法,作出其残量网络。 为了解释反向边的作用,我们考虑不使用反向边的情况下,所得出的结果。 下图为不包含

2017-03-31 19:02:56 2178

原创 大整数类

#include<iostream>#include<vector>#include<algorithm>using namespace std;struct BigInteger { static const int BASE = 100000000; static const int WIDTH = 8; vector<int> s; BigInteger

2017-03-26 03:39:30 208

原创 反素数

http://blog.csdn.net/ACdreamers/article/details/25049767

2017-03-24 18:07:33 164

原创 Code for Recommender Systems

Two ways to eliminate extra zero onesidx = find(R(i, :)==1) Thetatemp = Theta(idx,:) Ytemp = Y(i,idx) Xgrad(i,:) = (X(i,:)∗ThetaTtemp −Ytemp)∗Thetatemp.R .* M sum(sum(R.*M))function [J, grad] = c

2017-03-13 02:52:55 357

原创 Code for Anomaly Detection

Estimating parameters for a Gaussianfunction [mu sigma2] = estimateGaussian(X)%ESTIMATEGAUSSIAN This function estimates the parameters of a %Gaussian distribution using the data in X% [mu sigma2] =

2017-03-13 01:22:55 415

原创 Anomaly Detection

build a model for the probability of x—p(x) a small threshold— ϵ\epsilon Gaussian(Normal) Distributionx~N(μ,σ2\mu,\sigma^2) p(x; μ,σ2\mu,\sigma^2) Parameter estimationif x(i)x^{(i)}~N(μ,σ2)N(\mu,\s

2017-03-12 18:48:55 302

原创 Machine Learning Application

Photo OCRSlide Windows Two things are recommended: 1.Plot Learning Curves. 2.Get 10x Data Set which actually takes much less time than we expect.Ceiling AnalysisWhen there’s a pipeline with seve

2017-03-12 16:06:12 596

原创 Large Scale Machine Learning

Before learning with large datasets, plot a learning curve with a much small datasets, and to see if it appears to be have high bias.Stochastic Gradient Decent (taking linear regression for example)

2017-03-11 19:02:06 350

原创 Recommander System

recommender system problem formulation—a content based recommendationsNotations Algorithm(with linear regression) featuring learning—Collaborative Filtering (Low rank matrix fractorization)iterati

2017-03-11 16:47:17 311

原创 Code for Machine Learning Diagnostic

Learning curvesfunction [error_train, error_val] = ... learningCurve(X, y, Xval, yval, lambda)%LEARNINGCURVE Generates the train and cross validation set errors needed %to plot a learning curve%

2017-03-11 12:32:21 234

空空如也

空空如也

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

TA关注的人

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