自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小威的专栏

PROGRAMMING

  • 博客(64)
  • 资源 (2)
  • 收藏
  • 关注

原创 【onTouchEvent()方法】和【OnTouchListener中onTouch()方法】

(1)View类中有onTouchEvent()方法,我们可以重写该方法来处理Touch事件(2)还可以View对象调用setOnTouchListener(mOnTouchListener)来设置监听器,监听器中onTouch()方法会在发生Touch事件时被调用当发生Touch事件时,到底调用哪个方法?还是都调用?先调用哪个?/* 查看View的dispatchTou

2013-07-19 11:14:40 9026 1

原创 Android TouchEvent事件传递机制

跟touch事件相关的3个方法:public boolean dispatchTouchEvent(MotionEvent ev);   //用来分派eventpublic boolean onInterceptTouchEvent(MotionEvent ev);//用来拦截eventpublic boolean onTouchEvent(MotionEvent ev);

2013-07-18 19:41:37 48793 83

原创 C语言不确定参数

C语言中有一种长度不确定的参数,形如:"...",它主要用在参数个数不确定的函数中,我们最容易想到的例子是printf函数。C语言用va_start等宏来处理这些可变参数。其实原理挺简单,就是根据参数入栈的特点从最靠近第一个可变参数的固定参数开始,依次获取每个可变参数的地址。标准C语言中头文件专门用来对付可变参数列表,它包含了一组宏和一个va_list的typedef声明。不同平台有不同的

2012-10-07 08:56:33 8156 2

原创 Hdu 4057 Rescue the Rabbit (AC自动机+状态压缩dp) - 2011 ACM-ICPC Dalian Regional Contest Problem G

大连的现场赛啊,快过去一年了。赛后知道这题是“AC自动机”的题目后就决定要研究研究这个神秘的AC自动机,最近把它给研究了一下,就把这个题翻出来再做做。发现还不是简单的AC自动机,还结合了“状态压缩dp”。好题,好题……这次比赛居然有3道dp,悲剧的我们一道都木有想出来...还有两个dp是:The Last Puzzle(C题),Number String(E题)题意:输

2012-08-08 16:00:12 4228

原创 Poj 2778 [AC自动机,矩阵乘法]

-----我的AC自动机-----•题意:有m种DNA序列是有疾病的,问有多少种长度为n的DNA序列不包含任何一种有疾病的DNA序列。(仅含A,T,C,G四个字符)•样例m=4,n=3,{“AA”,”AT”,”AC”,”AG”}•答案为36,表示有36种长度为3的序列可以不包含疾病这个和矩阵有什么关系呢???•上图是例子{“ACG”,”C”},构建t

2012-08-06 11:54:48 11743 8

原创 Hdu 2222 [AC自动机]

公认的学习AC自动机的第一道练手题。还不懂AC自动机的可以看这里AC自动机题意:输入n(n几组测试数据:2heteateaheteahehe2 //多次出现不重复计数2heshesshes2 //可能出现单词相互包含的情况//注意,数据中有单词相同的情况,相同的单词要当做是不同的来看。3hehehehehehehehehehe33h

2012-08-06 10:42:04 2910

原创 AC自动机——Aho-Corasick Automaton

这是一个英文版的讲的比较好的AC自动机资料。http://www.cs.uku.fi/~kilpelai/BSA05/lectures/slides04.pdf如果不爱看英文,可以看我整理的大致的翻译,再加上点解释说明啥的,建议中英两个版本结合着看,毕竟我翻译的里面可能有些错误。http://download.csdn.net/download/morgan_xww/4476863

2012-08-04 22:30:35 12648 3

原创 [状态压缩DP] Poj 3254, Poj 1185

状态压缩DP一般适合的题型的特征为:一个矩阵,行数较大,列数较小,每个点的状态只有两种。正好用一个整型数int来表示每行的一种状态(其实是其二进制形式,每bit的0和1表示每点的状态)。不同的是各题的状态dp的定义,状态间的限制,状态的转换方程。第一道(Poj 3254):/**题意:在一片M行N列的草地上(用0和1矩阵表示),1表示能放牛,0表示不能放。 在草地

2012-07-23 11:45:09 4102

原创 欧拉回路

欧拉图(欧拉通路,欧拉回路)给你一副无向图。 寻找一条包含所有边的路径,其中每一条边只经过一次。这被叫做欧拉通路。若这条路径的起点与终点为同一点,则为欧拉回路。判定定理:定理1:一个图有欧拉回路当且仅当它是连通的(即不包括0度的结点)且每个结点都有偶数度。定理2:一个图有欧拉通路当且仅当它是连通的且除两个结点为基数度,其他结点都有偶数度。       其中的两个基数

2011-11-26 12:43:45 2230

原创 c语言头文件time.h

#include #include void main(){ time_t sec; //typedef long time_t struct tm * curTime; sec = time(NULL); //获取时间,从1970.1.1到现在的秒数,也可以写成 time(&sec); curTime = localtime(&sec); //

2011-11-26 12:39:37 18765 3

原创 凸包问题(Graham扫描法)

/**凸包问题 —— Graham扫描法: 找出点集p[]中最下面的点(有多个时取最左边的),以该点为极点,求出其他所有点的极角,显然,极角范围为 [0, 180)度,对这些点按极角的升序排序,也就是按极角的余切值降序排列,先把极点和排序后的第一个点和第二个点入栈,再一次循环(i = 3 -> n-1),若栈顶的两个点和当前的点p[i]这三点连线的方向向顺时针方向偏转,则栈顶元素出

2011-11-26 12:37:54 4471 1

原创 最优二叉查找树(optimal BST)

/** 最优二叉查找树:一棵有n个结点的二叉查找树,已知每个结点的查找概率Pi(且∑Pi=1),要使查找操作的平均比较次数最小。(这里讨论的是成功查找,不讨论不成功的查找)动态规划: c[i][j]表示由结点i~j组成的BST成功查找的最小平均查找次数。 r[i][j]表示由结点i~j构成最优二叉查找树时的树根结点。转换公式: c[i][j] = Min[i<=

2011-11-26 12:36:08 4937

原创 归并排序(合并排序)

/**题目:要求冒泡排序的交换次数,也就是求逆序数的个数。在一个排列中如果有两个数的排序和所规定的排序规则相反,则这两个数是一个逆序。一个排列中的逆序的总数就是这个排列的逆序数。用归并排序,求逆序数的个数。##Poj 2299 这道题充分印证了,即使merge本身可能用的不多,但分冶的思想却是无所不在**/#include int left[250003], right[25

