自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(228)
  • 资源 (1)
  • 收藏
  • 关注

原创 OpenCL-- 统计给定单词在文本中出现次数

Util.cpp#include "util.h"#include cl_int init (cl_platform_id &platform, cl_device_id &device, cl_context &context, cl_command_queue &queue){ cl_int err = clGetPlatformIDs (1, &platform, NULL);

2015-03-22 15:35:09 631

原创 淘宝抢拍器 chrome extension实现

最近闲着无事就想做个淘宝的抢拍软件,

2014-11-03 11:13:44 11747 3

原创 Notepad++编译运行C++命令

编译普通C++文件命令为:

2014-09-03 15:09:27 3624

转载 Git简明教程

这是一个很不错的Git教程:Git教程,特此mark!这是我的GitHub地址:ivanzjj。刚刚接触Git,望各路大神轻拍

2014-03-25 17:18:42 553

原创 Python实现系统时间自动校正

最近由于台式机CMOS电池没电了,每次开机后系统时间都会被初始化。出于每次都要重新设置系统时间太麻烦的考虑,今天用Python实现了系统开机自动校正时间的程序。大致的思路是:首先产生一个windows service,该service在被启动之后通过urllib获得标准北京时间,并根据标准时间校对系统时间。具体代码如下:#SyncLocaltime.py#-*-coding=gbk-*-i

2013-08-09 22:14:52 2357

原创 Python学习笔记--BeautifulSoup、urllib、threading模块

在开源中国社区中偶然发现了这个:屌丝娱乐(终极版)-->从百度贴吧下载妹子图,于是就按照上面的代码自己改写了一遍。从中主要学习了BeautifulSoup、urllib、threading等三个模块的应用。1、BeautifulSoup模块(简称BS模块):python的html文档解析器python2.7中默认没有安装BS模块,在使用该模块之前,先在BeautifulSoup这里下载安装

2013-08-07 22:55:07 2439

原创 POJ_3415 Common Substrings 后缀数组

题目链接:http://poj.org/problem?id=3415题意:给你两个字符串str0、str1和K,求一共有多少个这样的三元组S{i,j,k}= {(i , j , k) | str0{i...i+k-1} == str1{j..j+k-1} }。思路:题意就是在str0中找一个i,在str1中找一个j,要求他们的最长公共前缀l >= K,这样这组i,j对答案的贡献值就是l

2013-05-02 17:28:54 665

原创 后缀数组

