把初始a的每一个元素对m次变换的贡献写出来,发现是一个斜着的杨辉三角,根据lucas,当且仅当a&b == b,C(a, b)为奇数,又因为&和^运算极快,4e10的复杂度也就跑了一秒。 #include <cstdio> #include <iostream> #include <algorith ...
分类:
其他好文 时间:
2017-08-16 18:23:18
阅读次数:
109
STL:标准模板库,是一套功能强大的C++模板类,提供了通用的模板类和函数,这些模板类和函数可以实现多种流行常用的算法和数据结构,如向量、链表、队列、栈; C++的3个组件: 容器Containers:是用来管理某一类对象的集合,如deque、list、vector、map等; 算法Algorith ...
分类:
编程语言 时间:
2017-08-01 12:51:04
阅读次数:
236
前言 Boyer-Moore算法是一种基于后缀匹配的模式串匹配算法(简称BM算法),后缀匹配就是模式串从右到左開始比較,但模式串的移动依旧是从左到右的。在实践中。BM算法效率高于前面介绍的《KMP算法》,算法分为两个阶段:预处理阶段和搜索阶段;预处理阶段时间和空间复杂度都是是O(m+sigma),s ...
分类:
编程语言 时间:
2017-07-22 12:06:59
阅读次数:
261
中心节点就是树的中心,2遍dfs求到树的直径。而中心一定在直径上,顺着直径找到中心就够了。 然后能够一遍树形DP找到最小值或者二分+推断是否訪问到叶子节点。 #include <iostream> #include<vector> #include<cstdio> #include<algorith ...
分类:
其他好文 时间:
2017-07-07 15:24:23
阅读次数:
100
上一篇文章,我介绍了 字符串匹配的KMP算法 但是,它并不是效率最高的算法,实际采用并不多。各种文本编辑器的” 查找” 功能(Ctrl+F),大多采用 Boyer-Moore 算法。 下面,我根据 Moore 教授自己的例子来解释这种算法。 1. 假定字符串为”HERE IS A SIMPLE EX ...
分类:
编程语言 时间:
2017-06-29 13:28:43
阅读次数:
147
題目:給你一個整數n(不超過14位)。求出他的最大的素數因子。假设仅仅有一個素數因子輸出-1。 分析:數論。直接打表計算10^7內的全部素數因子,然後用短除法除n。記錄最大的因子就可以。 假设最後下的數字不是1,則它就是最大的素數因子。 說明:注意n可能為負數。 #include <algorith ...
分类:
其他好文 时间:
2017-06-08 10:45:40
阅读次数:
121
HDU 5063 Operation the Sequence 题目链接 把操作存下来。因为仅仅有50个操作,所以每次把操作逆回去执行一遍,就能求出在原来的数列中的位置。输出就可以 代码: #include <cstdio> #include <cstring> #include <algorith ...
分类:
其他好文 时间:
2017-06-04 09:42:41
阅读次数:
170
命令行之连连看 程序实践周课题,VC++6.0上可编译执行 游戏截图: #include <cstdio> #include <cstring> #include <iostream> #include <windows.h> #include <time.h> #include <algorith ...
分类:
其他好文 时间:
2017-06-01 19:32:51
阅读次数:
240
HDU_1548 A strange lift 水题。bfs+优先队列。从一个位置到达还有一个位置的最少操作数。 代码清单: #include<queue> #include<cstdio> #include<cstring> #include<iostream> #include<algorith ...
分类:
其他好文 时间:
2017-05-12 09:38:53
阅读次数:
148
1. 1003 最大和连续子序列 状态方程:dp[i]=max(dp[j-1]+num[i],num[i]); 解:存放dp数组每个元素都是从左至右最大连续子序列的值,即dp[i]为从0~i处最大连续子序列的值 注意边界 1 #include<stdio.h> 2 #include<algorith ...
分类:
其他好文 时间:
2017-03-29 21:04:26
阅读次数:
191