
DP
文章平均质量分 72
Lopka
大一新生 真.萌新
大四新生 还是萌新
现在工作 依然萌新
展开
-
第九届蓝桥杯C/C++ B组决赛 搭积木dp
题目描述 小明对搭积木非常感兴趣。他的积木都是同样大小的正立方体。 在搭积木时,小明选取 m 块积木作为地基,将他们在桌子上一字排开,中间不留空隙,并称其为第0层。 随后,小明可以在上面摆放第1层,第2层,……,最多摆放至第n层。摆放积木必须遵循三条规则: 规则1:每块积木必须紧挨着放置在某一块积木的正上方,与其下一层的积木对齐; 规则2:同一层中的积木必须连续摆放,中间不能留有空隙; 规则3:小明不喜欢的位置不能放置积木。 其中,小明不喜欢的位置都被标在了图纸上。图纸共有n行,从下至上的每一行分别对应积木原创 2020-11-05 18:13:31 · 496 阅读 · 0 评论 -
第九届蓝桥决赛 C/C++ B组 激光样式dp
激光样式 x星球的盛大节日为增加气氛,用30台机光器一字排开,向太空中打出光柱。 安装调试的时候才发现,不知什么原因,相邻的两台激光器不能同时打开! 国王很想知道,在目前这种bug存在的情况下,一共能打出多少种激光效果? 显然,如果只有3台机器,一共可以成5种样式,即: 全都关上(sorry, 此时无声胜有声,这也算一种) 开一台,共3种 开两台,只1种 30台就不好算了,国王只好请你帮忙了。 要求提交一个整数,表示30台激光器能形成的样式种数。 思路 我看网上大多都是DFS直接暴力,还有一些大佬用二进制状原创 2020-11-04 21:31:23 · 175 阅读 · 0 评论 -
P2925 [USACO08DEC]Hay For Sale S
思路 佐田,我在优快云上学背包问题,有个博主的博客写的特别好啊传送门,我啪的一下就站起来了很快啊,然后上来就是一个01背包例题板子,我大意了啊没有优化,IDE全部防出去了昂,给我来了一发TLE,发生甚么事了?我想怎么回事?哦,原来是少了一个前缀和优化。我优化写了一发交上去了。啊,这时间,按照传统功夫的点到为止来讲,我已经可以下一题了啊,IDE也承认我的优化结果正确,但是我忽然偷袭!点开了题解,我大意了啊没有想到,如果dp【j】==c了之后应该可以直接跳出循环的啊,我劝,年轻人,耗子尾汁,以后做题前要好好反原创 2020-11-03 16:35:30 · 277 阅读 · 0 评论 -
状压DP TSP(状态压缩动态规划)
压缩状态 把每种状态做离散化标记. 比如一个灯位于(i,j),灯亮的话light[ i ][ j ]=1;不亮就是0. 这个东西选是1不选是0. 这个点走过就是1没走过就是0等等…… 所以我们把每种状态都可以哈希为一个十进制整数,这个整数根据每个点状态种类的数量不同可以对应转化为二进制、三进制、四进制等等来表示一个状态 比如二进制:1001,转化为十进制为9,那么状态[ 9 ]就代表着选四号位,不选三号位,不选二号位,选一号位这一种状态 再假设一个人只有三种状态,吃饭 0,睡觉 1,打东东 2,那么三进制:原创 2020-11-01 22:24:11 · 518 阅读 · 0 评论