导航

2015年11月6日

摘要: 题意:给n个点,给出矩阵代表i到j单向边的距离。要求,不介意访问每个点的次数,要求访问完每个点,使得路程总和最小。思路:由于不介意访问每个点的次数,所以可以先进行FLOYD求出任意两个点之间的最短路,然后就是DP。同样的,1代表有访问过,0代表没访问过。dp[s][j]代表访问状态为s的情况下最终到... 阅读全文

posted @ 2015-11-06 21:32 tun~ 阅读(771) 评论(0) 推荐(0) 编辑

摘要: 题意:给n个点m条无向边。要求每个点最多走两次,要访问所有的点给出要求路线中边的权值总和最小。思路:三进制状态压缩DP,0代表走了0次,1,2类推。第一次弄三进制状态压缩DP,感觉重点是对数据的预处理,利用数组分解各个位数,从而达到类似二进制的目的。然后就是状态的表示,dp[s][i]表示状态s时到... 阅读全文

posted @ 2015-11-06 21:24 tun~ 阅读(126) 评论(0) 推荐(0) 编辑

摘要: 题意:有n种化学物质,他们彼此反应会有一种消失并释放出能量。给出矩阵,第i行j列代表i和j反应j消失释放的能量。求最大释放多少能量。思路:状态压缩DP,我是这么想的。利用二进制0代表该物质还存在,1代表不存在。那么一共有2^(n)种状态,每个状态都视为从上一个状态发生一次反应少了一种物质。枚举可能少... 阅读全文

posted @ 2015-11-06 21:19 tun~ 阅读(243) 评论(0) 推荐(0) 编辑

摘要: 题意:给一块n*m的田地,1代表肥沃,0代表贫瘠。现在要求在肥沃的土地上种草,要求任何两个草都不能相邻。问一共有多少种种草的方法。种0棵草也是其中的一种方法。n和m都不大于12.思路:状态压缩DP,dp[i][j]代表在第i行状态j一共有多少种可能的种植方法。j是二进制转化而来的状态,0代表不种草,... 阅读全文

posted @ 2015-11-06 19:30 tun~ 阅读(133) 评论(0) 推荐(0) 编辑