自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (8)
  • 收藏
  • 关注

原创 (2017多校训练第二场)HDU - 6055 & POJ - 2002 Regular polygon 哈希

多校的这道题目因为输入的点的坐标都是整数,所以能够构成的正多边形只能是正方形。所以问题就转化成了求输入的点能够构成多少个正方形。枚举四个点肯定是会超时的,我们可以选择枚举两个点,然后用数学公式求出另外两个点的坐标,然后查找这两个求出来的坐标是不是存在的,如果存在就构成一个正方形。还要注意同一个正方形会被枚举四遍,所以答案要除以4。如何快速的查找一个点是不是存在呢,我们可以采用哈希的

2017-07-31 16:44:07 351

原创 (2017多校训练第二场)HDU - 6047 Maximum Sequence 贪心 + 单调队列

比赛的时候是用线段树写的,赛后看了题解发现还有单调队列这种操作。官方题解:想学习单调队列可以看下这篇博客:点击打开链接代码如下:#include using namespace std;typedef long long int LL;const int MAX_N = 250005;const int MOD = 1e9 + 7;struct Node{

2017-07-29 21:44:47 307

原创 (2017多校训练第二场)HDU - 6050 Funny Function 找规律 + 逆元

题目链接:点击打开链接比赛的时候思路跑偏了,总是纠结于找第一行的每个元素对于答案的贡献,找了一个多小时然后放弃了。暴力打表然后找规律。因为存在除法取模的问题,所以要用到逆元。代码如下:#include using namespace std;typedef long long int LL;const int MAX_N = 1000;const int M

2017-07-29 19:44:32 435

原创 (2017多校训练第一场)HDU - 6035 Colorful Tree 树形dp

这道题目我只能勉强看懂,题解就不写了,下面的博客写的很好。hdu 6035 树形dp代码如下:#include using namespace std;typedef long long int LL;const LL MAX_N = 200005;vector G[MAX_N];LL col[MAX_N];LL vis[MAX_N];LL siz[MAX_N];

2017-07-28 17:41:28 487

原创 (2017多校训练第一场)HDU - 6038 Function 排列分解

如果不知道抽象代数(近世代数)中的排列分解这个知识点,建议去学习一下再来看这道题目。直接看第二个样例吧,按照题目的意思可以得到如下方程。然后进一步可得函数有多少种,其实也就是上面这个方程有多少组解。现在来观察一下这个方程,多么漂亮的形式,是不是很类似抽象代数中的循环排列呢?不就说明了x是一个3阶循环排列中的元素吗!不信的话,来看下面这个3阶循环排列

2017-07-26 15:53:09 371

原创 (2017多校训练第一场)HDU - 6034 Balala Power! 贪心

很容易就想到把每个字母的权重都算出来,然后把权重最大的赋值成25,次大的赋值成24......以此类推。但是字符串长度最大为100000,也就是说一个字母的权重最大是26^100000次方左右,太大了,所以只能用字符串来存储权重。难道用字符串存储十进制的数字吗,那样就太麻烦了,实现起来还要高精度的加法和乘法。索性直接用26进制来存储!26^100000只需要100000位即可。字母

2017-07-26 15:07:03 311

原创 SHU OJ - 415 A序列 最长上升子序列

