[LibreOJ β Round]ZQC的拼图

题目描述ZQC 和他的妹子在玩拼图。她们有 n (1≤n≤100) n \ (1 \leq n \leq 100) n (1≤n≤100) 块神奇的拼图,还有一块拼图板。拼图板是一个 m×m (1≤m≤100) m \times m \ (1 \leq m \leq 100) m×m (1≤m≤100) 的正方形网格,每格边长为 1,如图所示。每块拼图都是直角三角形,正面为白色,反面为黑色,拼图放在...
阅读(66) 评论(0)

Travel Plan

题目描述DP按dfs序处理出前缀和后缀背包数组。 设的是f[v]表示纪念品价格的和至少为v所需的最小支出。 询问时two pointer即可。 关于空间可以用unsigned int。 然后我被卡常了???#include #include #define fo(i,a,b) for(i=a;i<=b;i++) #define fd(i,a,b) for...
阅读(58) 评论(0)

[bzoj4828][HNOI2017]大佬

题目描述人们总是难免会碰到大佬。他们趾高气昂地谈论凡人不能理解的算法和数据结构,走到任何一个地方,大佬的气场就能让周围的人吓得瑟瑟发抖,不敢言语。你作为一个OIER,面对这样的事情非常不开心,于是发表了对大佬不敬的言论。大佬便对你开始了报复,你也不示弱,扬言要打倒大佬。 现在给你讲解一下什么是大佬,大佬除了是神犇以外,还有着强大的自信心,自信程度可以被量化为一个正整数C(1<=C<=10^8),想...
阅读(378) 评论(0)

完全背包问题

题目大意做法定义有数量限制的叫大件,其余是小件。 考虑最小的那个体积v1。 如果连v1都是大件,DP容易解决。 不然的话,考虑在模v1意义下进行,最终要凑出的S必定是S%v1。 问题在于,凑出S%v1不一定能凑出S。 实际上,如果能凑出x,x+v1也能凑出。 因此考虑求出每个模意义下能凑出的最小数便可以每次判定能否凑出。 不过还有大件限制困扰我们。我们设f[i,j]表示用了i个大件,凑...
阅读(100) 评论(0)

抗拒黄泉

题目大意一个n*m的网格上,有一些格子可操作。 每一轮等概率选择一个可操作的格子操作,若选择了(i,j),那么第i行与第j行会被标记为操作过。 求期望轮数使得所有行和所有列均操作过。 n,m<=20,n*m<=200容斥我们用P(i)表示已经过了i轮,还没有使得所有行列均操作过的概率。 那么答案即为 ∑∞i=0(P(i)−P(i+1))∗(i+1)\sum_{i=0}^\infty(P(i...
阅读(175) 评论(0)

[bzoj4182]Shopping

题目大意有一颗树,每个节点相当于是一种物品,有三个因素价值、价格、个数。 在树上选一个联通块,然后做多重背包,要求每种物品必须选。 求最大价值。点分治我们进行点分治。 对于分治中心,要么在联通块中,要么不在。 不在的情况就是递归继续处理。 在的话,以分治中心为根造一颗树,然后做依赖多重背包。 具体做法是,在dfs序上弄,对于i,选i+1就到i+1,不选直接到i+size[i+1] 现在...
阅读(185) 评论(0)

[CC LEBOXES]buy

题目大意n个袋子,第i个袋子有pi几率装有vi金钱,否则装有一颗宝石。 有m个食物,第i个食物需要ci的金钱和di颗宝石,求最优情况下,期望买下食物个数。折半宝石个数不超过n。 设f[i,j]表示买下i个食物使用了至多j颗宝石最少花费的钱,可以dp出来。 然后对于袋子,我们折半搜索,先搜索前半部分,并根据宝石数分段,每段按照金钱排序,并统计概率前缀和。 然后搜索后半部分,假如搜出的状态是(v...
阅读(100) 评论(0)

[bzoj3163][HEOI2013]Eden的新背包问题

题目大意现在有n个物品,第i个物品有c[i]个,每购买第i个物品一个需要a[i]元,可获b[i]代价。 现有m个询问,每次询问形如:第x个物品禁止购买,你有y元的话,你能获得的最大价值是多少?询问之间互相独立。 n<=1000,m<=3*10^5。多重背包DP先不考虑禁止购买,这是经典的多重背包问题。 设f[i,j]表示做到第i个物品,目前已经用了j元。 转移显然。 现在我们考虑禁止购买的...
阅读(337) 评论(0)
    个人资料
    • 访问:164335次
    • 积分:8279
    • 等级:
    • 排名:第2235名
    • 原创:645篇
    • 转载:5篇
    • 译文:0篇
    • 评论:159条
    公告
    幻梦终醒,本无不散之宴,却不悔付此华年。
    最新评论
    文章分类