Mys_C_K的博客

吾自撷高山之月色,独随足落处往行。

AGC 012 E Camel and Oases - 状压dp

题目大意:数轴上有n个不同的点,你有一个能量,初始是v。可以进行两种操作,走到左边/右边一个点,如果当前能量大于等于距离。或者随意跳到一个点,但是要求能量不是0并且能量要减半(向下取整)。对每个点求从这个点出发能否到达所有点。一个点可以经过多次。n,v≤2×105,∣xi∣≤109n,v\le2\...

2018-10-17 14:41:24

阅读数:15

评论数:0

bzoj 4676 Xor-Mul棋盘 - 状压

……每一位独立,直接朴素dp即可。 (可以类似插头dp一样逐格转移优化掉一个2n2^n2n但是懒的写了) #include<bits/stdc++.h> #define rep(i,a,b) for(int i=a;i&a...

2018-10-09 12:24:02

阅读数:23

评论数:0

CF 221 C Circling Round Treasures - dp - 状压

题目大意: 给你一张网个图,每个位置是空地、障碍、炸弹、宝藏、起点之一。 规划一条从其点出发不包含炸弹的闭合路线(回路),并可获得最大的利润。 利润定义为路线内部的宝藏收益(可能为负数)之和减去路径长度(可以不走)。注意路线可以自交。 为了确定一个格子是否在这条路线里面,请使用以下算法判断:1.假...

2018-10-04 11:45:52

阅读数:52

评论数:0

Atcoder Regular 058 E - 和風いろはちゃん / Iroha and Haiku - 状压

题目大意:问有多少长度为N的数列{aN},满足每个数字权值在[1,10]中,并且不存在1 #include #include #include #define lint long long #define LOG 17 #define maxK 10 #define V 1 #define N ...

2018-08-06 12:35:18

阅读数:44

评论数:0

bzoj 2064 分裂 - 状压dp

考虑n=m并且两两数字对应相等的时候答案是0 那么如果我们能把两组数字每一组都划分成k组使得这k组对应相等的话那么答案就可以省去2k 如果有一组内部黑可以继续划分那么答案可以继续减少2 因此问题转化为求最大的k 朴素的做法是3的2n次,加上一些剪枝即可 但其实我们令dp[s][t]在s集...

2018-06-25 11:23:45

阅读数:27

评论数:0

NOIP2017 luogu 3959 宝藏 - 状压dp

按照一层一层的加叶子的方式转移即可 #include<iostream> #include<cstring> #include<cstdio&...

2018-06-25 10:25:45

阅读数:45

评论数:0

Atcoder Regular 058 E - 和風いろはちゃん / Iroha and Haiku - 状压

题目大意:问有多少长度为N的数列{aN},满足每个数字权值在[1,10]中,并且不存在1 #include #include #include #define lint long long #define LOG 17 #define maxK 10 #define V 1 #define N ...

2018-02-05 15:38:00

阅读数:339

评论数:0

[SCOI2007] BZOJ 1072 排列perm - 状压dp

传送门 题解:dp数组记录当前数字和%d以及用了哪些数字 #include #include #include #define N 11 #define D 1010 using namespace std; int fac[10],b[10];char s[N]; int dp[1<&...

2017-08-26 19:52:46

阅读数:172

评论数:0

BZOJ 1688 Disease Manangement 疾病管理 -状压dp

传送门 题解:傻逼题 #include #include #include #include #include #define inf (INT_MIN/2) #define N 1010 #define D 16 using namespace std; inline int get...

2017-08-26 19:50:07

阅读数:292

评论数:0

BZOJ 1231 mixup2 混乱的奶牛 - 状压dp

传送门 题解:傻逼题 #include #include #include #include #define lint long long #define N 17 using namespace std; int n,all,a[N]; lint dp[1<<N][N]; inl...

2017-08-26 19:48:10

阅读数:184

评论数:0

BZOJ1725 Corn Fields牧场的安排 - 状压dp

传送门 题解:傻逼题 #include #include #include #include #define N 13 #define MAXT 380 #define mod 100000000 using namespace std; inline int updv(int &...

2017-08-26 19:44:43

阅读数:157

评论数:0

[SCOI2005] BZOJ 1087 互不侵犯King - 状压dp

传送门 题解: 首先求出哪些行的状态是合法的,即没有相邻的棋子。 发现合法的行状态数量只有90,没有2^9=512这么多。 然后枚举相邻两行,预处理能否转移。 然后记q[i]表示第i种合法的行方案是q[i],cnt[i]表示q[i]放了多少个棋子 然后记dp[i][j][k]表示前i行第i行状态为...

2017-08-26 19:41:32

阅读数:172

评论数:0

[SCOI2005] BZOJ 1088 扫雷-状压dp

传送门 题目大意:略。 题解: 大佬们好多花式做法。 一开始想的直接递推发现推不出来。 (后来看了网上一个人的题解发现可以直接递推) 想了想发现推不出来的原因是,一方面第二列的第i行对第一列的第i+1行有影响要记录, 而且不记录“轮廓”的话会有重复计数。 注意到一个格子周围的“轮廓...

2017-06-16 20:23:44

阅读数:270

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