![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACM
才不是本人
修身,穷理,有趣
展开
-
后缀数组
1. 概述后缀数组是一种解决字符串问题的有力工具。相比于后缀树,它更易于实现且占用内存更少。在实际应用中,后缀数组经常用于解决字符串有关的复杂问题。本文大部分内容摘自参考资料[1][2]。2. 后缀数组2.1 几个概念(1)后缀数组SA 是一个一维数组,它保存1..n 的某个排列SA[1],SA[2],……,SA[n],并且保证Suffix(SA转载 2015-11-12 11:23:17 · 314 阅读 · 0 评论 -
大数加法
#include <iostream>#include <string>using namespace std;string& big_plus(string& num1, string& num2) ...原创 2018-08-29 21:21:31 · 127 阅读 · 0 评论 -
LeetCode_TwoSum、C++解法
时间复杂度O(n),利用C++STL库函数就可以解决问题; 当然网上还有一种解法,排序+二分,时间复杂度也可以是O(n),这里就不写了这里要特别说明的是: 本来我是想用hash_map来写这个程序,但是发现VS2017报错,hash_map is deprecated and will be removed 意思是:hash_map已经被弃用 于是我查看了MSDN,确实在API文档里面有这句原创 2017-10-15 21:01:51 · 1025 阅读 · 0 评论 -
JAVA大数
在用C或者C++处理大数时感觉非常麻烦,但是在JAVA中有两个类BigInteger和BigDecimal分别表示大整数类和大浮点数类,至于两个类的对象能表示最大范围不清楚,理论上能够表示无线大的数,只要计算机内存足够大。这两个类都在java.math.*包中,因此每次必须在开头处引用该包。Ⅰ基本函数: 1.valueOf(parament); 将参数转换为制定的类型 比如 int a=3原创 2016-03-20 20:25:03 · 267 阅读 · 0 评论 -
通过金矿模型介绍动态规划
通过金矿模型介绍动态规划 点击下载01背包测试数据.rar 对于动态规划,每个刚接触的人都需要一段时间来理解,特别是第一次接触的时候总是想不通为什么这种方法可行,这篇文章就是为了帮助大家理解动态规划,并通过讲解基本的01背包问题来引导读者如何去思考动态规划。本文力求通俗易懂,无异性,不让读者感到迷惑,引导读者去思考,所以如果你在阅读中发现有不通顺的地方,让你产生错误理解的地方,让转载 2017-08-14 09:41:00 · 261 阅读 · 0 评论 -
poj3254
题意:一个row*col的矩阵,每个格子是0或者1,1表示土壤肥沃可以种植草地,0则不可以。在种草地的格子可以放牛,但边相邻的两个格子不允许同时放牛,问总共有多少种放牛的方法?(不放牛也算一种情况)思路:状态压缩DP。在做了状态压缩的入门poj1185的炮兵阵地之后,再做状态DP就有章可循了,基本上很多的函数或者变量都是相通的,这里也不详解了。DP部分:dp[i][k]表示第r行处于状态k时,前r行转载 2016-03-20 20:36:11 · 315 阅读 · 0 评论 -
poj3245
#include "iostream"#include "algorithm"#include "cstdio"#include "cstring"#include "cmath"#include "cstdlib"#include "iomanip"#include "string"#include "queue"#include "vector"#include "set"原创 2016-03-20 20:35:10 · 439 阅读 · 0 评论 -
HDU11186
题解:找出123…n…32这样一个周期,在循环当中,1与n的报数是一周期一次,其他都是两次,那么就要将2…n-1个数全都分开累加;但是我们不需要这样做,我们只需要找到m然后没累加一次进行判断是否满足条件就可以了.代码如下#include <stdio>#define INF 0xFFFFFFFusing namespace std;bool is7(int i){ if(i%转载 2016-03-20 20:32:47 · 265 阅读 · 0 评论 -
HDU3501
题意为求所以n的因子(除1外)的和,先求出欧拉函数p(n),p(n)*n/2求得所以小于n且与n互质的数之和,再用所有小于n的和减去它就为结果。 //欧拉函数:φ(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…..(1-1/pn),其中p1, p2……pn为x的所有质因数,x是不为0的整数。 欧拉函数:P(N) 表示的是小于N且与N互质的数的个数; 小于N与N互质的转载 2016-03-20 20:30:36 · 422 阅读 · 0 评论 -
HDU1238
Substrings Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Submission(s) : 3 Accepted Submission(s) : 2 Font: Times New Roman | Verdana | Georgia Font Size:原创 2016-03-20 20:21:28 · 469 阅读 · 0 评论 -
一亿以内素数超优算法
#define PRIME_LIM 10000000#define N 100000000int primes[PRIME_LIM] = {0};int flags[N/96 + 1] = {0};int get_prime(){ int nu = 5, to = 0; primes[0] = 2; primes[1] = 2, prime原创 2015-12-05 16:19:25 · 1337 阅读 · 0 评论