你伤不起! 盛大

盛大创新院 推出的一个TT产品引发的一个文艺青年对盛大模式的辛辣点评与革新建议。全文以创新为主线,以伪创新为靶子,嘻笑怒骂,皆成文章。一个陈天桥,周鸿祎,陈一舟,程炳皓 打麻将所隐喻的社区网络与用户标签的关系的段子更是发人深思。《盛大,你伤不起!》


序:一个TT引发的大字报


创新是万金油,是万人迷!在这个言必谈创新的互联网时代,创新最终悲剧地成了伪创新的代名词。

一类伪创新就象郭美美的干爹,从来就只是个传说;一类伪创新就象柳岩姐姐的汉堡包,看的见摸不着;还有一类就是盛大创新院,吃的是时间与金钱,吐的是神马与浮云。

故事总有个开头,话说哥的关注者盛大创新院最近发布了一个叫TT通讯录的产品,且不论这个带着杜蕾斯味道的TT有多不好,我只说如果由盛大来开发这种应用,完全是狗拿耗子,太不靠谱。端着金饭碗要饭的资源浪费程度令我这种想进盛大创新院看门都得开后门的山野村夫也急巴巴的跳出来做狮子吼。

这东西能有前途?通讯录向来是兵家必争之地,盛大一没主流用户与常驻产品,二没强势的应用传播管道,与企鹅,手机商竞争无疑是鸡蛋碰石头,难不成他想自己卖手机一口气卖进前三名?其次盛大真正有竞争力的产品,如盛大游戏,盛大文学,盛大网络都处在这个重新洗牌的变革时代的重重迷雾中急需通过创新来巩固地位或打破僵局,而作为担负企业未来战略使命的创新研究机构还在把玩风月,用自己的短矛来妄图砍断对手的长枪。醒醒吧,盛大研究院,以盛大对移动市场的战略与雄心,就算集最好的力量坐着火箭开发出最好的产品也未必比腾讯第二阶梯的移动产品好。你们根本没实力全面开战,最需要的是利用优势,用明星产品打开局面。创新创成这样,怎不令我等看客一声长叹:陈天桥,你伤不起啊!