2011-11-26 12:22:00 2881

原创 Hdu 4089 Activation (概率dp) - 2011 ACM-ICPC Beijing Regional Contest Problem I

题意:有n人都是仙剑5的fans,现在要在官网上激活游戏,n个人排成一个队列(其中主角Tomato最初排名为m),对于队列中的第一个人,在激活的时候有以下五种情况:    1.激活失败:留在队列中继续等待下一次激活(概率p1)    2.失去连接:激活失败,并且出队列然后排到队列的尾部(概率p2)    3.激活成功:出队列(概率p3)    4.服务器瘫:服务器停止服务了

2011-10-31 09:35:47 5782 13

原创 Zoj 3543 Number String (dp) - 2011 ACM-ICPC Dalian Regional Contest Problem E

又是一道dp。比赛时以为是数学题,一直在找规律推公式。/**题意:由{1,2,3}组成的一个排列132,对应一个字符串"ID",'I'表示Increase,'D'表示Decrease,对于排列"132",因为 1 2,所以对应的字符串为"ID"。现在反过来,输入

2011-10-06 16:56:42 3923

原创 Zoj 3541 The Last Puzzle (dp) - 2011 ACM-ICPC Dalian Regional Contest Problem C

现场赛时没有想到是dp,还以为是贪心呢,比赛结束前试着暴力dfs了一下,TLE了。/**题意:一条直线上有n(1求一个按开关的顺序,使得某时刻所有的开关都被按下。可以从任意一个开关开始,而且手移动的速度是每秒钟一个单位长度,按开关所用的时间忽略不计。题解:

2011-10-04 20:21:33 3854 2

原创 Zoj 2599 (数位dp,数位统计)

这个题纠结死我了,最开始是在高逸涵的论文《数位计数问题解法研究》中看到的,论文中只说了这个题的思路,没有代码实现,所以我自己按照他得思路写了好久,又Debug了好久好久,最后终于出来了。纠结到死....题意:定义两个数的比较方法,各位数字之和大的数大,如果数字和相等则按字典序

2011-09-18 21:33:53 4138 3

原创 Hdu 4035 Maze (dp求期望) - 2011 ACM/ICPC 成都赛区网络预选赛 1005

比赛时看题了,但是没有思路。比赛结束后这题总共通过20+,赛后看这个解题报告,由于博主说得太简洁,而我又是从来没有见过这种dp求数学期望的题,所以研究了好久都木有明白。只有搜索一下【dp求期望】的题目,从简单的开始入手,费了老大功夫,终于搞懂了,于是写下详细解题报告。如果感觉

2011-09-15 09:30:56 8672 9

原创 Zoj 3329 (dp求期望)

第二个dp求数学期望的题,如果看不懂,请看我的第一个dp求期望的题(Poj 2096)/**    dp求期望的题。    题意:    有三个均匀的骰子,分别有k1,k2,k3个面,初始分数是0,    当掷三个骰子的点数分别为a,b,c的时候,分数清零,否则分数加上三个骰子的点数和,    当分数>n的时候结束。求需要掷骰子的次数的期望。    题解:    设

2011-09-14 20:23:07 6276 11

原创 Poj 2096 (dp求期望)

这题虽然代码很简单,但这是我第一题用dp求数学期望的题目,也算是入个门吧.../** dp求期望的题。 题意:一个软件有s个子系统,会产生n种bug。 某人一天发现一个bug,这个bug属于某种bug,发生在某个子系统中。 求找到所有的n种bug,且每个子系统都找到bug,这样所要的天数的期望。 需要注意的是:bug的数量是无穷大的,所以发现一个bug,

2011-09-14 15:25:29 10056 17

原创 hdu 3555 - Bomb [数位dp]

/** 传说中的 “按位dp” 或 “数位dp”。 dp[len][0] 代表数字长度为len不含49的个数 dp[len][1] 代表数字长度为len不含49但是以9开头的个数(显然dp[len][1]包含在dp[len][0]中) dp[le

2011-09-06 16:42:47 1925 1

原创 hud 3905 - Sleeping [动态规划]

dp[i][j][0] 表示前 i 分钟睡觉了 j 分钟而且第 i 分钟没有睡觉

2011-08-05 11:41:07 850

原创 Poj 2112 [最大流] [二分图的多重匹配]

二分查找,二分图的多重匹配,最大流问题。

2011-08-01 17:20:26 2744

原创 [动态规划] hdu 3602-2012 和 USACO Section 3.4 Rockers

动态规划

2011-07-17 10:59:59 958

原创 Zoj 3509

看着像图。

2011-05-05 17:11:00 1300 2

原创 Poj 1275 (差分约束系统)

Bellman-Ford 算法, 二分查找。

2011-04-28 22:29:00 1860

原创 Poj 1201 (差分约束系统)

这是我的第五道“差分约束系统”;,值得庆祝的是,本题完全是自己做出来的,没有参考任何资料,呵呵.....兴奋......     题意理解:(题意有点费解,看了几遍才懂)第一行输入n,下面输入n个限制条件,条件的格式为 ai bi ci,  0题目分析:1. 开始我用每个整数(1,2,...)当做图的结点,添加边就是 add(b, a, -c),写出来之后发现连题目的样例数据都输出错误

2011-04-24 19:14:00 4074 2

原创 Poj 2983 (差分约束系统)

还是那句话:差分约束条件题目的难点是“怎么找到问题的约束条件”。这题输入的边有两种格式:      1. 边长确定,即xi - xj = b; 可以转化成 xi - xj =b (即 xj - xi       2. 边长不定,xi - xj >= 1; 可以转化成 xj - xi  下面用SPFA算法实现:#include #include #includ

2011-04-17 14:42:00 1400

原创 Poj 3159 (差分约束系统,SPFA+栈,Dij+heap)

差分约束系统,SPFA栈实现, dijkstra+优先队列(heap)

2011-04-16 12:24:00 2663 2

原创 差分约束系统

求解差约束分系统,关键在于找到约束条件,然后用Bellman-Ford,或SPFA就能做了。

2011-04-07 21:12:00 2360

原创 poj 1364 King (差分约束系统)

差分约束系统 , Bellman-Ford 和 SPFA算法实现

2011-04-07 20:59:00 1473

原创 USACO--range

也不知道要把这题归为什么类.......

2011-03-28 20:19:00 802

原创 SPFA算法

单源最短路径算法 SPFA

2011-03-26 11:01:00 12679 3

原创 康托展开

康托展开和其逆运算

2011-03-24 21:51:00 6557

原创 USACO msquare (BFS+康托展开)

BFS + 康托展开

2011-03-24 17:36:00 1943

原创 树状数组

/* 树状数组是一个查询和修改复杂度都为log(n)级别的区间统计的数据结构,在思想上类似于线段树。注意:这里的修改指的是将A[i]加上某个值v,而不能将A[i]的值设定为v.相比线段树,树状数组需要的空间较少,编程复杂度也较低,但适用范围比线段树小。有一个包含n个元素的数组A[],函数Change(i, j)要修改一个元素A[i]=j;函数Query(i)询问前缀Si=A1+A2

2011-03-13 13:24:00 966

原创 POJ 3321 AppleTree (树状数组)

树状数组

2011-03-12 22:01:00 1629

原创 背包问题

题目:有N件物品和一个容量为W的背包。第i件物品的重量是 w[i],价值是 v[i]。求将哪些物品装入背包可使这些物品的重量总和不超过背包容量,且价值总和最大。最简单的一类“01背包”:每种物品仅有一件,可以选择放或不放。用子问题定义状态:f[i][j] 表示前 i 件物品放入一个容量为j的背包可以获得的最大价值。状态转移方程:if (w[i] > j) f[i][j] = f[

2011-03-05 13:18:00 724

原创 USACO 第二章最后一题,呵呵

最短路径的求法。。。

2011-02-27 19:41:00 773

原创 USACO第一章最后一题(相当悲剧...)

for循环多条件用‘&&’连接,不能用‘,’连接

2011-01-04 22:57:00 967

TouchEventDemo

Touch事件传递机制分析Demo,dispatchTouchEvent(),onInterceptTouchEvent(),onTouchEvent()

2013-07-19

AC自动机.pdf

AC自动机算法是解决这种问题的一个经典方法,时间复杂度为O(n+m+z),其中z是T中出现的模式串的数量。AC自动机是基于keyword tree的,并对其进行一些补充。

2012-08-04

空空如也

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

TA关注的人

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