摘要:
Hills And Valleys 题意:给你一个序列, 可以翻转一次区间 [l, r] 求最大 非递减的 序列长度。 题解:枚举翻转区间,然后匹配。 如果不翻转区间, 那么就相当于用b[] = {0,1,2,3,...,7,8,9} 来匹配原序列, 可以重复匹配, 求最长的长度。 现在我们假设翻转 阅读全文
摘要:
题意: 现在有n条火车, 每条火车都有一个运行 [ Li, Ri ], 现在有m支火箭队, 每次火箭队都会破坏这整条铁路上的一个点, 如果一条火车的运行区间[Li, Ri] 被破坏了, 那么这条火车会立刻停止。 题解:线段树, 先将所有火车的左右端点排好序, 然后每一个叶子节点都是一个火车的区间, 阅读全文
摘要:
整数规划 原来的km+hunger跑法T了, 拿了一个新的板子, 新的写法是将这原来的找新的最小的d放在了上一次的残留图上,从而减小复杂度, 但是个人还不是很理解为什么最小的d下一次出现的位置一定是这次出现的位置的对应的x的点。 复杂度:n^3 代码: 1 #include<bits/stdc++. 阅读全文
摘要:
这个题目一个队友没读懂, 然后我读错了题目, 还让他堆了半天的公式写了半天的代码, 交上去一直0.0, 另一队友问题目有没有读错, 我坚持没有读错, 然后坑了2个小时的时间,不然应该会早一点做出来。 题意: 平面上有n个不重和的点, 现在定义一个集合是好的, 那么就需要满足, 这个集合里的每一个子集 阅读全文
摘要:
题意:给你一个n, 接来下给你一个 [1,n] 中偶数的排列, 还有一个 [1, n] 中 奇数 按照递增的顺序排列, 现在求一个原数列, 使得偶数列排序 和 奇数列 都是原数列的一个子序列, 现在求原数列的最小的逆序对是多少。 题解: 昨天一直想的是把偶数列往奇数列里面插入, 又想到这个东西有一定 阅读全文
摘要:
Double Queue 题意:有一个银行, 现在有3种操作, 1 往机器里插入一个优先度为 k, 编号为 x 的人 2 对机器里的优先度最大的人 处理业务, 输出这个人的标号, 并且从机器里删除中这个人。 3 对机器里的优先度最小的人 处理业务, 输出这个人的标号, 并且从机器里删除中这个人。 题 阅读全文
摘要:
bzoj-3223 splay 区间翻转最简单的应用。 本来只要[1,n]的区间,建立树的时候要建立[0,n+1]的区间,因为对区间 [l,r] 翻转的时候需要先把 l-1 的节点旋转到根节点的位置, 然后在将 r+1 的节点旋转到 l-1 的 右儿子, 那么 [l, r] 这段区间就在 r + 1 阅读全文
摘要:
A: Stages 题意: 给你n个字符, 现在需要从中选取m个字符,每个字符的花费为在字母表的第几位,并且如果选了某个字符, 那么下一个选择的字符必须要在字母表的2位之后, 假如选了e 那么 不能选 a-f 可以选择 g-z, 现在求能满足条件的最小花费。 题解: 直接模拟。 代码: 1 #inc 阅读全文
摘要:
题意: 构造一个n*n 的 01 矩阵, 0 < n < 2001, 矩阵需要满足没有一个子矩阵的4个角都是1,并且矩阵内1的个数至少有85000个。 题解:数论构造题 参考From 代码: 1 #include<bits/stdc++.h> 2 using namespace std; 3 #de 阅读全文
摘要:
题意: 有n种商品,每种商品有一个价格 p[i] 。 每种商品都有2种打折方式: 1. 给你优惠 d[i] 元。 2. 免费送你第 f[i] 种饮料。 现在求每种饮料至少一瓶的最小花费。 dp[i][0] 表示 i 的子树内所有的饮料都至少买了一瓶。 dp[i][1] 表示 i 的子树内所有的饮料都 阅读全文