今天学习了后缀数组,有一些心得希望能和大家一起分享!(1)后缀数组的定义:假设有字符串S[0 ..... N-1],并且规定S串中最大的字符不超过M,即M=max{ str[i]| 0N+1个后缀(这是因为我们在S的最后加上了一个最下的字符,所以是N+1个后缀)。我们定义一个数组SA[0 .. N],数组SA的值是对0...N的一个排列,对于任意的i strcmp( substr( S

2013-05-02 11:44:45 668

原创 Manacher算法

Manacher算法是解决求给定字符串中的最长回文串问题的,时间复杂度为O(N)。首先给出一篇很好的文章:A simple linear time algorithm for finding the longest palindrome substring不过上面这篇文章是英文的,对于英文不好的朋友,可以看这里:O(N)回文串算法算法比较容易理解,下面就贴个模板吧,另外还有两个例题

2013-03-25 11:01:21 853

原创 Codeforces Round #175 DIV2 E Positions in Permutations

题目链接题意:对于某个排列p1,p2,...pn,位置i为good position当且仅当| pi - i | = 1,给你一个N,表示排列的元素个数,求满足恰好有K个good  position的排列的个数,对结果Mod 1000000007。 思路:DP。首先很容易就可以想到如下的状态dp,用dp[i][j] 表示前i个位置中正好有j个位置是good position的种数。那么对于

2013-03-22 14:24:50 1093 2

原创 POJ 3468 A Simple Problem with Integers Splay

题目链接:http://poj.org/problem?id=3468思路:这个题目很明显可以用线段树来做,但是这篇文章主要是讲一下Splay的做法。Splay :Splay其实就是一种平衡树,它具有BST的特性,但是因为BST最坏情况下建树复杂度会达到O(n),Splay就是一种建立在BST之上,加入了一些旋转,使得退化成链的BST树的均摊复杂度为O(logn)。Splay最重要的就

2013-03-11 23:01:37 842

原创 HNOI2004 宠物收养所 SBT

题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1208思路:本题可以用线段树或者是SBT树做,用线段树只要找出给定一个数的左极限点和右极限点,然后决策选择哪个点,再用线段树单点更新就可以。 用SBT其实思路和线段树类似。线段树:#include #include #include typedef long long LL

2013-03-11 09:24:40 778

原创 NOI2004 郁闷的出纳员

题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1503题意:给出N中操作,分别是I(往一列数中增加一个数)、A(将数列中的现有数全部加上一个数)、S(将数列中的所有数全部都减去一个数,如果某个数的值小于给定的MIN,这个数就会被彻底地删除)、F(询问数列中现有数中的第K大数)。思路:应用高级数据结构解题,可以用线段树、树状数组、或

2013-03-10 21:50:56 688

原创 AVL树的基本操作 HDU_4006 AVL树解法

题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4006/*AVL树的基本操作,插入、删除、查找,平均时间复杂度为:(logN)*/#include #include #include const int NN = 1000010 ;int N,K ;struct Node{ int height ; //结点

2013-03-09 22:47:51 855

原创 STL中sort、priority_queue、map、set的自定义比较函数

STL中,sort的默认排序为less,也就是说从小到大排序;priority_queue默认是less,也就说大顶堆;map默认是less,也就说用迭代器迭代的时候默认是小的排在前面;set默认是less,也就是说用迭代器迭代的时候是从小到大排序的。1、sort#include #include #include using namespace std;bool comp(co

2013-03-09 21:46:55 4441 1

原创 Eclipse与Tomcat的安装和配置

一、开发环境的配置第一步:下载Eclipse IDE for Java EE Developers、Tomcat7.0和Eclipse的Tomcat插件第二步:配置JDK环境(这个网上随便可以找到,这里不再赘余),然后将Eclipse、Tomcat和Tomcat插件分别解压到本地,然后将Tomcat插件压缩包解压出来的com.sysdeo.eclipse.tomcat文件夹拷贝到Eclip

2013-02-26 15:50:26 738

原创 Java I/O总结

(1)Java输入输出流Java的输入输出通过流的形式来体现,流的分类主要有输入流和输出流两种。输入流主要有InputStream和Reader作为基类,输出流主要有OutputStream和Writer作为基类。(2)字节流和字符流字节流:(不通过缓冲直接读出或写入)  从InputStream和OutputStream派生出来的一系列类。这类流以字节(byte)为基本处理单位。

2013-01-17 20:52:24 495

转载 Keil C51 vs 标准C [原]

以下内容转载自:奋力呼吸深入理解并应用C51对标准ANSIC的扩展是学习C51的关键之一。因为大多数扩展功能都是直接针对8051系列CPU硬件的。大致有以下8类:     8051存储类型及存储区域 , 存储模式 , 存储器类型声明 , 变量类型声明 , 位变量与位寻址 ,特殊功能寄存器(SFR) ,C51指针     l 函数属性     具体说明如下(8031为缺省

2012-12-28 13:32:49 1770 1

原创 未完

期待未完..... 待续?!

2012-12-24 22:15:59 399

原创 Picnic Planning 最小度限制生成树

http://poj.org/problem?id=1639题意:给你一个N个点的图,限制其中一个点的度数必须要小于等于K,求满足条件的最小生成树。思路:对于那个限制点因为比较特殊,我们可以先求出不包括限制点的最小生成森林,这样除了限制点之外,整个图就会形成一个生成森林,假设森林的个数是v0个,那么由生成树的性质可以得出,限制点的度数应该至少为v0,接下去每次添加一条边(增加限制点

2012-09-28 13:46:55 713

原创 HDU_4126 Genghis Khan the Conqueror 最小生成树

http://acm.hdu.edu.cn/showproblem.php?pid=4126题意:一个N个点的无向图,先生成一棵最小生成树,然后给你Q次询问,每次询问都是a,b,c的形式, 表示的意思是在原图中将a,b之间的边增大到c时,此时最小生成数的值是多少。最后求Q次询问最小生成树的平均值。 N=10000思路:对于每次询问, 都是将a,b之间的边增加到c,如果边权增加的那条

2012-09-05 15:23:22 929

原创 HDU_4125 Moles 线段树

http://acm.hdu.edu.cn/showproblem.php?pid=4125题意:给你N个数字,先按照给数的顺序建一棵二叉查找树,然后按中序遍历树的结点,并记录访问结点的奇偶顺序,这样就会得到一个序列,再给你一个0,1序列,现在要你求给出的序列在遍历出来的序列中出现的次数,序列允许相互覆盖。思路:暴力建树如果二叉树退化成一个树链的话,时间复杂度就会变成O(N^2),

2012-09-04 21:39:54 975

原创 HDU_3910 Liang Guo Sha

http://acm.hdu.edu.cn/showproblem.php?pid=3910题意:这个题目看了网上的好多题意说明,感觉和我理解的都有一些小小的出入,也不知道是我理解错了还是没有理解他们的意思, 下面我就说下我的理解吧,首先我们假设Alice出1的概率是x,Bob出1的概率是y,我们用EA(x,y)表示Alice在两者出1的概率分别为x和y的期望得分,那么我们很容易可以推出下

2012-08-31 10:21:26 827

原创 SPOJ_1329 KPMATRIX

http://www.spoj.pl/problems/KPMATRIX/题意:给你一个N*M的矩阵,N,M=A && 思路:首先我们枚举子矩阵的上下边,复杂度为O(n ^ 2), 然后我们处理出前缀和sum[x] , 当我们在找以x为子矩阵的右边界的子矩阵的时候,就是要找有多少个i,使得 Asum[x] - B <= sum[i] 代码:#include #incl

2012-08-31 09:28:07 817

原创 FZU_1017 Playing with Calculator

http://acm.fzu.edu.cn/problem.php?pid=1017题意:给你一个K,要你求一个n, k使得k个n组成的数正好能被K整除,要求首先考虑最小的n,然后考虑最短的k。思路:这个题和HDU_2462相似。首先我们可以这样考虑,对于一个由k个n组成的数字,我们不能直接去枚举n和k,那样显然会超时(因为有可能存在不存在n和k的情况),这样我们就设法去把这样的n

2012-08-30 09:23:17 547

原创 HDU_3609 Up-up

http://acm.hdu.edu.cn/showproblem.php?pid=3609题意:定义:a↑↑1 = a , a↑↑(k+1) = a (a↑↑k)  求 a↑↑k mod 100000000 .思路:A^x = A^( x % phi(C) + phi(C) ) ( mod C )  , x>= phi(C)  ;代码: #include #incl

2012-08-28 23:49:44 644

原创 FZU_1759 Super A^B mod C

http://acm.fzu.edu.cn/problem.php?pid=1759题意:求A^B % C的值,A,C 思路:要解本题需要知道下面的公式:A^B = A^(B % phi(C) + phi(C) ) ( mod C ) , B>=phi(C) 。有了上面的公式之后要解本题就简单了,先求出C的欧拉函数,然后比较B和phi(C)的大小,如果B>=phi(C) 直接用

2012-08-28 19:44:42 1871

原创 HDU_4332 Constructing Chimney

http://acm.hdu.edu.cn/showproblem.php?pid=4332题意:有一块3*3的空地,要求在上面建一个建筑物,但是要求中间的那块必须空着,现在只有1*1*2的砖,问你要建成高度为N的建筑物共有多少种不同的方法。N思路:看到这么大的N就应该想到用矩阵二分幂来求,那么很显然就是dp了,因为砖只有1*1*2的一种,在对一层进行排放的时候我们只需关心它的上一

2012-08-28 14:03:10 717

原创 HDU_3872 Dragon Ball dp

http://acm.hdu.edu.cn/showproblem.php?pid=3872题意:有N个球,每个球都有一个type和energy,现在要求将N个球分成若干组,每个组的中要求没有和最右边的球一样type的球,每个组的得分是该组中所有球的最大值, 求所有组的最小得分。思路:这个题目dp的状态很好表示,用Fi表示前i个球分成若干组之后的最小得分,状态转移方程就是:Fi =

2012-08-07 19:12:29 640

原创 HDU_3875 Euclidean Algorithm 数论

http://acm.hdu.edu.cn/showproblem.php?pid=3875题意:给一个n = p * q ,一个c ,问 ( sum{ lcm(i , n) } - sum{ gcd(i , n) } ) % c == 0 是否成立。思路:          这是一个数论的综合题,整整花了3个小时啊。我们还是把问题分开处理, 就是先处理ans1 = sum{ gc

2012-08-07 14:29:47 671

原创 HDU_4045 Machine scheduling 数学

http://acm.hdu.edu.cn/showproblem.php?pid=4045题意 :有N台机器,要从中选出r台来,这r台机器之间必须要满足两两之间的编号不小于k,选出r台机器之后,要把这r台机器分成不超过m组,问共有多少中满足条件的种数。思路:这是一个组合数学计数的问题,我们可以将原问题分成两个子问题来解决: Q1:从n个数中选出r个数,要求两两之间的编号差不小于k

2012-08-06 16:40:36 499

原创 HDU_3709 Balanced Number 数位dp

http://acm.hdu.edu.cn/showproblem.php?pid=3709题意:求[x , y]内的平衡数的个数。 0思路:数位dp。先枚举pivot点,然后逐位进行确定,为了便于处理,dp的时候我们将左右力矩合在一起考虑,即左边的力矩是正的,右边的力矩用负的表示。状态为:dp[pos][ pivot ][ sum ]表示后面pos位在不受大小限制的情况下,且支点

2012-08-05 21:32:41 1088 1

原创 Codeforces 55D Beautiful numbers 数位dp

http://codeforces.com/problemset/problem/55/D题意:要你求在A到B区间内的所有beautiful数,beautifil数的定义是这个数能被它自身数位上的所有数整除。思路:很好的一道数位dp的题目,大致的想法是这样的:首先我们可以知道一个数要能被它的所有数位上的非零数整除,那么这个数就必须要能被这个数中出现过的所有数字的最小公倍数整除,这样

2012-08-05 19:52:14 1197

原创 HDU_3652 B-number 数位dp

http://acm.hdu.edu.cn/showproblem.php?pid=3652题意:给你一个数N,求1-N中有多少个数满足数位中有13这个substring 和 能被13整除这两个条件的数的个数。思路:数位dp。这题是要求我们求满足有13子串的数的个数,那么在某一位添加什么数字的时候就会受到前面有没有13出现的影响,我们用dp[i][0] , dp[i][1] , d

2012-08-03 15:42:20 1545 2

原创 POJ_3071 Football 概率dp

http://poj.org/problem?id=3071题意:有(1思路:概率dp,我们用dp[i][j]表示经过i场比赛之后,第j个人还没被淘汰的概率,那么状态转移方程就变成了:dp[i][j] = sum{ dp[i-1][j] * dp[i-1][k] * P[j][k] } ,其中的k表示在第i轮有机会和i比赛的人的编号,P[j][k]表示jbeatsk的概率,最后

2012-08-02 14:24:55 491

原创 HDU_4317 Unfair Nim 状态压缩dp

http://acm.hdu.edu.cn/showproblem.php?pid=4317题意:有N堆石子,每堆石子都有一定数目的石子,现在你可以往石堆中加任意多的石子,使得先手必败。思路:首先我们可以可以发现的一点就是,根据Nim博弈的知识,我们知道N堆石子先手必败的条件是N堆石子的石子数异或值为0,那么问题就转变成了在N堆石子中加一定数量的石子,使得最后异或值变成0。因为异或

2012-07-31 19:58:23 626

原创 HDU_3389 Game 博弈

http://acm.hdu.edu.cn/showproblem.php?pid=3389题意:有N堆石子,每堆石子都有一定的石子数,Alice和Bob轮流玩一个游戏,游戏的规则是,每回合一个人可以选择1-n堆石子中的某一堆进行操作,操作是:假设选择操作的那堆石子的编号为A,现在还要选择一堆石子B,满足B思路:这是一个阶梯博弈的题目,首先我们可以发现,只有1 ,3 ,4 三个数是

2012-07-30 19:07:17 767

原创 POJ_1740 A New Stone Game 博弈

http://poj.org/problem?id=1740题意:给你N堆石子,每堆石子都有一定的数量,有两个人玩一个游戏,游戏的规则是每个人每次可以选择一堆石子,并从中去掉至少一颗石子,然后可以选择将剩下的石子分到其他还有石子的堆中去,问先手还是后手有必胜策略。思路:有一堆石子的时候,先手只要将其所有的都扔掉就可以获胜,因此先手有必胜策略;有两堆石子的时候,如果两堆石子数量相

2012-07-30 09:40:10 585

原创 HDU_3828 A + B problem 状态dp

http://acm.hdu.edu.cn/showproblem.php?pid=3828题意:给你N个数,求N个数在满足下面3个条件的情况下相加的最小和。条件一: 相加的两个数是二进制相加;条件二:相加的两个数A,B , A的后缀可以和B的前缀合并成一个条件三:相加的两个数A,B,如果A是B的子串,则A可以不算。思路:很好的一道状态压缩dp。对于两个数,我们可以发现

2012-07-26 15:14:47 1423

原创 SPOJ_4191 Sky Code

http://www.spoj.pl/problems/MSKYCODE/题意:有N个数,让你从中选出4个,使得它们的最大公约数为1 。N思路:用容斥原理来统计数。我们考虑问题的反面,就是先求出所有可能4个数的取法,然后减去4个数的最大公约数不为1的组合。#include#includetypedef long long LL ;const int MAXN = 10

2012-07-24 15:35:23 908 3

数字图像处理实验报告

数字图像处理实验报告, 编写快速傅里叶变换算法程序,验证二维傅里叶变换的平移性和旋转不变,实现图像频域滤波。

2011-12-08

空空如也

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

TA关注的人

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