盛大急行车太快,后勤跟进太慢,出这样的事儿也不算什么灵异事件,这事儿,对我来说也是皇帝不急太监更不应急的事儿,犯不着替陈天桥发飚,不过微博嘛,“路见不平,啐两口”啐着啐着啐习惯了,这几天又正好中了方舟子好挖祖坟的毒,喜欢凡事刨个稀烂,所以又专门去盛大研究院的网站审视了一下号称50多个的产品目录,并引发连串妊娠早期反应;连连看了盛大文学,盛大网络,进而我也有话说一泻千里,分四个章节写下了这篇万言书。【还有一章盛大游戏被我cut了,偶想等玩2个盛大游戏再写,别让人家躺着也中枪:(】

另哥对盛大基本外行,成文仓促,管中窥豹,难免贻笑大方,文艺观点您可以照单吸收,普通观点你可以直接无视,2B观点则敬请原谅,和谐社会,万勿恶语相向。你们都是局中人,也许更听听局外人换种思路的唠叨,见微知著,这,没什么不好。


1 陈天桥及盛大



毫无疑问,陈天桥是个理想主义者,所以他能在10年中坚持不懈地往盛大盒子里装关于娱乐各式味道的巧克力;他头脑也足够好,能够在各种资源整合中游刃有余,万花众中过,叶吐皆拾金。只是,“十年回首,无人会、登临意”, 你说他是笑傲江湖后的寂寞,我却说他是壮志未酬时的唏嘘。

不是他不够努力,他能怎么办呐,李开复可以天天刷微博,周鸿祎可以隔天在微博上广告他的360系列,而他既忙碌又孤独,手上的项目就算一天思考一个也许一年时间也不够用。他是天生的开拓者,骨灰级玩家,赌徒与战略家,却不是能够计算柴米油盐的守江山的人。他是整合突围的高手,却始终缺少一位剑走偏锋的技术派玩家打守后方,珠帘壁合。

当360带着微创新,腾讯带着山寨创新,创新工场带着应用创新,新浪带着SinaAppEngin云平台与微博开放平台高歌猛进时,盛大的战场仍旧是原来的那片红海。站在巅峰的互联网企业,从来就是技术创新的先驱,光靠整合前进,恰似欧阳锋练九阴真经,功夫越深,摊子越大越容易经脉错乱,没有技术灵魂做经脉融合的盒子,终将是每个孤独的漂浮体,就象盛大创新院,他本应位于盛大金字塔的最上方,现在把他放在盒子的任何一个地方,他都不显突兀,多么讽刺!所以,陈天桥,如果您耗尽心智仍未找到盛大从优秀到卓越的七寸,是时候,向技术创新低头了。

十年前,盛大有个娱乐帝国的梦想。十年了,我这样的魔法门死忠也开始初为人父,远离费时游戏去迎接开放平台所席卷的轻娱乐时代;十年了,盛大将所有的战略,资源,兵种,道具都准备完毕,我们还是写不了盛大社区分享,玩不到盛大游戏机,上不了盛大游戏吧,看不到盛大娱乐电视台。帝国,依然看不到未来。

或许,这是互联网最坏的年代,强者挟用户无往而不利,主流发声平台壁垒森严,开放平台之战尘埃落定,移动网络三分天下,重游戏创新艰难,轻娱乐大行其道。

或许,这是互联网最好的年代,娱乐化风起云涌,开放平台与游戏产业唇齿相依,甘年网络,从集成用户到分享用户的转变,是赠送给盛大这类型公司的最好礼物,甘年来最华丽的两场战争,搜索引擎与开放用户,一场已经尘埃落定,另一场却刚刚开始。

盛大的故事,似乎也能看到未来。

2 盛大创新院

看法:在我看来,小公司可以通过车库模式长大,而大公司不可能,股东利益最大化是一把砍刀,没有赢利可能的项目在大公司总是最先被枪毙,所以他们聪明地制造了创新研究院这样的机构来延续这种没有财务报表压力的项目的跟进。但是企业不是拿的纳税人的钱,所以创新研究院更应因此担负起企业未来的使命,而不应是个乱碰时尚的学术研究或纯投资投机机构。

人人说腾讯是白眼狼,去嘲笑腾讯的山寨模式,可腾讯的山寨创新研究院确实以大量拥有优秀用户体验的产品征服了用户,使QQ音乐 ,QQ阅读,QQ游戏排在了爱的榜单上,现在是腾讯山寨你们,你又怎么知道过几年就不是你们山寨腾讯。也许你可以说它有用户,他什么都可以做。但360一家定位于安全的单机软件产品凭借孜孜不倦的专业与微创新将产品规模做到如此之大,而盛大文学,盛大游戏如此之规模,却至今建不起一个面向最易传播的那类人群的发声平台,制订不出一套无论是文学还是网游的游戏规则,看看盛大创新院的产品,从省电精灵到盛大下载器,从TT通讯录到光速搜索,全是注定要被历史洪流冲到阴沟里的产品。盛大不是腾讯,没有办法让脱离用户的应用成长起来;盛大也不是创新工场,可以以项目支持的方式去开发脱离用户的应用并出售。

多么可笑,盛大创新院是创新研究院却貌似与盛大无关,盛大研究院的伪创新者们,在你们评估每一个新项目的时候,请仔细想想这个业务与主营业务有什么关系,这事儿到底是该陈天桥来做还是李开复来做?如果创新研究院的80%的产品甚至不能占领20%的市场,这值不值得你们陈大哥冲冠一怒,如果这样,陈大哥,您不如解散这些伪高管,伪专家,伪创新团队,把省下来的钱去推广云中书城,要不干脆交给我,让我给你组建50个真正的打着盛大标签的创新小组,让你们看看新时代的创新,它既不是造龙芯也不是开发.net framework,他是眼界与想象力的凝聚,是梦想与理想主义者的合作。请原谅我的不忿,对这样一个以创新为使命的机构,不能开发服务盛大主流业务的产品与创新,这不能仅叫愦憾;如果更连服务对象都找不准,我只能说,你尽管撒你用不完的钱,改叫盛世创新院好了。

建议:如果盛大创新院成立的初衷就是个投资投机机构,我愿意就此收声,否则对身负使命的研究机构来说,你只需要研究两个问题,一是盛大未来平台架构与战略,二是突破现有业务瓶颈的解决之道。遵循这一原则,盛大创新院的目录列表可以砍掉一半以上的产品,最后产品页那个号称超过50个的保留产品目录,我觉得砍掉的应该更多,因为你总是找不准自己的方向,就象拿破仑征服不了女人就去征服世界一样,病急乱投医,有人没活干,就会找一帮子看似前途无量实则鼠目寸光的项目,让一帮子优秀的开发人员将青春消耗在这些不说能改变世界,连卖糖水都不如的无聊project中。html5,游戏相关,页面技术相关的项目,大应该保留【当然,别跟我说phpcms?用它,哥笑了,你一直用他,豆瓣就一直甩你N条街,直到永恒】。象Bambook这样的硬件产品更值得真心开发。

盛大研究院的方向除了产品,比产品更重要的是创新战略,创新赢利模式与创新内部技术融合,这样的领域比比皆是:盛大文学赢利模式创新,盛大文学与传统媒体的对接创新,帮助盛大文学用户写更好作品的应用,帮助盛大文学作者赢利的模式,盛大文学的社区化框架产品【再次请别谈phpcms, 你们应该去研究一下drupal,了解下什么叫淡妆浓沫总相宜】。在盛大游戏方面,你们更应该指点盛大游戏如何从红海中撤退转型做轻娱乐时代的应用,更应该关注开放平台时代盛大游戏的框架如何改变。当然,还有一些你们陈大哥一直想做却做不到的,比如盛大有什么方式可以创造一个招揽最具传播性那部分人的象开心网一样的发声平台;盛大在这个重新洗牌的时代里如何成为一个轻娱乐的规则制订者,从产品向服务转型。。。


3 盛大文学



看法:如果只有一口井,三个和尚抢水喝,那么每个都必需练练打架的本事,有一天,有个老板把这几个和尚一起买到一个庙里,结果谁都指望老板发水喝,最终就是三个和尚没水喝,这是我爬到盛大文学官网看到一排的平行站位的文学网站后的错觉。

老实说,就文学整合这一块来说,陈大哥已经够努力,他收集了足够多的筹码想太有一番作为,但至今来看似乎没有多少接棒者能让他超出预期,就算他买够了文学的现在,也买不到未来,互联网历史风起云涌,技术更新快如小李飞刀,从豆瓣欲发力原创到腾讯阅读来势汹汹里,我似乎已经看到了猎人拿枪的身影,强大如NOKIA,也顶不住苹果几个来回,不创新,前面就是死路一条,所以,盛大文学,请不要满足于那哪怕是90%的市场,在这个比拼想象力的年代里,谁也保不准谁会裸奔。

老实说,我很少在盛大起点中文网看书,对于我这样的互联网老兵来说,用户体验已经回不去了,无论是起点还是其它几个,用户体验很难入我的法眼,豆瓣已经很好了,她还嫌自己不够好努力在更好;起点已经够烂了,他还在不停的加乱七八遭的功能愿意再烂点。也许有人说真正有魅力的是文字本身,而不是包装,但谁曾证明了究竟是鸡生的蛋还是蛋生的鸡?而且,将起点改造成豆瓣一样简洁易用的体验模式,用一个好的开源平台,也许一个20人的团队工作一个月就够了,我不了解为什么创新院就一直对这样的现象置若罔闻,你们有多少资格不屑这样能赚到未来的IT民工操作?

对于盛大文学下面很多的平行站位的文学网站,我也经常产生一种中国国家队的感觉,11个后卫,没有前锋,它们之间究竟有没有竞争,如何激发他们前进的动力?我总在猜想,不会每个网站后面都有一个运营团队与技术团队吧,多大的浪费!就算你们暂时无法整合成一个有特色的社区平台,至少也应该跟宝洁公司学学,将运营团队整合,将不同的网站当品牌运营吧,从凡夫俗子到天外飞仙,每个人的口味都是不一样的,网站也如此,犯不着都是一个档次,人家淘宝还知道分出个天猫来运作淘宝商城呐,你们就不能将文学,剧本,草根,知名,多媒体等各种方式来给你们的网站群打上不一样的标签?在这个3456D时代,以文学为母语,从web到应用,可以制造多少想象力啊,干嘛每颗树都吊着一根同样的绳子。

建议:如果盛大文学未来只需要做好两件事,一是保住自己原创基地的地位,二是将文学与之相关的产业链统一起来,网络在改变,赢利模式在改变,电视在改变,索尼也在改变,在改变中学习,在学习中改变,这是最佳的途径,按照这两个原则,我给盛大文学如下建议。

1,盛大的多个原创平台的整合是必然的,早比迟好,安比危好,短痛比长痛好,这一点相信不会有多少异议,只是考虑方案问题,改造现有平台完全没有必要,而且易引起非议,我的建议做法是不如另起炉灶成立新的平台,一步步地将现有平台作品与用户整合进去,新的平台将是一个关于原创的全新的社区,采用全新的插件式架构,取个响亮的口号可以是比如:“每个人都是文艺青年”,最上面主菜单只要四个主标题【读书,写书,听书,评书】,风格以豆瓣为榜样,运营赢利模式以苹果腾讯为榜样。

2,在完成原创的大本营后,我们可以建立一个新的平台叫剧本网,剧本网将是网络媒体与传统媒体最直接的沟通者,也是盛大争取传媒多赢最有价值的创新点。最上面四个菜单可以是【电影,电视剧,杂烩,传媒】,让一部分用户直接参与传统媒体的创作,让传媒可以将各种栏目明码标价直接由用户中标来创作,中国有如此多的传统媒体,如杂志,报纸,电视,电影,完全可以充当发行商与作者之间的中介,积极推动双方的合作,建立双方合作的一切有利条件,用一种简洁如google adsense的模式,建立一个利益共享的即写即用即拍即播传媒王国。

3,为写作者提供更多便利,比如建立一个草稿网,让读者可以建立书的章节,并对每次修改做出记录,对每个版本做出比较,在写完书后可以完整的同步提交至原创平台。再比如建立一个知名作家网,让那些获得过荣誉的作家可以在更高端的平台上为更高端的用户服务;要是想的更有意思点,还可以弄个联合创作网,让搞物理的,搞化学的,搞机械的,搞文学的通过恰当的分工一起来做那些比较有创意的作品。

4,对写作者进行细分,再牛B的作家都只有一种生活经历,但读者却千变万化,让那些没有写作能力的人发挥他们做梦,做作品框架的能力,将写作者分为架构者,执笔者并形成利益分配机制。

5,开发适合写作的各种应用,看书的平板大把,写书的平板却未必很多,比如将bambook做成专业的作家必备用具,开发一种应用bambook能够象在纸上写书一样有感觉,提供功能如专业作者笔;涂鸦方式写作,智能全文识别;全文按章节发布一条龙服务。


4 盛大战略



五千字,看累了吧?各位看官,在描述战略以前,我先编个关于社区平台与用户标签的段子逗你们一乐。

话说有一天,陈天桥,周鸿祎,陈一舟,程炳皓四个人在一起打麻将【汗,姓chen-g的祖上冒青烟?】,陈一舟抓到一个没用的二饼,习惯性的丢出去说“奶罩”,众人哈哈大笑,继而把话题上升到用户行为习惯这一高度上【大人物貌似都喜欢这样】。周鸿祎以他习惯性的通行证墓志铭体愤愤不平的说:“社区平台,我是没指望了。安全是360产品的通行证,却是360集团的墓志铭,偶费尽心机的为解决用户的麻烦开发新功能与新产品,用户总是用还没用就破口大骂‘靠,这也是360该干的嘛?‘,你说冤不冤?,做社区,我怕做出来个骂我的社区”; 陈天桥摸着一张白板,心有戚戚,接过话题:“盛大是做娱乐,可世俗总把盛大标签成游戏,我倒是推过社区,小白领不好意思来呀,怕别人骂他们虚度光阴!“,两人一起把幽怨的目光投向程炳皓,程炳皓眼眨泪光:”兄弟们,差不多,差不多呀,我是有社区了,可是有着最高的用户粘度的开心网却有着最低的用户活跃度,知道为啥,用户已经给我们打了个标签“无聊!“,偶现在都指着开放平台救命了!”,话音未落,陈一舟摸起一张牌,大声说“幺鸡,自摸”,众人再次哈哈大笑,陈一舟回过味来,自嘲道“也差不多,也差不多,人人网啥都有,就是没名人,没传播力,所以影响力始终有限,知道为啥嘛,我们的用户标签是”幼稚“,靠,这都多少年了,校内网的少女们个个都已经长成人人网的熟女了,还幼稚?”,众人再次哄堂大笑:)。

