摘要: 同行元素递减,同列元素递增,采用嵌套二分的方法 阅读全文
posted @ 2016-10-02 00:05 vwirtveurit 阅读(273) 评论(0) 推荐(0)
摘要: 容易想到将问题转化为求图的独立数问题 ,但求一般图的独立集是一个NPC问题,需要一些转化。 状态压缩,枚举每个上古农场是否选择,然后将剩下的新农场根据i + j奇偶性分为x , y集。 结果为 max(tot + nx + ny - 二分图匹配数) 阅读全文
posted @ 2016-09-23 20:29 vwirtveurit 阅读(573) 评论(0) 推荐(0)
摘要: 分析: 给定n个二元组,求选出两个二元组(可以是同一个)组成一序列其LIS为1,2,3,4的方法数。 分别记为s1, s2, s3, s4 s1,s4对应的情形为a >= b >= c >= d, a < b < c < d,易求 长度为3时,先求得s3 + s4的值,分解为两种情况的和减去两种情况 阅读全文
posted @ 2016-09-21 22:04 vwirtveurit 阅读(267) 评论(0) 推荐(0)
摘要: 枚举每个置换,求在每个置换下着色不变的方法数,先求出每个循环的大小,再动态规划求得使用给定的颜色时对应的方法数。 dp[i][j][k]表示处理到当前圈时R,B,G使用量为i,j,k时的方法数,背包思想。 阅读全文
posted @ 2016-09-12 00:18 vwirtveurit 阅读(221) 评论(0) 推荐(0)
摘要: 湘潭邀请赛的C题,哈密顿路径,边为有向且给定的所有边起点小于终点,怎么感觉是脑筋急转弯? 以后一定要牢记思维活跃一点,把复杂的事情尽量简单化而不是简单的事情复杂化。 阅读全文
posted @ 2016-08-30 13:51 vwirtveurit 阅读(319) 评论(0) 推荐(0)
摘要: 曾写过迭代加深搜索的方法,现在使用在AC自动上跑最短路的方法 dp[i][j]表示状态为到节点i,模式串是否包含的状态为j的最短串的长度,则状态转移方程为: dp[nx][ny] = min(dp[x][y] + 1) , 其中nx为x后继结点,ny为从y转移过来的新状态,更新时加入队列 阅读全文
posted @ 2016-08-28 19:26 vwirtveurit 阅读(275) 评论(0) 推荐(0)
摘要: dp[i][j]表示行走i步到达j的最大值,dps[i][j]表示对应的串 状态转移方程如下: dp[i][chi[j][k]] = min(dp[i - 1][j] + sum[chi[j][k]]) 阅读全文
posted @ 2016-08-27 16:44 vwirtveurit 阅读(318) 评论(0) 推荐(0)
摘要: 给定N个长度不超过20的模式串,再给定一个长度为M的目标串S,求在目标串S上最少改变多少字符,可以使得它不包含任何的模式串 建立Trie图,求得每个节点是否是不可被包含的串,然后进行DP dp[i][j]表示在Trie图上行走i步到达节点j的要修改的最小次数,则 dp[i + 1][chi[j][k 阅读全文
posted @ 2016-08-26 16:52 vwirtveurit 阅读(303) 评论(0) 推荐(0)
摘要: 先使用AC自动机求得状态转移关系,再建立矩阵,mat[i][j]表示一步可从i到j且i,j节点均非终止字符的方案数,则此矩阵的n次方表示n步从i,到j的方法数。 阅读全文
posted @ 2016-08-26 11:24 vwirtveurit 阅读(227) 评论(0) 推荐(0)
摘要: 数位DP加二分 阅读全文
posted @ 2016-08-25 19:41 vwirtveurit 阅读(256) 评论(0) 推荐(0)