
各种脑洞
lovewangtaotao
这个作者很懒,什么都没留下…
展开
-
leetcode 45 跳跃游戏II 详细题解+证明 0(n)方法
题意给定一个数组(长度n),然后每个数组1个integer(1-k),每个数字表示可以往后走1-a[i]步,求最少多少步走到.输出一个整数表示多少布.动态规划(0(n*k))第一个方法就是使用动态规划的方法来做,但是复杂度很大,而且是最简单的动态规划问题,因此这里不讨论.贪心(0(n))考虑如何贪心,假如当前处于第i个位置,aia_iai是表示跳跃数,有p,q∈[i+1,i+ai]p ...原创 2019-03-04 20:51:11 · 432 阅读 · 0 评论 -
在数论中使用筛法
筛法是一个很方便,很快捷的方法,金典的算法很多都是使用晒法来解决的。比如金典的求欧拉函数,求莫比乌斯函数,。以及一些筛素数等。但是什么类型的题目可以使用自己自创的筛法呢。 1.最典型的函数类型 F(x)=∑d|xG(x,d)F(x) = \sum\limits_{d|x}G(x,d)这种类型的函数是金典的筛法使用。你可以这样想,筛法的本质是枚举每个数的同时找到这个数对其他需要这个数的贡献。其实也原创 2016-09-05 15:30:00 · 919 阅读 · 0 评论 -
多校联合训练2016---hdu5798Stabliztion
一个压缩状态 + 记忆搜索/DFS非顺序枚举 的题目。。TLE的同学记得一定要用G++提交。否者如果是C ++ ,标程都TLE。表示时间限制很紧,标程都是1800ms,我的是2800ms......首先很容易想到的思路是,,X的每一位如果是1.都会对10^5个数产生影响。。记录变化下来,然后枚举X,再循环x的每一位,如果是1,就加上这个变化。。但是也就自然的把10^5-1个差压缩成了d原创 2016-08-13 09:47:52 · 430 阅读 · 0 评论 -
2016多校总结---hdu5821Ball
新套路get ; 首先要判断a数组可以不可以到达b数组,如果是1-n那么就是排序,然后看ab相不相等。。。但是这个是部分。。这里有两点关键点:1.如果有三个1.,位置在b数组中是pa b如果可以到达,那么一定存在一种方法:是在a中依次递增的1分别到依次递增的b数组。例如:1 1 0 0 1 0 0 0 0 1 1 0 0 1那么一定是a中第一个1到达b中第一个1原创 2016-08-12 14:00:22 · 281 阅读 · 0 评论 -
贪心研究(1) -------- 区间贪心的基本思路poj1083
对于贪心 , 主要是抓住问题的关键点 ;poj1083-----------若干个区间 , 求不相交区间的组数 ;对于区间问题,主要是1.区间排序 ------ 优化问题 ,贪心的一种思路2.树状树组-------优化覆盖个数的计数问题 3.拆分单位长度,离散化(可以使用数据结构优化) ;对于此题 , 如果一个单位区间被n条线段相交 , 那么至少要走n次 。由此得出结原创 2015-10-21 23:26:00 · 395 阅读 · 0 评论