#APIO

spring接口文档注解:@ApiOperation(转)

@ApiOperation不是spring自带的注解是swagger里的 com.wordnik.swagger.annotations.ApiOperation;@ApiOperation和@ApiParam为添加的API相关注解,个参数说明如下: @ApiOperation(value=“接口说...

BZOJ1178 [Apio2009]CONVENTION会议中心 贪心 set

  一堆线段,现在取出最多条数,使其互不覆盖,并输出字典序最小的方案。   这题好坑。  首先,注意一点,最后不能有多余的空格。  第一问就是基础的线段覆盖。  关键在于第二问。  我们要准备一个函数——Get_Ans(L,R),用来求解L~R这个区间内,最多可以取多少线段。  这个可...

BZOJ1177 [Apio2009]Oil 二维前缀和 二维前缀最值

  在一个n*m的矩阵中,每一个位置一个数字。  现在让你选出3个k*k的矩阵,它们互不相交,问最大数值和为多少。  注意:n,m<=1500  一开始总想着dp,发现不大可能。  暴搜也不行。  然后突然发现,很简单,情况总数非常的少。  只有以下6种,从3个区域中各选择一个最大的。  然后就很简单了,我们只需...

BZOJ1179 [Apio2009]Atm Tarjan 强连通缩点 动态规划

  有一个有向图,每一个节点有一个权值,其中有一些结束点。  现在,你要从S出发,到达任意一个结束点,使得经过的节点的权值和最大(可以重复经过某一个节点,但是权值只记入一次)。   小码农题。  如果有强连通分量,那么之间的点是可以全部拿到的,傻子才不拿。  所以先Tarjan强连通缩个点。  然后就是一个D...

BZOJ1911 [Apio2010]特别行动队

  UPD(2018-04-01):用Latex重打了公式……把一个整数序列划分成任意连续的段,使得划分出来的每一段的价值和最大。对于某一段,价值的计算公式为 $V=ax^2+bx+c$,其中$x$ 为当前段的数值和。这题是博主大蒟蒻的第一道斜率优化D...

UOJ#206. 【APIO2016】Gap 构造 交互题

原文链接www.cnblogs.com/zhouzhendong/p/UOJ206.htmlT=1的情况直接大力从两边向中间询问即可。T=2的情况挺妙的,我没想到。  考虑首先花费n+1代价得到全局最大值和最小值,也就是a[1]和a[n]。  然后考虑将值域均分为n-1段,每一段询问一下。答案一定在相邻两段区间的左边一...

UOJ#104. 【APIO2014】Split the sequence 动态规划 斜率优化

原文链接www.cnblogs.com/zhouzhendong/p/UOJ104.html首先证明一个结论:对于一种分割方案,分割的顺序不影响最终结果。证明:对于树a[x]和a[y],如果x与y之间有分割,那么它们对答案的贡献就是a[x]*a[y],否则无贡献。于是问题转化成DP:设dp[i][j]表示把前j个数分成...

UOJ#416. 【APIO2018】铁人两项

原文链接www.cnblogs.com/zhouzhendong/p/UOJ416.html完了完了SB选手Tarjan写挂。考虑先Tarjan缩个点双建个圆方树。然后发现,确定起点和终点后,中间点的可选方案数就是  这条路径上的所有点双size之和-2。定义原点表示原图中的点,方点表示圆方树中新加...

UOJ#103. 【APIO2014】Palindromes PAM模板题

原文链接www.cnblogs.com/zhouzhendong/p/UOJ103.html  我终于会PAM啦  感谢CLY大佬手把手教我PAM  建个PAM。  统计一下每一个节点的Right集合大小,设size[x]为节点x的right集合大小。  求出max(len[x]*size[x]),做完了。#inclu...

UOJ#110. 【APIO2015】Bali Sculptures 贪心 动态规划

原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ110.html我们发现n=2000的子任务保证A=1!分两种情况讨论:$nleq100$:  贪心地从高位到低位逐位考虑,看当前位是否可以放0。用$dp[i][j]$表示前$i$个数是否可以在各段sum的or值不超过当前上限的...

BZOJ3675 [Apio2014]序列分割 动态规划 斜率优化

原文链接http://www.cnblogs.com/zhouzhendong/p/8697258.html  对于一个非负整数序列,小H需要重复k次以下的步骤:  1.选择一个长度超过1的序列  2.从任意位置将序列分割成两个非空的新序列。  每次,小H将会得到分数。分数为两个新序列中元素和的乘积。请选择一种最佳的分...

BZOJ2303 [Apio2011]方格染色 并查集

  现在有一个N*M矩阵,矩阵上只能填数字0或1 现在矩阵里已经有一些格子被填写了数字,询问是否存在一种填写方案使得「任意一个2*2的矩阵异或和为1」,输出方案总数  我们发现当我们已经确定(1,1)的颜色为1的时候:  我们知道c(i,j)。  那么如果i和j都是偶数,那么就有c(1,1)^c(i,1)^c...

BZOJ2809 [Apio2012]dispatching 可并堆

   n个点组成一棵树,每个点都有一个领导力和费用,可以让一个点当领导,然后在这个点的子树中选择一些费用之和不超过m的点,得到领导的领导力乘选择的点的个数(领导可不被选择)的利润。求利润最大值。n≤100000    做一个类似树形dp的操作。  维护大根堆,每次从子节点到父节点就是...
代码星球 ·2020-06-27

APIO 2017 游记

//第一次写游记,只是流水账。。。结果好像确实只去游了……day-11  省选挂了,即将退役……(然而apio之后得知并没有退役,感谢放我一条活路)(吐槽出题人考完才造数据,题目没有子任务之类的玩意,O(Tn^2)暴力ac了T<=100,n<=1000...
代码星球 ·2020-04-15

[APIO2016]烟火表演

题目描述https://www.lydsy.com/JudgeOnline/problem.php?id=4585题解这题太神了。我们可以先列出一个dp方程,dp[x][d]表示x节点到所有叶子的距离的d时的代价。结论1:对于每个点来说,这个dp数组为二维平面上是一个下凸函数。证明:对于叶子来说一定成立,在w[x]处为...
代码星球 ·2020-04-12