题目链接:A序列dp1[i]代表以第i个字符结尾的最长上升子序列的长度dp2[i]代表以第i个字符开始的最长下降子序列的长度用nlogn的算法更新这两个dp数组。最后的答案就是max(min(dp1[i], dp2[i]) * 2 - 1) (0 代码如下:#include #include #include #include #include #include

2017-07-12 22:19:11 410

原创 Light OJ - 1422 Halloween Costumes (区间dp)

思路很精巧的一道题目,看了大牛的博客猛然惊醒。我的脑回路仿佛天生和有些题目冲突,不管怎么思考都想不到那个重要的点上去。有时候感觉自己这个方向是对的,就是还差了一点点想不出来而已,但是看了题解之后往往会发现真正的解和我所想相差甚远,基本不在一个次元。在多次的实验中,我发现我的每一次思考都在被上一次影响着,换句话说我见到这道题目的第一印象基本决定了我在这道题上能走多远。虽然总是在努力的思考着,但是

2017-07-08 10:53:13 335

原创 POJ - 1651 Multiplication Puzzle (区间dp)

题目链接:Multiplication Puzzle定义状态dp[i][j]表示将区间[i, j]全部取完所需要的最小代价,答案就是dp[1][n - 2]。状态转移方程为:dp[i][j] = min(dp[i][k - 1] + dp[k + 1][j] + a[i - 1] * a[k] * a[j + 1]) (i 代码如下:#include #include #inc

2017-07-07 14:23:05 302

原创 POJ - 2955 Brackets (区间dp)

题目链接:Brackets定义状态dp[i][j]表示i到j这段区间内最长括号序列的长度。根据题目信息,最长括号长度有两种方式得到。1、如果s[i]和s[j]匹配的话,dp[i][j] = max(dp[i][j], dp[i + 1][j - 1] + 2)2、否则枚举中点k,[i, j]内的最长括号序列是由[i, k]和[k + 1, j]拼接而成,dp[i][j] = max

2017-07-06 20:09:13 254

原创 ZOJ - 3735 Cake(凸包,区间dp,最优三角剖分)

对着kuangbin博客开始刷区间dp!按照题目的要求先用Graham扫描法求出凸包,如果凸包上点的数目正好等于输入点的数目,也就说明输入的点恰好构成凸包,否则输出“I can't cut.”。求出凸包后,注意到这是一个环,所以只要把环剪开,就可以用区间dp做了。定义状态dp[i][j]表示i到j这段区间内最优三角剖分的代价,注意此时i和j之间已经有边了。所以状态转移方程为:dp[

2017-07-06 18:20:48 401

转载 凸包初学整合

凸包初学整合2017-04-13 00:16 141人阅读 评论(0)收藏举报分类: *******计算几何*******(17) 作者同类文章X版权声明:ACM小白成长之路,我想做那种所有人都能看懂的博客,想让我的博客成为acm新手的最好伙伴~让我的博客就像大神ACdreamer那样可以给别人带去知识

2017-07-06 13:41:51 445

原创 SPOJ - BALNUM Balanced Numbers 数位dp+状态压缩

1、状态压缩,用一个10位的3进制数字来表示0~9的状态,0表示未出现过,1表示出现奇数次,2表示出现偶数次。2、输出时不要用I64d。#include #include #include #include #include #include #include using namespace std;typedef long long int LL;LL dp[20]

2017-07-05 18:48:41 370

原创 HDU - 4352 XHXJ's LIS 数位dp+离散化

题目链接:XHXJ's LIS初看这道题目首先回忆起LIS的O(nlogn)的做法,于是想到定义状态dp[pos][LIS*][k],pos代表当前数位,LIS*代表由前缀构造的LIS数组,k代表最长上升子序列的长度。问题来了,一个数组肯定不能作为下标,所以我们要把这个数组转化成数字。注意到数组的每个元素取值范围都是0~9,数组的长度最大为10,所以一个最简单的想法就是把数组转化成一个

2017-07-05 17:19:21 429

原创 HDU - 3709 Balanced Number 数位dp

题目链接:Balanced Number枚举中心轴,然后dfs即可。很容易就想到定义状态为dp[pos][pivot][left][right],pos为当前数位,pivot为中心轴,left为中心轴左边的权值和,right为中心轴右边的权值和。临界条件判断left是否等于right。我们知道左右两边的权值和最大值大约是1500,这样一来空间复杂度就变成了18 * 18 * 1500

2017-07-04 23:06:33 283

原创 POJ - 3252 Round Numbers 数位dp

定义状态dp[pos][zero][one],pos为当前数位,zero为前缀中0的个数,one为前缀中1的个数。注意前导0!假如要计算小于等于12的Round Number个数,12的长度为4,在dfs到3的时候,路径上的数字依次为0011,0的个数大于1的个数,所以3是符合条件的。真的对吗?实际上前两个0都是前导0,去掉前导0之后,就发现3其实是不合法的了。所以dfs的时候,维护一

2017-07-04 15:04:58 547

原创 CodeForces - 55D Beautiful numbers 数位dp+离散化

题目链接:Beautiful numbers很容易想到定义状态为dp[pos][sum][lcm]

2017-07-04 13:15:55 453

SDK:对话框,光标,字符串,位图,应用图标,语言

SDK:对话框,光标,字符串,位图,应用图标,语言

2017-06-10

代码:lab04.zip

lab04.zip

2017-06-09

pytesser_v0.0.1

OCR模块使用示例代码

2017-06-09

tesseract-ocr模块

tesseract-ocr模块

2017-06-09

pytesser_v0.0.1.zip

pytesser模块的使用示例代码

2017-06-09

SDK源代码exe文件

这是博客中代码的exe文件。因为源程序文件中资源种类太多,所以直接打包成exe。

2017-04-20

SDK程序源代码

SDK程序源代码

2017-04-17

N皇后解法总结

N皇后解法总结

2017-03-29

空空如也

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

TA关注的人

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