给定一个序列,初始为空。现在我们将 到 的数字插入到序列中,每次将一个数字插入到一个特定的位置。每插入一个数字,我们都想知道此时最长上升子序列长度是多少?
「BeiJing2006」狼抓兔子 - 最小割
左上角点为 ,右下角点为 ,有以下三种类型的道路:
道路上的权值表示这条路上最多能够通过的兔子数,道路是无向的。左上角和右下角为兔子的两个窝,开始时所有的兔子都聚集在左上角 的窝里,现在它们要跑到右下解 的窝中去,狼王开始伏击这些兔子。当然为了保险起见,如果一条道路上最多通过的兔子数为 ,狼王需要安排同样数量的 只狼,才能完全封锁这条道路,你需要帮助狼王安排一个伏击方案,使得在将兔子一网打尽的前提下,参与的狼的数量要最小。因为狼还要去找喜羊羊麻烦.
「NOI2014」起床困难综合征 - 位运算 + 贪心
drd 有着十分特殊的技能,他的防御战线能够使用一定的运算来改变他受到的伤害。具体说来,drd 的防御战线由 扇防御门组成。每扇防御门包括一个运算 和一个参数 ,其中运算一定是 ,, 中的一种,参数则一定为非负整数。如果还未通过防御门时攻击力为 ,则其通过这扇防御门后攻击力将变为 。最终 drd 受到的伤害为对方初始攻击力 依次经过所有 扇防御门后转变得到的攻击力。由于 atm 水平有限,他的初始攻击力只能为 到 之间的一个整数(即他的初始攻击力只能在 ,,, 中任选,但在通过防御门之后的攻击力不受 的限制)。为了节省体力,他希望通过选择合适的初始攻击力使得他的攻击能让 drd 受到最大的伤害。
「HAOI2015」树上操作 - 树链剖分 + DFS序
有一棵点数为 的树,以点 为根,且树点有边权。然后有 个操作,分为三种:
- 把某个节点 的点权增加 。
- 把某个节点 为根的子树中所有点的点权都增加 。
- 询问某个节点 到根的路径中所有点的点权和。
「SCOI2015」小凸解密码 - set
给定一个环形数列 和运算符序列 ,可以从任意一个位置作为起点计算 ,方法为:
- ;
- 当 时,;
- 当 时,;
每次可以修改 和 中的某一个元素,询问以指定起点开始计算 得到的环形数列 中距离 最远的零区间中距离 最近的零的距离。
「SCOI2015」小凸玩密室 - 树形 DP
密室是一棵有 个节点的完全二叉树,每个节点有一个灯泡。点亮所有灯泡即可逃出密室。每个灯泡有个权值 ,每条边也有个权值 。点亮第 个灯泡不需要花费,之后每点亮 个新的灯泡 的花费,等于上一个被点亮的灯泡 到这个点 的距离 ,乘以这个点的权值 。在点灯的过程中,要保证任意时刻所有被点亮的灯泡必须连通,在点亮一个灯泡后必须先点亮其子树所有灯泡才能点亮其他灯泡。请告诉他们,逃出密室的最少花费是多少。
「BZOJ 2143」飞飞侠 - 最短路
飞国是一个 的矩形方阵,每个格子代表一个街区。飞国是没有交通工具的。飞侠完全靠地面的弹射装置来移动。每个街区都装有弹射装置。使用弹射装置是需要支付一定费用的。而且每个弹射装置都有自己的弹力。设第 行第 列的弹射装置有 的费用和 的弹力。并规定有相邻边的格子间距离是 。那么,任何飞侠都只需要在 支付 的费用就可以任 意选择弹到距离不超过 的位置了。
有三个飞侠,分别叫做 X、Y、Z。现在它们决定聚在一起玩,于是想往其中一人的位置集合。告诉你 个飞侠的坐标,求往哪里集合大家需要花的费用总和最低。