说完这个段子,我其实想说的是主流社区平台不但不好建,而且不好守。谁都希望能够象开心网一样异军突起,象天涯社区一样青春常在,可是,有几人能两者合二为一?但是对心怀梦想的巨人来说,没有自己的自留地,你就永远无法表达自己的声音,所以,你仍需时刻找准这样切入市场的机会。在此向上面段子里的我认为的两位理想主义者陈天桥,周鸿祎致敬。我认为1, 360产品很低的创新天花板早就无法承载周鸿祎的事业心,如果这个互联网老兵仍有驰骋互联网10年的雄心,迟早有一天,当他不是被用户骂累了而是被360拖累了的时候,他会放弃360,开启他的另一座里程碑。2,我认为盛大将一直是标签着陈天桥的盛大,但业务绑定从来就是一把双刃剑,让你开始很美好,结局好凄凉。从百度hi到新浪uc到淘宝旺旺,错误的即时通讯平台绑定最终让QQ一家独大,所以盛大旗下不会出现成功的社区,当陈天桥要开始一个社区的时候,他必需在初期抛弃盛大的任何标记让平台自由长大,反正控股与整合,他都懂的。最后,如果2012春天的脚步已经让他们春心萌动,我现在就可以给他们一些《架构陈天桥的娱乐帝国》或《架构周鸿祎的开放帝国》的建议。在创新者眼中,没有什么是不可能的,也没有什么是不可做的,伟大的创新从来就是于无声处听惊雷,市场调查有害无益,直觉是最靠谱的可行性分析,实践是唯一的检验标准。所以,在这个不关爱情的情人节,我的橄榄枝已经抛出,他们谁会向我射来丘比特之箭?

