上一页 1 ··· 31 32 33 34 35
摘要: 前缀和,简单来说,你输入了一串数,用s[i]表示a[1]~a[i]的所有元素的和,那么s数组记录的就是a的前缀和。 用前缀和来进行维护可以很好地节约时间复杂度,比如说有一串数,每次给定一个操作,询问一段区间内所有元素和,要求线性做法O(m+n),这时就不能使用两重循环枚举。我们可以使用前缀和,当询问 阅读全文
posted @ 2018-02-06 20:59 CaptainLi 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 离散化,把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。——摘自百度百科 离散化总体来说还是很有用的,下面先上一段核心代码 具体有什么作用呢?比如说,你要输入的数据一共有10^5个,但是输入数据的值有可能达到10^9甚至更大。如果我们要统计每一种数据出现了多少次,此时我们显然不可 阅读全文
posted @ 2018-02-06 20:23 CaptainLi 阅读(632) 评论(0) 推荐(0) 编辑
摘要: #include<cstdio>#include<cstdlib>#include<string>#include<cstring>using namespace std;int number[101],i = 0, p = 1;char symbol[101],s[256], t[256]; vo 阅读全文
posted @ 2018-01-21 14:56 CaptainLi 阅读(200) 评论(1) 推荐(0) 编辑
摘要: #include<cstdio>#include<algorithm>#include<cstring>#include<stack>using namespace std;char s[301],p[301];int q[301];int len,j,ret = 0;int main(){ whi 阅读全文
posted @ 2018-01-21 10:43 CaptainLi 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 描述 有两堆石子,两个人轮流去取.每次取的时候,只能从较多的那堆石子里取,并且取的数目必须是较少的那堆石子数目的整数倍.最后谁能够把一堆石子取空谁就算赢. 比如初始的时候两堆石子的数目是25和7 最后选手1(先取的)获胜,在取的过程中选手2都只有唯一的一种取法。 给定初始时石子的数目,如果两个人都采 阅读全文
posted @ 2017-12-15 20:37 CaptainLi 阅读(361) 评论(0) 推荐(0) 编辑
上一页 1 ··· 31 32 33 34 35