----枚举/二分枚举
凉秋girl
保持学习应该是最难的一件事吧?
展开
-
codefoces 2016 USP Try-outs H - Pop Divas
1 ≤ N, M ≤ 161 ≤ ai, bj ≤ 109题意是给n个数字分别为ai-an,m个数字分别为bi-bn问是否左边的一个集合的数字相乘=右边一个集合的数字相乘。因为数据范围为1e9,两个数相乘是否相等可以用log(a)+log(b)=log(a*b)的原理进行枚举全部子集+log。将枚举出的子集排序,然后b枚举全部子集的同wa-1 long double原创 2017-05-26 21:45:18 · 388 阅读 · 0 评论 -
大背包问题(挑战程序设计竞赛)
40个物品,容量范围为1e15,物品重范围为1e15简单dp来写的话为o(1e15*40)枚举全部取的可能是2^40种,可以折半分为n2,n-n2来枚举。变成枚举2*2^20种,左边枚举完后按照重量排序,如果大重量的价值小于之前小重量的价值就全部剔除。那么右边背包枚举全部可能的时候,W-w=所剩重量(w可以是0),可以二分左边背包的所有重量小于剩余重量而价值又是最大的。pa原创 2017-05-26 21:47:29 · 317 阅读 · 0 评论 -
POJ 2785
给4个集合A,B,C,D,每个集合中有4000个数,问有多少种方法使得A+B+C+D=0.一般枚举显然4000^4,可折半搜索。把A与B的4000^2种选择方式存起来到集合S,排序,然后再把C+D的4000^2的选择枚举,再二分S看是否存在其负数,存在着sum1++(错误)。因为可能A与B由不同数字组合可能得到同一个数,那么C+D中的一个数就可以有多种。正解应该是在S中找第一个大于原创 2017-05-26 22:05:41 · 441 阅读 · 0 评论 -
哈尔滨理工大学软件学院大一个人赛训练Round1<二分,逆向并查集,高维DP,费用流(最大费用),瞎猜??>
只能过5题,自己还是好菜啊!新生赛的水题,知识点应该过7题的,只有那道判断5的个数不会而已,结果dp都错了,逆向并查集也想不到。1、正向的删除可以当作逆向的添加来进行处理,同理正向的添加可以当作逆向的删除来处理。2、找最大/最小问题,如果两次决策是有影响的就不可以轻易贪心,多考虑dp和特殊情况。3、wa 1 题意条件漏掉A、A有k艘船,每艘船长度为m,有m个炮弹,这m个炮弹依次原创 2017-06-12 14:47:44 · 730 阅读 · 0 评论