上一页 1 ··· 50 51 52 53 54 55 56 57 58 ··· 70 下一页
摘要: #include #define LL long long #define fi first #define se second #define mk make_pair #define pii pair #define piii pair > using namespace std; const int N = 1e5 + 10; const int M = 10 + 7; const i... 阅读全文
posted @ 2018-06-14 17:22 NotNight 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 思路:随便想想就能想出来啦把。。。 卡了我一个vector。。。 阅读全文
posted @ 2018-06-14 16:06 NotNight 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 思路:对于两张高度一样的海报 i, j, 即 y[ i ] = y[ j ], 如果对于任意i < k < j 有y[ k ] > y[ i ] && y[ k ] > y[ j ] 那么i 和 j 就能用同一张海报覆盖 那么我们就能用单调栈维护这个过程。 阅读全文
posted @ 2018-06-14 12:43 NotNight 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 思路:我们只要check一遍每个长度为k的区间就好啦,对于一个区间来说的最优值显然是中位数,我们显然要动态求 第k大,所以需要一个二叉搜索树,用treap就好啦。 阅读全文
posted @ 2018-06-13 16:24 NotNight 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 思路:有一个公式 如果 x = a1 ^ b1 * a2 ^ b2 * ...... * an ^ bn 其中ai为质数,那么总共的因子个数为 (b1 + 1) * (b2 + 1) *....* (bn + 1), 可得最多只和前16个质数有关,那么我们dfs暴力枚举每个质数的指数个数,注意因为值 阅读全文
posted @ 2018-06-12 20:48 NotNight 阅读(163) 评论(0) 推荐(0) 编辑
摘要: dfs + 剪枝, 用最大最小值剪。 阅读全文
posted @ 2018-06-12 19:49 NotNight 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 他们oj挂掉啦, 我先保存一下代码。。。 直接dp复杂度, n * 100 * 100, 我们可以将前一个人的信息丢进单调队列中去,可以优化成n * 100; 阅读全文
posted @ 2018-06-12 16:57 NotNight 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给你n个数, 让你问你最长的满足要求的区间有多长,区间要求:MAX - MIN >= m && MAX - MIN <= k 思路:单调队列维护递增和递减,在加入数值的过程中更新答案。 阅读全文
posted @ 2018-06-12 16:02 NotNight 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 先要了解一个结论,在多种可行的堆叠方案中,至少有一种能使层数最高的方案同时使得底边最短。即底边最短的,层数一定最高。 dp[ i ] = min(sum[j - 1] - sum[i - 1]) j > i 且 sum[j - 1] - sum[i - 1] >= dp[j]可以用单调队列优化。 阅读全文
posted @ 2018-06-12 10:49 NotNight 阅读(130) 评论(0) 推荐(0) 编辑
摘要: E - Post Lamps 思路:一开始看错题,以为一个地方不能重复覆盖,我一想值这不是sb题吗,直接每个power check一下就好。。。。复杂度nlogn 然后发现不是,这样的话,对于每个power,假如我们覆盖到了x,那么我们要找到一个最大的 p <= x 且p 可以放灯,那么转移到的 为 阅读全文
posted @ 2018-06-11 14:32 NotNight 阅读(129) 评论(0) 推荐(0) 编辑
上一页 1 ··· 50 51 52 53 54 55 56 57 58 ··· 70 下一页