随笔分类 - dp
摘要:思路 被这道题折磨死了,只是发上来纪念一下,思路同方格取数(1),我已经疯了! 代码
阅读全文
摘要:题意 给定n*n的一个矩阵,每个格子有个非负数,要求是取了这个数就不能取它相邻的数,要使得取得数总和最大。 思路 这题一开始完全不知道怎么搞,查了题解之后发现有状压的做法和网络流(最大团)的做法,然而最大团已经触及我的知识盲区了,有空再补一下这个做法。 这里谈状压dp的解法。限于空间和时间,当然不能
阅读全文
摘要:题意 要把一些珠子串成一串,每个珠子只可以和限制特定的别的珠子串在一起,给定珠子数量和限制条件,求能组成的不同的项链的种数。 思路 看数据范围,再加上这是有限制条件的问题求解,很容易发现是状压dp的问题。dp[i][j]表示放下第i个珠子后的状态为j(即i为前一个珠子),只要保证下一个珠子能和前一个
阅读全文
摘要:题意 一个人要完成作业,给定作业的ddl和完成所需时间,超时扣分,要决定完成作业的顺序使得扣分最少 思路 暴力枚举需要n!次,不可取,但发现做完相同的题目时,用时是相同的,但扣分不同,就想到利用状态压缩,把做了哪几题的状态用1<<n的状态数记录,dp[i]表示状态为i时的扣分,最小化dp[i] 然后
阅读全文
摘要:题意 有n个数和m个运算符,按顺序选m个数进行运算,初值为k,问最后能得到的最大值是多少。 思路 dp[i][j]表示选到了第i个数时用了j个运算符,观察发现,一个数只能由他前一个状态的最大值或最小值转移过来(因为乘上一个负数会使最小的数变最大),所以我们同时维护最大最小。 然后转移就行了,需要注意
阅读全文
摘要:题意 两个人在一起玩galgame,一个人想看good ending,另一个想看bad ending,两个人轮流选选项都按最优策略选,问最后能看到什么结局。 思路 可以理解为一个人想让最终分数尽可能高,另一个想让最终分数尽可能低,然后根据每个问题双向dp,一下子就写出来了。 代码 后记 这题赛时没想
阅读全文

浙公网安备 33010602011771号