上一页 1 ··· 33 34 35 36 37 38 39 40 41 ··· 46 下一页
摘要: 推导过程推荐看这篇: KMP模板: 推导详细过程推荐看这篇,通俗易懂: 扩展KMP模板: 这个推导过程较简单,网上很多博客都可以快速看懂的。 Manacher模板: 阅读全文
posted @ 2017-07-10 11:05 starry_sky 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 字符数组快速求最小字典 原理不多说,用笔在纸上模拟一下就会懂的。 同理,也可以快速求最大字典 求质因子,在欧拉函数和莫比乌斯函数用的上。 乘法逆元。a/b%n == a*k%n == a*inv(b,n); a*x+b*y=d 上面的乘法有误差6*inv(2,mod)不等于3 费马小定理没有 费马小 阅读全文
posted @ 2017-07-10 11:01 starry_sky 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 求两个数的最大公因子(在algorithm头文件里): 判断一个字符是否是英文字母或者数字: 判断一个字符是否问英文字母: 判断一个字符是否问数字: 将字母转换为大写字母: 将字母转换为小写字母: 将字符串类型的以字符数组输出: 字符串数组中查找某个字符串: 将字符串切割: 求dp数组中大于大于0的 阅读全文
posted @ 2017-07-09 19:00 starry_sky 阅读(303) 评论(0) 推荐(0) 编辑
摘要: A - Sort it 选择排序或冒泡排序下就行,看交换的次数。(如果数量很多时可以用树状数组来求逆对数) B - Cup 就这题卡主了,数学差写了一个小时多都没有写出来,赛后发现有R>=r这个条件,可惜比赛时没有看到,想复杂了。 二分就可以做出来。 C - 又见GCD 水题,可就是W了一次,不知咋 阅读全文
posted @ 2017-07-07 16:32 starry_sky 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 以Hihocoder 1032为例。 manacher算法: 设一个数组p,p[i]表示以第i个字符为中心的最大半径,最大的p[i]就是最长的回文子串了。 不过这样要用两个循环,时间复杂度是(n*n)。 而manacher算法可以快速的求p[i],设i之前的最大值为p[id]+id,那么p[id]+ 阅读全文
posted @ 2017-07-06 18:57 starry_sky 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 逃离迷宫HDU - 1728 主要是要记录转弯的次数。 阅读全文
posted @ 2017-07-06 08:28 starry_sky 阅读(217) 评论(0) 推荐(0) 编辑
摘要: CodeForces - 608B 题意是:有字符串a和b(由0和1组成),a的长度小于等于b,求b中每个和a长度相同的子串的差值和,差值计算相同为0,不同为1,比如0011和1101的差值是3。 赛时没有想到前缀和,这题有前缀和就可以解决了。 阅读全文
posted @ 2017-07-06 08:26 starry_sky 阅读(273) 评论(0) 推荐(0) 编辑
摘要: POJ - 2503 这题用map做时有2100ms,而用字典树去做时360ms就过了。 map的 字典树的: 下面是代码: 阅读全文
posted @ 2017-07-06 08:22 starry_sky 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 字典树可以用来快速查找字符串前缀,当然,适当的变下形就可以解决需要很多了。 从根节点开始,每遇见一个红点就可以组成一个单词。 节点的建立: 插入: 删除:(很多题目有很多组数据,如果不删除释放空间的话,很容易导致Memory Limit Exceeded) 查找: 以 HDU1671 为例。 大意是 阅读全文
posted @ 2017-07-04 15:26 starry_sky 阅读(284) 评论(0) 推荐(1) 编辑
摘要: hihocoder 1014 题意是去后缀是输入字符串s的的个数。 首先用结构体做,结构体更实现,而且通俗易懂些。一直建立数,每次建立都往子节点加1,查找的时候找到最后那个字母时,输出它的子节点的数字就可以了。 也可以用数组实现,不过更麻烦些。 阅读全文
posted @ 2017-07-03 20:30 starry_sky 阅读(193) 评论(0) 推荐(0) 编辑
上一页 1 ··· 33 34 35 36 37 38 39 40 41 ··· 46 下一页