跑题了,言归正传。微博上也流传过一个段子,大致就是说新兵蛋子应聘第二天跑到老板面前谈战略,结果第一个被公司开除了,可见对公司不了解,妄谈战略与盲目推荐战略是件风险很高的事儿。虽然我貌似条条都符合一,好在盛大无法开除我,我也就放心来谈战略了。通过前面的分析,我相信大家也明白了,盛大之困源于两点,1是战略操作无灵魂,2是技术整合无高手。导致盒子里的巧克力各自为战,想凝成一股合力千难万难,让盛大空有着优秀的人才,技术与市场资源,空有着与时代最紧密相连的产业链,却找不到凤凰涅槃的方向。

从来没有一个大公司买到过未来,盛大也不例外,所以必需改变战略,让技术创新而不是投资整合成为企业的第一生产力,让顺应用户需求而不是招揽人才成为企业的核心价值观;如果有一天,当《整合的盛大》升级为《技术的盛大》时,您必将看到盛大已经站在互联网巅峰之上。

在这样一个好时代里,错过或滞后于贴近时代的战略都是不可弥补的损失。翻开最近几期的《it时代周刊》与《互联网周刊》的目录,句句篇篇都充满了对互联网面临重新洗牌的喜悦及在复杂背景下如何前行的迷茫,确实,传统的服务器+浏览器的结构面临挑战,搜索引擎的作用也在弱化。业务,数据,用户被更多地分散在不同的层级中,在云计算,开放平台与应用的冲击下,互联网将会重新组合出一种更有效率的架构,在这种新架构里,蓝海无处不在,却不是个个都值得盛大去做。

