
状态压缩dp
HARD_UNDERSTAND
Just try
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
hdu 1074 Doing Homework 状压dp
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1074 题意: 有n门课程作业,每门作业的截止时间为D,需要花费的时间为C,若作业不能按时完成,每超期1天扣1分。 这n门作业按课程的字典序先后输入 问完成这n门作业至少要扣多少分,并输出扣分最少的做作业顺序 PS:达到扣分最少的方案有多种,请输出字典序最小的那一组方案 分原创 2016-08-11 09:50:05 · 249 阅读 · 0 评论 -
UVa 11759 洛克人的难题 状压dp
题意: 你最初只有一个武器,你需要按照一定的顺序消灭n个机器人(n<=16)。每消灭一个机器人将会得到他的武器。每个武器只能杀死特定的机器人。问可以消灭所有机器人的顺序方案总数。 分析: 基础的集合dp,我是用f[s][num]表示已经得到武器状态s,已经杀了num个机器人后可以得到的方案总数,然后dfs一下就好,比较简单。#include<iostream> #include<cstring原创 2016-09-03 23:29:13 · 338 阅读 · 0 评论 -
UVA 10817 UVALive 4643 状压dp
这两个题的思想是相似的,可以对比一下。 题目: UVA - 10817 Headmaster’s Headache 题意: 某校有n个教师和m个求职者,已知每人的工资和能教的课程集合,要求支付最少的工资使得每门课都至少有两名教师教学。在职教师必须招聘。 分析: d[i][s1][s2]表示考虑到第i个教师以后,可以教授的课程集合是s1和s2,还需要花费的钱?其中s1和s2分别保存某门课原创 2016-09-05 09:04:11 · 282 阅读 · 0 评论 -
Wannafly模拟赛3 贝伦卡斯泰露 【折半搜索+hash,状压dp】
题目:https://www.nowcoder.com/acm/contest/13/B 题意: 给出一个长度为n的数列Ai,问是否能将这个数列分解为两个长度 为n/2的子序列,满足 ∙ 两个子序列不互相重叠。 ∙ 两个子序列中的数要完全一样,{1, 2} = {1, 2},{1, 2} ≠ {2, 1}。分析: 刚开始贪心,第2个序列尽量匹配最左边的数,后来想了想不对。 后来dfs爆原创 2017-10-10 13:23:10 · 554 阅读 · 0 评论