题目链接:hdu 4758 Walk Through Squares 题意: 给你一个n*m的网格,现在你要从(1,1)走到(n,m),每次只能向右走或者向下走,走完后会形成一个包含R,D的序列,这个序列必须要包含题目给出的两个字符串,问有多少种方案。 题解: 由于要从(1,1)走到(n,m),所以 ...
分类:
其他好文 时间:
2017-07-29 13:57:24
阅读次数:
116
1. LCS 最长公共子序列 2. LIS 最长上升自序列 3. 01 背包 4. 完全背包 5. 多维背包 6. 树形 DP (Unaccepted) 7. 区间 DP 8. 状态压缩 DP (Unaccepted) 9. 例题 (Unaccepted) #A 传纸条(Accepted) #B 乘 ...
分类:
其他好文 时间:
2017-07-20 15:25:28
阅读次数:
198
非法二进制数 题意:求n位的二进制数中包含11的有多少个,并对1e9+7取模 思路:简单的状态压缩dp,dp[i][0]表示i位最末位为0的个数,dp[i][1]表示i位最末位为1的个数(这里指的是不包含11的),dp[i][2]表示答案,递推式见代码 AC代码: ...
分类:
其他好文 时间:
2017-07-16 14:59:28
阅读次数:
136
题目链接:2017盛大游戏杯 零件组装 题意: 有n个零件,给你相邻关系和排斥关系,每两块零件组装起来有一个代价,问最少的代价总和是多少。 题解: 考虑状态压缩,dp[i]表示i这个集合为一个零件块。 那么要枚举一下i的子集。O(3^n). 先要预处理一下每个集合的排斥个数和相邻个数,然后容斥一下就 ...
分类:
其他好文 时间:
2017-07-11 23:26:00
阅读次数:
348
方格取数(1) Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem Description 给你一个n*n的格子的棋盘,每一个格子里面有一个非负数。 从中取出若干个数,使得 ...
分类:
其他好文 时间:
2017-07-09 16:24:11
阅读次数:
286
玻璃球 【深蓝】 时间限制(普通/Java) : 10000 MS/ 30000 MS 运行内存限制 : 65536 KByte总提交 : 57 测试通过 : 11 比赛描述 假设玻璃球半径充分大,以至于管中不存在三个可以同时相互接触的玻璃球。给定这样的限制,表示玻璃球将总以这样的方式装入:他们的中 ...
分类:
其他好文 时间:
2017-07-06 10:12:10
阅读次数:
117
题目链接:Resource Archiver 解析:n个正常的串。m个病毒串,问包括全部正常串(可重叠)且不包括不论什么病毒串的字符串的最小长度为多少。 AC自己主动机 + bfs + 状态压缩DP 用最短路预处理出状态的转移。能够优化非常多 AC代码: #include <cstdio> #inc ...
分类:
其他好文 时间:
2017-07-05 19:56:31
阅读次数:
164
哈罗哈的大披萨 【淡蓝】 时间限制(普通/Java) : 1000 MS/ 3000 MS 运行内存限制 : 65536 KByte总提交 : 99 测试通过 : 14 比赛描述 热风哈罗哈(三牌楼)店正在搞活动:他们将提供一个大披萨给第一个告诉他们以下信息的人:一次购买任一种披萨,哪种单位面积的价 ...
分类:
其他好文 时间:
2017-07-03 10:14:56
阅读次数:
157
题目大意: 给定一个序列a,包含n个数(n<=15),每个数的大小小于等于50 初始时x = 0,让你每次选a中的一个数y,使得x = x + x^y 问如何安排选择的次序,使得最终结果最大。 考虑状态压缩,dp[S]表示选了S状态的数的最大结果 我们发现这样做是错误的,因为目前的最大并不意味最后的 ...
分类:
其他好文 时间:
2017-06-21 00:26:18
阅读次数:
150
题意:n个点 m条边的图,路径价值定义为相邻点乘积,若路路径c[i-1]c[i]c[i+1]中c[i-1]-c[i+1]有边 则价值加上三点乘积找到价值最大的哈密顿回路,和相应的方法数n<=13.暴力dfs O(13!) TLE 由于n<13 经典的状态压缩dp [状态] [当前点位置 ][前一点位 ...
分类:
其他好文 时间:
2017-06-18 18:06:42
阅读次数:
158