
状态压缩
rgnoH
OI弱菜
展开
-
2017暑假第二阶段第三场 总结
T1 数正方形问题描述 在n * n的点阵中任取4个点,回答: 问题1:这4个点恰好是“正放”的正方形的4个顶点的方案数是多少? 问题2:这4个点恰好是正方形(包括“正放”和“斜放”)的4个顶点的方案数是多少?输入格式 两个整数n和k,n表示点阵的尺寸,k=1表示需要回答问题1,k=2表示需要回答问题2输出格式 一个整数,表示答案。(模1000000007再输出原创 2017-08-23 20:22:55 · 590 阅读 · 0 评论 -
2017暑假第二阶段第九场 总结
T1 丢钉子问题描述 学校里一年一度的自行车大赛又开始了!!可是ZL同学却非常不高兴,因为他不会骑自行车!所以他决定干扰这次比赛。他已经了解到了这次参加比赛的m名参赛选手的资料。他决定要进行一次惊天动地的干扰。 我们假设比赛场地是一个从起点处向右和向前无限延伸的跑道。编号为1到m的参赛队员从左到右并列排列。从比赛开始后的第1秒末,第2秒末,第3秒末,第4秒末……第m秒末他分别会投一枚钉子到原创 2017-08-30 18:31:52 · 432 阅读 · 0 评论 -
送外卖 拓扑排序+状压DP+最短路
题面1.注意到K=20,这样的数据范围让人想到状压DP,而且允许进行K次Dijkstra算法。2.题目中“公司规定了其中某些小区送餐的先后顺序,比如i小区的餐必须在给j小区送餐前送到”释放出明显的拓扑排序信号。3.设f[i][j]f[i][j]表示在i表示的状态下终点为j时的最小路程和,容易写出状态转移方程:f[en][j]=min{f[st][k]+dis[k][j]}f[en][j]=min\{原创 2017-09-10 16:49:47 · 1089 阅读 · 0 评论 -
搜集卡片 状态压缩+数学期望
NKOJ 2127 搜集卡片问题描述 童年时代,你是否热衷于搜集零食里的卡片呢?比如你集齐了108张水浒英雄的卡片,你会感到非常有成就感,而且还可以去兑换奖品。 作为一个聪明的小孩,你注意到如果你要赢得奖品,你必须买很多很多的零食才能搜集齐卡片。要赢得奖品,你估计要买多少袋零食才能成功?输入格式 第一行,一个整数N(1 <= N <= 20), 表示总共有N种不同的卡片。原创 2017-10-07 20:55:08 · 1262 阅读 · 0 评论 -
葡萄 状压DP
葡萄问题描述 葡萄架上有n 串葡萄,每串葡萄都有一个价值。有一只狐狸想偷走一些。 不过她规定,任意连续的k 串葡萄中,最多选b 串,最少选a 串。 现在,狐狸要选出一些葡萄,使得狐狸得到的葡萄的价值和,与剩余葡萄的 价值的和,差值最大。输入格式 第一行四个整数n,k,a,b 一行N 个整数表示每串葡萄的价值输出格式 一个整数表示答案样例输入 2 1 0原创 2017-11-08 10:57:06 · 459 阅读 · 0 评论 -
蒜头君救人 状压DP
蒜头君救人题目描述 蒜头君是一个乐于助人的好孩子,这天他所在的乡村发生了洪水,有多名村民被困于孤岛上,于是蒜头君决定去背他们离开困境,假设蒜头君所在的村子是 n×mn×m 的网格,网格中.号代表平地,#号代表该地已被洪水淹没,A、B……等大写字母表示该地有村民被困,s代表蒜头君的起点,t代表蒜头君的终点。 蒜头君的初始速度为 k 秒一格,他每次可以向上下左右 4 个方向中的一个移动 1原创 2017-11-08 11:37:37 · 452 阅读 · 0 评论 -
TYVJ4869 罪犯分组 状压DP枚举子集
数据范围这么小,很容易考虑到状压DP。预处理出所有情况的罪犯矛盾数并判断哪些状态是不合法的。之后就转换为了一个比较简单的背包DP问题。状态转移方程: f[S]=min(f[i]+1),i为S的子集,且i xor S表示的集合中矛盾数不超过Kf[S]=min(f[i]+1),i为S的子集,且i \ xor\ S表示的集合中矛盾数不超过K问题似乎解决了,但是有一个问题:如何高效枚举S的子集?如果讨论完原创 2017-10-15 21:45:45 · 516 阅读 · 0 评论 -
HDU 6131 Loop nest 状压DP
Loop nestProblem Description There are m sets Pi,Qi,∀i(1≤i≤m),Pi,Qi⊆{1…i−1}. There are nested loops with m layers, and for the jth layer, the loop variable is ij, the lower bound equals max{ik(k...原创 2018-02-13 22:58:12 · 362 阅读 · 0 评论 -
BZOJ 3934 CQOI 2015 标识设计 插头DP
题面:http://www.lydsy.com/JudgeOnline/problem.php?id=3934很容易想到插头DP。显然只需要记录插头是否存在,而不需要记录插头的连通性。把一个L看做是“一个只含下插头的格子——它下面的若干(可以为零)个含上下插头的格子——含一个上插头、一个右插头的格子——它右边的若干(可以为零)个含左右插头的格子——它右边一个含一个左插头的格子”这五部分...原创 2018-02-25 19:54:56 · 425 阅读 · 0 评论