就象最尖端的硬件总是被军方掌握一样,最好的技术总是被那些不断挖掘技术的人最先掌握,从面向对象到面向过程到面向模块到设计模式,开发者也许能更快地在这些迷雾下找到合理的框架及在这些框架下所蕴含的蓝海。作为一名以创新为职业的不算成功的正经历七年之痒的创业者与开发者的文艺青年,我向盛大建议一个突破瓶颈的计划,我把这个叫做“锥子”计划。

盒子也许更具平衡力,有更高的安全线,但它有一点远不如锥子,盒子易守难攻,锥子更易刺破瓶颈!

“锥子” 计划是个从头到脚的创新项目集,但盛大无需承担转变的阵痛,因为盒子已经是锥子伟岸的躯干,而锥子计划只是在盒子上面加个锥形的脑袋来打破平衡,然后在下面安上两条腿来跑得更快。这个锥形的脑袋是未来盛大一切项目的灵魂,它提供了无天花板的创新蓝海。两条腿一条努力让盛大成为轻娱乐时代的业务规则制订者,另一条努力建立一个主流社区平台来网住那些最具传播性的人群。

 

 


 


5 尾声:如果创新由我来定义



谈了这么久的创新,有没有真的创新?有!腾讯的创新,就象7,80年代的日本企业,先是模仿,再是超越,最后是创造 ,他们会前途光明;360的创新,先是行为,再是习惯,最后是信念,他们的创新团队不做360系列,一样可以光茫四射;新浪的SinaAppEngine云模式,创新工场的剥离用户专心做业务的模式,都是未来互联网架构下的核心层之一,他们会有美好的未来。

