随笔分类 -  DP-状压

摘要:"3812: 主旋律" 题意:一张有向图,求它的生成子图是强连通图的个数。$n \le 15$ 先说一个比较暴力的做法。 终于知道n个点图的是DAG的生成子图个数怎么求了。 暴力枚举哪些点是一个scc,然后缩点,枚举入度为0的点,容斥原理dp DAG个数 $$ d(S) = \sum_{T \sub 阅读全文
posted @ 2017-05-04 21:49 Candy? 阅读(1212) 评论(0) 推荐(1) 编辑
摘要:"算法马拉松24" "A 小C的多边形" 题意: n+1个点的多边形。给外圈的边标记上1~n,里圈的边也标记上1~n,使得对于一个外圈相邻点与中间点构成的三角形的边权之和都相等。$n \le 10^6$ 题解: 显然每个三角形权值和为$\frac{3(n+1)}{2}$ 一开始简化成n个数排一个环, 阅读全文
posted @ 2017-05-01 21:48 Candy? 阅读(550) 评论(0) 推荐(0) 编辑
摘要:传送门 题意: $n$个公交站点,$k$辆车,$1...k$是起始站,$n-k+1..n$是终点站 每个站只能被一辆车停靠一次 每辆车相邻两个停靠位置不能超过$p$ 求方案数 $n \le 10^9,\ p \le 8,\ k \le 10$ 思考过程中遇到的主要问题是“所有车是同时前进的”,既不能 阅读全文
posted @ 2017-03-07 23:43 Candy? 阅读(435) 评论(0) 推荐(0) 编辑
摘要:传送门 水题不解释 这道题的主要目的在于记录一个枚举子集的技巧 阅读全文
posted @ 2017-03-07 23:33 Candy? 阅读(219) 评论(0) 推荐(0) 编辑
摘要:传送门 题意:找一个经过所有边权值最小的回路,$n \le 15$ 所有点度数为偶则存在欧拉回路,直接输出权值和 否则考虑度数为奇的点,连着奇数条边,奇点之间走已经走过的路移动再走没走过的路 然后大体想一想就是权值和加上奇点的最小权匹配啦 蒟蒻不会带花树就打了状压$DP$ $f[s]$表示已经选的集 阅读全文
posted @ 2017-03-07 20:57 Candy? 阅读(407) 评论(0) 推荐(0) 编辑
摘要:传送门 题意:略 论文 《SPFA算法的优化及应用》 http://www.cnblogs.com/lazycal/p/bzoj-2595.html 本题的核心就是求斯坦纳树: Steiner Tree: Given an undirected graph with non-negative edg 阅读全文
posted @ 2017-03-07 18:10 Candy? 阅读(770) 评论(0) 推荐(1) 编辑
摘要:题意: $n$个人排队打饭,第$i$个人口味$a_i$,能容忍最多身后第$b_i$个人先打饭。 先后两人$i,j$做饭时间为$a_i & a_j - a_i | a_j$ 求最少时间 一开始想$f[i][s]$表示第$i$个人身后人吃饭集合$s$,第$i$个人最后吃完的状态,发现没法转移 这时候应该 阅读全文
posted @ 2017-03-07 14:32 Candy? 阅读(668) 评论(0) 推荐(0) 编辑
摘要:传送门 题意:对于任意一个正整数 n≤100000,如何求出{1, 2,..., n} 的满足若 x 在该子集中,则 2x 和 3x 不能在该子集中的子集的个数(只需输出对 1,000,000,001 取模的结果) 好巧妙的转化啊: 构造一个矩阵,把限制关系转化成矩阵的相邻元素不能同时选 1 3 9 阅读全文
posted @ 2017-03-07 09:04 Candy? 阅读(335) 评论(0) 推荐(0) 编辑
摘要:传送门 题意:一开始$n$块面积最后$m$块面积,面积和相等每次可以分裂或者合并,问最少几次 昨天忘发了... 不会.... 考虑最差情况,$n+m-2$所有先合并再分裂 发现只有当前后两个子集相等时可以变成对方 如果前后能分成$k$堆对应相等,次数就是$n+m-2*k$ 问题就是求前后各能分成几堆 阅读全文
posted @ 2017-03-07 07:56 Candy? 阅读(288) 评论(0) 推荐(0) 编辑
摘要:传送门 题意: 一个无向图,从$1$到$n$,要求必须经过$2,3,...,k+1$,给出一些限制关系,要求在经过$v \le k+1$之前必须经过$u \le k+1$ 求最短路 预处理出$1...k+1$到其他点的最短路 然后$f[i][s]$表示当前在$i$已经经过的点的集合为$s$的最短路 阅读全文
posted @ 2017-03-06 23:51 Candy? 阅读(597) 评论(0) 推荐(0) 编辑
摘要:题意:给一个数字串s和正整数d, 统计s有多少种不同的排列能被d整除(可以有前导0) 100%的数据满足:s的长度不超过10, 1<=d<=1000, 1<=T<=15 看到整除应该往余数方面想 $f[s][i]$表示当前已经选择的数的集合为$s$,余数为$i$的方案数 枚举下一个数字,用更新的写法 阅读全文
posted @ 2017-03-06 23:45 Candy? 阅读(239) 评论(0) 推荐(0) 编辑
摘要:1725 题意:$m*n:\ m,n \le 12$的牧场,有的格子不能选,相邻不能同时选,求方案数 $f[i][j]$前$i$行当前行选的集合为$j$ #include <iostream> #include <cstdio> #include <cstring> #include <algori 阅读全文
posted @ 2017-03-06 23:40 Candy? 阅读(270) 评论(0) 推荐(0) 编辑
摘要:传送门 题意:$n$种宝物,出现$k$次每次一种,每种宝物有价值和吃掉它之前必须要吃掉的宝物的集合,求采取最优策略的期望最大价值 1<=k<=100,1<=n<=15,分值为[-10^6,10^6]内的整数。 看到$n$应该想到状压.... $f[i][s]$表示前$i$次已经吃掉的集合为$s$的期 阅读全文
posted @ 2017-03-05 16:26 Candy? 阅读(289) 评论(0) 推荐(0) 编辑
摘要:C - Circling Round Treasures 题意: 在一个$n*m$的地图上,有一些障碍,还有a个宝箱和b个炸弹。你从(sx,sy)出发,走四连通的格子。你需要走一条闭合的路径,可以自交,且围出来的复杂多边形内不能包含任何炸弹。你围出来的复杂多边形中包含的宝箱的价值和减去步数就是你的收 阅读全文
posted @ 2017-03-04 19:29 Candy? 阅读(1324) 评论(0) 推荐(0) 编辑
摘要:这是和一个人的约定,“2017年的CF一场不落” 阅读全文
posted @ 2017-01-14 10:42 Candy? 阅读(353) 评论(0) 推荐(0) 编辑
摘要:1087: [SCOI2005]互不侵犯King Description 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻 阅读全文
posted @ 2016-12-24 23:31 Candy? 阅读(425) 评论(0) 推荐(1) 编辑