上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 59 下一页
摘要: 1059: [ZJOI2007]矩阵游戏 链接 思路: 可以在对角线上填满的条件是,每一行,每一列,都要有一个数字。所以把列看成一排点,行看成一排点。二分图匹配,要求匹配数是n,即全匹配成功。 代码: 阅读全文
posted @ 2018-05-03 20:04 MJT12044 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 2111: [ZJOI2010]Perm 排列计数 链接 题意: 称一个1,2,...,N的排列$P_1,P_2...,P_n$是Magic的,当且仅当$2<=i<=N$时,$P_i>P_{i/2}$. 计算1,2,...N的排列中有多少是Magic的,答案可能很大,只能输出模P以后的值 虽然是中文 阅读全文
posted @ 2018-05-02 19:23 MJT12044 阅读(345) 评论(0) 推荐(1) 编辑
摘要: 1096: [ZJOI2007]仓库建设 思路 斜率优化。 代码 阅读全文
posted @ 2018-05-01 20:54 MJT12044 阅读(175) 评论(0) 推荐(1) 编辑
摘要: 3437: 小P的牧场 思路 斜率优化。 dp[i]表示到第i个点(第i个点按控制台)的最小代价。 代码 阅读全文
posted @ 2018-05-01 20:29 MJT12044 阅读(441) 评论(0) 推荐(0) 编辑
摘要: 4525: [Cerc2012]Kingdoms 题意 n个国家,两两之间可能存在欠债或者被欠债的关系,一个国家破产:其支出大于收入。问一个国家能否坚持到最后。 思路 很有意思的一道题。 dp[s]表示在当前国家存在情况为s,1-存活,0-破产。那么起始为11111...。然后枚举一个国家,判断是否 阅读全文
posted @ 2018-05-01 18:58 MJT12044 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 3195: [Jxoi2012]奇怪的道路 链接 思路: 因为一个点只会和它前后k个点连边,所以,记录下每个点的前k个点和它自己(共k+1个点)的状态,1表示奇数,0表示偶数。 dp[i][j][s][p]表示当前考虑到第i个点,一共连了m条边,状态为s,在前k个点中,当前考虑第p个点是否与i连边。 阅读全文
posted @ 2018-05-01 18:11 MJT12044 阅读(210) 评论(0) 推荐(0) 编辑
摘要: HDU1028 Ignatius and the Princess III 代码 1 #include<cstdio> 2 #include<algorithm> 3 #include<iostream> 4 5 using namespace std; 6 7 int a[130],b[130]; 阅读全文
posted @ 2018-05-01 18:10 MJT12044 阅读(327) 评论(2) 推荐(0) 编辑
摘要: 链接 思路 斜率优化。 f[i] 表示i点建检查点的花费。 f[i] = f[j] + i*(i-j-1)-(s[i-1]-s[j]) + a[i],从j转移,s为前缀和。 代码 阅读全文
posted @ 2018-04-29 18:11 MJT12044 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 链接 题意: 有n个人,每个人可能会说: 第x个人是好人/坏人 如果第x个人是好人/坏人,则第y个人是好人/坏人 思路: 状压dp,首先每个人所说的人只能是他前面10个人,所以对于第i个人记录下,他前面十个人的情况。 对于第i个人,如果他说的话一个状态不冲突,那么i可以由这个状态转移。 注意:对于“ 阅读全文
posted @ 2018-04-28 21:27 MJT12044 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 链接 思路 斜率优化dp。 代码 阅读全文
posted @ 2018-04-28 21:27 MJT12044 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 链接 思路 状压dp,dp[i][s]表示当前是第i次选择,吃过的宝物的状态是s,的期望得分。 如果一个宝物可以吃,那么可以选择吃或不吃,取最大的。 zz的我:50010的空间开成了500100,然后提示tle,醉了。。 代码 阅读全文
posted @ 2018-04-28 18:05 MJT12044 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 链接 题意 给n张卡片,每张卡片都有出现的概率,求收集到全部的卡片的期望次数。 思路 状压dp。dp[i] 表示收集了i张,的期望次数。dp[n]=0;可能自己转移到自己,解一下方程。 记zz的bug:1、1<<20在计算器中算完了之后是1048576,然后就少看了一位,开了110000,然后就一直 阅读全文
posted @ 2018-04-28 15:05 MJT12044 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 链接 题意: n+1个点,求从0开始,走完所有的点,再回到0号点的最小距离。 思路 状压dp。首先Floyd预处理出任意两个点之间的距离。dp[s][i]表示走过的点的状态是s,其中到达i点的最小距离(i点属于走过的点,即s状态下的点)。当然s是二进制数1表示走过,0表示为走过。 那么dp[s][i 阅读全文
posted @ 2018-04-28 10:51 MJT12044 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 链接 思路 状压dp,dp[i][j]:表示到第i行,当前状态为s的最大值。预处理在每一行选的时候可能的状态,及这个状态的价值。 转移方程:dp[i][j] = max(dp[i][j],dp[i-1][k]+sum[i][j]) k与j不冲突。 代码 阅读全文
posted @ 2018-04-27 22:00 MJT12044 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 链接 思路 状压dp,dp[i][j]:表示到第i行,状态为j的方案数。预处理出每一行所有的可能的选法。 转移方程:dp[i][j] += d[i-1][k],j与k不冲突。 代码 http://poj.org/problem?id=3254 阅读全文
posted @ 2018-04-27 22:00 MJT12044 阅读(132) 评论(0) 推荐(0) 编辑
上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 59 下一页