摘要: 题意: 构造一个序列(1-n),使LIS和LDS的和最小 分析: 根据Dilworth'o theorem,最长上升子序列的个数等于最长不升子序列的长度 则LIS + LDS = 最长上升子序列的个数 + 最长上升子序列的长度(因为1-n) 阅读全文
posted @ 2018-10-01 22:22 akira123 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 题意:对于1 - n的一个排列a,计算上升序列长度为1,2,....,n的序列的种类 分析: (1)上升子序列问题,注意到与一般最长上升子序列问题不同的是(1) 计算各个长度的序列种类 (2) 只是1-n的排列 (2)容易想到的是先计算长度为i的以a[j]结尾的种类,记为dp[i][j],则dp[i 阅读全文
posted @ 2018-09-06 22:51 akira123 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 题意:一串仅包含大写字母的字符串,求[L,R]中字典序最小的字母的个数 利用动态规划求解 线段树解法 阅读全文
posted @ 2018-08-27 21:22 akira123 阅读(107) 评论(0) 推荐(0) 编辑
摘要: #include #include #include #include #include using namespace std; /* 1. 利用二进制枚举子集(问题的组合 a1;hash2->a2;...hashk->ak; 不同对数 = a1(a2+a3+...+ak) + a2(a3+a4+...+ak) + ... + ak-1(ak) */ int mark[20... 阅读全文
posted @ 2018-08-27 16:27 akira123 阅读(75) 评论(0) 推荐(0) 编辑