自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Holylight_Knight

某神犇:自己选择的路,跪着也要走完。

  • 博客(5)
  • 收藏
  • 关注

原创 经典问题之多重背包的总结与提升

多重背包: 1.基础题型 伪代码:    i=1 to n     j=1 to W      k=1 to m[i]       f[j]=max{f[j-k*w[i]]+k*v[i]} 2.加强版 (一)对于数据不是特别紧的可采用二进制法,效率O(nW log m)       解析:对于每个m[i],我们可以分解成2^0+2^1+2^2...+2^k+a(a为m[i

2016-07-13 13:10:00 820

原创 经典问题之01与完全背包总结

01: 1.基础题型, 伪代码:   i= 1 to n     j= W to 1       f[j]=max{f[j-w[i]]+v[i]}; 2.W超大,n=20版; 思路:折半枚举,先枚举前十个的选物情况,记录,再枚举后十个的,累计即可。 3.W超大,n正常,V较小 思路:改变f[j]的定义,设f[j]表示要取价值总和为j的物品最少需要多少多少包重,结果

2016-07-13 12:30:24 249

原创 poj之旅——2886

题目描述:有n个人,给出每个人的名字和手中所持有的数字,从第k个人开始淘汰,每到淘汰一个人时,下一个要淘汰的人就是顺时针数其手数字个人,每个人淘汰时有一个分数,这个分数就是这个人被淘汰的次序所具有的全部因数个数。 题解:很明显有一定的约瑟夫问题,网上有许多人用反素数+线段树,不得不说线段树确实很厉害,但是编程复杂度也不是吹的。       具体思路可见:       但是有负数,唯一

2016-07-05 12:30:44 336

原创 经典问题之约瑟夫问题的快速解决

此问题非常经典,在网上即可找到原题,在此不做描述。 对于原问题模型,一有链表法解决问题,效率极低,在此描述一种用树状数组完成问题的超快速做法。 首先,我们可以有这样递推的思路:不断加k模n,并减去其数字前走了的人即为当前人的真实编号(即是这一轮应踢走的人的编号),如何快速维护每个人其前走了的人的和,答案为树状数组。 现在模拟一下过程,假设有6个人,k=3(每报3个,走一个人)。 初

2016-07-04 13:22:18 9885 1

原创 poj之旅——3368

//好一段时间没弄了,期末考试去了,手都生了。 题目描述: 给出n个非递减序列数,有Q个询问,l,r表示从l到r的出现次数最多的数的出现次数。 题解: 可以为了省空间而浪费编程复杂度——我不喜欢。 介绍一个很简单的方法: 建立一个线段树,维护三个数据maxlen以mid向两边能得到的最大长度,left以l向右能得到的最大长度,right以r向左能得到的最大长度。 用3

2016-07-02 13:59:45 229

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除