创新:真正的创新总是新鲜思维与痛苦实践在正确的时间碰到对的人的自然产物。她的出现总是伴随着一群在造梦与实践两种境界中付出同等努力并能自如游走的灵魂人物的诞生!

# T606750 盖房 ## 题目描述 黄地产,是当今中国,乃至全球的房产巨鳄。在如今“房叔”“房婶”“房姐”等等牛人盛行的社会里,黄地产仍然始终以他的高富帅的作风和冠绝群雄的房产面积称霸四方。大家在惊叹和膜拜之余,也给他了一个亲切而又卖萌的外号——“房哥哥”。 最近,黄地产又在北京四环内买下一大片面积为 S 的土地,准备在上面搞房产。为了使这片楼盘看起来更有艺术美感和高富帅气质,黄地产公司旗下的设计师们为他设计了 N 种同的楼房造型。当然,这样设计出来的每个楼房也就有各自的占地面积(可能相同)。于是黄地产当即拍板,要求他的施工团队马上开始动工。由于钱是问题(高富帅起……),所以想盖多少房就盖多少房,但是为了看起来那么单调,所以一种房子只能盖一次。同时,所有的房子的占地面积总和能超过土地的面积,而黄地产又想让他的土地太过浪费,所以他想要知道在盖完房子后,土地剩余面积最小可以是多少。 ## 输入格式 第一行,一个数字 S 表示土地面积。 第二行,一个数字 n 表示设计的房子数量。 接下来 n 行,一行一个数。第 i 个数表示第 i 个房子的占地面积 ai(超过int范围). ## 输出格式 输出一个数,表示在盖完房子后,土地剩余的面积的最小值。 ## 输入输出样例 #1 ### 输入 #1 ``` 24 6 8 3 12 7 9 7 ``` ### 输出 #1 ``` 0 ``` ## 说明/提示 关于样例,选择第 1,4,5 个房子或者第 2,3,5 个房子来盖,占地面积都恰好为 24,也就是剩下的面积最小为 0. 对于 20% 的数据,n≤3 ; 对于 60% 的数据,n≤16 ; 对于 100% 的数据,0<=S<=20000,0<=n<=30
05-13
<think>好的,我现在需要解决用户的问题,即如何通过选择超过给定土地面积的房子组合,使得剩余的土地面积最小。这个问题看起来像是背包问题的一个变种。让我先理清思路,再结合动态规划的知识来解答。 首先,用户的问题可以转化为:给定一个土地总面积V,和n个房子,每个房子有一个占地面积(正整数),需要选出若干个房子,使得它们的总占地面积超过V,并且尽可能接近V,这样剩余的面积V - 总占地面积就会最小。这确实和0-1背包问题类似,只过在背包问题中我们通常最大化价值,而这里需要最大化体积(即房子的面积),同时超过容量V。因此,可以将问题视为0-1背包问题的一个变种,目标函数变为总重量(面积)的最大化,而是价值。 接下来,我需要确定如何应用动态规划来解决这个问题。根据引用[1]和[4]提到的0-1背包问题的解法,通常动态规划的状态定义为前i个物品在容量j下的最大价值。这里,价值对应房子的面积,因此状态应该表示前i个房子在总占地面积超过j的情况下,能获得的最大总面积。这样,状态转移方程应该是:dp[i][j] = max(dp[i-1][j], dp[i-1][j - area_i] + area_i),其中area_i是第i个房子的面积。当j >= area_i时,可以选择放入或放入该房子;否则只能放入。 过需要考虑的是,这里的状态是否需要压缩空间。因为标准的0-1背包问题可以通过一维数组进行空间优化,即使用一维数组dp[j],并从后往前更新,以避免重复计算。例如,对于每个房子i,遍历j从V到area_i,更新dp[j] = max(dp[j], dp[j - area_i] + area_i)。这样可以将二维数组的空间复杂度降为一维,时间复杂度是O(nV)。 但这里有一个问题:如果土地面积V非常大,比如超过1e4或更高,使用O(V)的空间可能太现实。过用户并没有提到具体的数值范围,假设V在合理范围内,比如1e3到1e4左右,那么动态规划应该是可行的。如果V非常大,可能需要其他方法,比如贪心算法,但贪心可能无法保证最优解。过根据引用[2]和[4],背包问题属于NP完全问题,当容量很大时可能需要近似算法,但用户的问题可能需要精确解,所以动态规划还是首选。 现在,我需要确认动态规划的初始化和边界条件。初始时,dp[0][j]表示没有房子可选时,最大总面积为0。同样,dp[i][0]表示容量为0时,无法放入任何房子,总面积为0。对于一维数组的情况,初始化dp[0] = 0,其他位置初始化为负无穷或者0?,这里应该初始化为0,因为当没有房子时,最大总面积为0。但在处理中,需要保证超过当前容量j,所以一维数组的初始化应该是全0,然后在更新时取较大值。 接下来,实现步骤应该是: 1. 确定目标:求最大总占地面积超过V,使得剩余面积V - sum最小。 2. 动态规划数组dp[j]表示容量为j时的最大总占地面积。 3. 遍历每个房子,然后逆序遍历j从V到当前房子的面积,更新dp[j]。 4. 最后,最大的dp[V]即为最大总占地面积,剩余面积是V - dp[V]。 例如,假设土地面积V=100,房子面积为[20,30,50,60],那么动态规划处理后,dp[100]的值会是尽可能接近100的总面积。比如选30+70=100的话,但可能没有70的房子,假设例子中的组合,比如20+30+50=100的话,剩余0。这时候dp[100]就是100,剩余0。 需要注意的是,当所有房子的总面积之和小于等于V时,剩余面积就是V减去总和,否则就是V - dp[V]。 然后,用户可能需要具体的代码实现。根据引用[1]中的Python代码示例,可以写出类似的动态规划代码。比如: 初始化一个长度为V+1的数组dp,全部初始化为0。然后对于每个房子的面积,从V到该面积逆序更新dp[j] = max(dp[j], dp[j - area] + area)。最终结果是V - dp[V]。 例如,代码可能如下: def minimize_remaining_area(V, areas): dp = [0] * (V + 1) for area in areas: for j in range(V, area -1, -1): if dp[j - area] + area > dp[j]: dp[j] = dp[j - area] + area return V - dp[V] 但需要考虑特殊情况,比如所有房子的面积都大于V,那么无法选择任何房子,此时剩余面积是V。或者当没有房子时,同样返回V。代码中这些情况是否处理了呢?比如,当areas为空,直接返回V。或者,当所有area > V,那么dp数组一直保持0,所以返回V -0 = V。 现在,验证一下这个思路是否正确。例如,测试案例: 案例1: V=10 areas=[3,5,7] 可能的组合:3+5=8,剩余2。或者5+7超过10,行。3+7=10,剩余0。所以正确解是0。根据代码,dp[10]在遍历时,当处理7的时候,当j=10时,检查j >=7,那么dp[10] = max(dp[10], dp[3]+7)。假设之前处理过3和5,那么在处理3时,可能已经填充到3,然后处理5时,j=10时,可能得到5或者3+5=8。处理7的时候,当j=10,dp[3]是3,所以3+7=10,所以dp[10]=10。因此剩余面积是0,正确。 另一个案例,V=5,areas=[6,7],那么无法选任何,返回5。代码中dp[5]保持0,所以5-0=5,正确。 看来这个方法是可行的。 接下来,用户可能需要如何具体应用动态规划,或者是否有其他方法?比如回溯法,但时间复杂度高。动态规划的时间复杂度是O(nV),对于较大的n和V可能太高效,但这是目前的标准解法。 另外,用户可能需要知道如何记录选择的房子,即求具体方案。根据引用[4]中提到的如何求背包的具体方案,可以通过动态规划后的状态数组,逆向追踪每个物品是否被选中。例如,在二维数组中,可以从dp[n][V]开始,查看是否由dp[n-1][V - area_n]转换而来。如果是一维数组的情况下,可能需要额外的步骤记录选择。或者,在动态规划过程中记录选择的路径。这可能稍微复杂,但如果用户需要,可以在解答中给出具体方案的求解方法。 总结步骤: 1. 确定问题转化为0-1背包,目标最大化总重量(面积),超过容量V。 2. 使用动态规划,状态转移方程。 3. 实现代码,注意逆序更新。 4. 处理边界情况。 5. (可选)求具体方案。 现在,我需要将这些思路整理成用户友好的回答,并生成相关问题。</think>### 问题分析与解法 您提出的问题可转化为**0-1背包问题的变种**,目标是将背包容量(土地面积)尽可能填满,最小化剩余空间。以下是分步解决方案: --- ### 1. 动态规划状态定义 定义状态 $dp[j]$ 表示**总土地面积为 $j$ 时,能容纳的最大房子面积总和**。通过遍历所有房子并更新状态,最终 $dp[V]$ 即为最优解,剩余面积为 $V - dp[V]$。 --- ### 2. 状态转移方程 对每个房子面积 $a_i$,逆序遍历容量 $j$(从 $V$ 到 $a_i$): $$ dp[j] = \max(dp[j], dp[j - a_i] + a_i) $$ --- ### 3. 算法实现(Python) ```python def minimize_remaining_area(V, areas): dp = [0] * (V + 1) for a in areas: for j in range(V, a - 1, -1): dp[j] = max(dp[j], dp[j - a] + a) return V - dp[V] ``` --- ### 4. 示例与解释 - **输入**:土地面积 $V=100$,房子面积 $[20, 30, 50, 60]$ - **最优解**:选择 $20+30+50=100$,剩余面积 $0$ - **输出**:`minimize_remaining_area(100, [20,30,50,60])` → $0$ --- ### 5. 时间复杂度与优化 - **时间复杂度**:$O(nV)$,其中 $n$ 为房子数量,$V$ 为土地面积 - **空间优化**:使用一维数组实现状态压缩 - **极端情况**:若所有房子面积均超过 $V$,直接返回 $V$[^1] --- ### 扩展:输出具体选择的房子组合 若需输出具体选择的房子,可通过回溯法追踪状态转移路径: ```python def trace_selected_houses(V, areas): dp = [0] * (V + 1) selected = [[] for _ in range(V + 1)] for a in areas: for j in range(V, a - 1, -1): if dp[j - a] + a > dp[j]: dp[j] = dp[j - a] + a selected[j] = selected[j - a] + [a] return selected[V] ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值