自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 第十九章 ALDS1_13_C:15 Puzzle 十六格拼图

知识点 迭代加深:在循环执行深度受限搜索的过程中逐步增加限制值limit,直到找到解为止。 如果当前状态到最终状态的最小成本h加上当前状态深度超过了限制深度d,就可以直接中断搜索。 问题链接ALDS1_13_C:15 Puzzle问题内容 求当前16宫格如何移动成目标的16宫格。 思路 用A*或者IDA* 算法实现 代码IDA*算法#include<iostream> #in

2018-01-05 00:21:23 704

原创 第十九章 ALDS1_13_B:8 Puzzle 九宫格拼图

问题链接ALDS1_13_B:8 Puzzle问题内容 求当前9宫格如何移动成目标的9宫格。 思路 同样使用回溯的方法去做。 代码#include<iostream> #include<cstdio> #include<algorithm> #include<queue> #include<map> #include<string> using namespace std; con

2018-01-04 22:20:05 489

原创 第十九章 ALDS1_13_A:8 Queens Problem 八皇后问题

知识点 八皇后问题比较多解法,这里说的是最简单的回溯解法。 问题链接ALDS1_13_A:8 Queens Problem问题内容 在8*8的国际象棋棋盘里,有k个皇后已经放好了,皇后会将她的这行、这列、左右斜边上的其他棋子攻击,问如何将8个皇后放到8*8的棋盘保证她们互相不攻击。 思路 我们用递归的方式去尝试,在递归完成后若不成功,则恢复原来的状态继续尝试其他的递归。 代码#inclu

2018-01-04 21:54:12 569

原创 第十八章 数论

问题链接 ALDS1_1_C:Prime Numbers 判断n是否是质数 #include #include using namespace std; int isPrime(int x) { if (x 2) return 0; else if (x == 2) return 1; if (x % 2 ==

2018-01-04 21:28:43 323

原创 第十七章 DPL_3_B: Largest Rectangle 最大长方形

问题链接DPL_3_B: Largest Rectangle问题内容 求最大的干净面积。0代表干净,1代表有污渍。和上一不同的是,这个题目面积可以是长方形的。 思路 首先通过以行为直方图,以行为第一遍历,纵向记录每个点当前的最大面积。然后从行向开始动态规划。 利用栈实现。如果栈为空,将当前元素压入栈中。如果栈顶元素的高度(上面一步计算出来的纵向最大面积)小于当前的高度,则压入栈中。如果

2018-01-04 21:27:45 352

原创 网址的url编码解码讲解

问题这是某个网站url的编码,也就是网址所显示的字符。 %E8%AF%84%E8%AE%BA%E7%AE%A1%E7%90%86 原来的内容是 评论管理 原理说明这实际上是url的字符进行encode编码操作,想知道原来的内容是什么则将其decode解码即可。 如评论管理进行encode编码操作变成%E8%AF%84%E8%AE%BA%E7%AE%A1%E7%90%86, %E8%AF%

2018-01-04 17:39:42 1694

原创 二叉堆

参考:二叉堆 堆的定义 堆(heap),这里所说的堆是数据结构中的堆,而不是内存模型中的堆。堆通常是一个可以被看做一棵树,它满足下列性质: [性质一] 堆中任意节点的值总是不大于(不小于)其子节点的值; [性质二] 堆总是一棵完全树。 将任意节点不大于其子节点的堆叫做最小堆或小根堆,而将任意节点不小于其子节点的堆叫做最大堆或大根堆。常见的堆有二叉堆、左倾堆、斜堆、二项堆

2018-01-03 18:26:29 431

原创 jsoup解析html的简单demo

jar包下载jsoup1.10.1文档参考jsoup中文api测试说明 本例使用全球国家名称代码这个网站进行测试,将网站列表中的各国家的“二位字母”的内容获取并打印出来。 代码import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.s

2018-01-02 12:04:33 486

原创 第十七章 DPL_3_A:Largest Square 最大正方形

问题链接DPL_3_A:Largest Square问题内容 在H*W个边长为1cm的正方形瓷砖,0代表瓷砖有污渍,1代表瓷砖干净。求干净的最大正方形。 思路 dp[i][j]代表从瓷砖(i,j)向左上方扩展可形成的最大正方形。 dp[i][j] = min(dp[i-1][j-1],dp[i-1][j],dp[i][j-1]) + 1 代码#include<iostream> #

2018-01-01 16:49:17 389

原创 第十七章 DPL_1_D:Longest Increasing Subsequence 最长递增子序列

问题链接DPL_1_D:Longest Increasing Subsequence问题内容 求序列A的子序列中递增序列最长的长度。 思路 LCS问题,不懂的点这里最长递增子序列 代码#include<iostream> #include<cmath> #include<cstdio> #include<cstring> #include<algorithm> using

2018-01-01 15:48:09 254

原创 第十七章 DPL_1_B:0-1 Knapsack Problem 0-1背包问题

问题链接DPL_1_B:0-1 Knapsack Problem问题内容 求价值为viv_i、重量为wiw_i的N个物品以及容量为W的背包最多能装的最大价值。 思路 基础的01背包问题,不懂的点这里0-1背包 代码#include <iostream> #include <algorithm> #include <cstdio> #include <cstring> using namesp

2018-01-01 15:42:14 322

原创 第十七章 DPL_1_A:Coin Changing Problem 硬币问题

问题链接DPL_1_A:Coin Changing Problem问题内容 对于m个面值不同的硬币,求凑成面值为n最少需要多少个硬币。 思路 这题不是贪心算法范畴内,这是动态规划相关的问题。 状态转移方程式: T[i][j]=min(T[i−1][j],T[i][j−C[i]]+1)T[i][j] = min(T[i-1][j], T[i][j - C[i]] + 1) T

2018-01-01 15:34:24 417

原创 第十六章 CGL_6_A:Segment Intersections: Manhattan Geometry 线段相交问题

知识点 扫描线:将一条与x轴(或y轴)平行的直线向上(向右)平行移动寻找交点的直线。 平面扫描算法: 1、将已输入线段的端点按照y升序排序,添加到表EP 2、将二叉搜索树T置为空 3、按顺序取出EP的端点(相当于让扫描线自下而上移动),进行以下处理 如果取出的端点是垂直线段的上端点,则从T中删除该线段的x坐标 如果取出的端点是垂直线段的下端点,则将该线段的x坐标插入到T 如果取出的端点是垂

2018-01-01 15:07:03 473

原创 第十六章 计算几何模版

模版 #define EPS (1e-10) #define equals(a,b) (fabs((a) - (b)) // 点类 class Point { public : double x, y; Point() {}; Point(double x, double y) :x(x), y(y) {} Point operator + (Poin

2018-01-01 03:02:38 353

空空如也

空空如也

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

TA关注的人

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