51
Dev开发社区
首页
文章
问答
工具
搜索
登录
注册
#O2
BZOJ1607 [Usaco2008 Dec]Patting Heads 轻拍牛头 筛法
给出n个数,每一个数字<1000000,对于每一个数,让你求剩余的n-1个数中有多少是它的约数。 用桶计数,弄出每一个数字的出现次数。 然后用类似筛法的方法,把每一个数字的倍数都加一下即可。 #include<cstring>#include<algorithm&g...
代码星球
·
2020-07-14
BZOJ1607
Usaco2008
Dec
Patting
Heads
BZOJ1597 [Usaco2008 Mar]土地购买 动态规划 斜率优化
有N(1<=N<=50,000)块长方形的土地.每块土地的长宽满足(1<=宽<=1,000,000;1<=长<=1,000,000).每块土地的价格是它的面积,但可以同时购买多快土地.这些土地的价格是它们最大的长乘以它们最大的宽,但是土地的长宽不能交换.如果FJ买一块3x5的地和...
代码星球
·
2020-07-14
BZOJ1597
Usaco2008
Mar
土地
购买
BZOJ4997 [Usaco2017 Feb]Why Did the Cow Cross the Road III
在n*n的区域里,每一个1*1的块都是一个格子。 有k头牛在里面。 有r个篱笆把格子分开。 如果两头牛可以不经过篱笆走到一起(过程中不能出界),那么他们就是不互相远离的,反之就是互相远离的。 问有多少对牛是互相远离的。注意(x,y)和(y,x)算作同样的。 对于同一区域的牛,我们可以相同对待。 所以我们...
代码星球
·
2020-07-14
the
BZOJ4997
Usaco2017
Feb
Why
BZOJ4994 [Usaco2017 Feb]Why Did the Cow Cross the Road III 树状数组
给定长度为2N的序列,1~N各处现过2次,i第一次出现位置记为ai,第二次记为bi,求满足ai<aj<bi<bj的对数。 n<=100000(这个数据范围是我凑出来的,但是我没试过更小的范围,BZOJ上没写数据范围(截止2017-08-24)) 水题,开一个树状数组在线解决。...
代码星球
·
2020-07-14
the
BZOJ4994
Usaco2017
Feb
Why
BZOJ4989 [Usaco2017 Feb]Why Did the Cow Cross the Road 树状数组 逆序对
一条马路的两边分别对应的序列A、B,长度为n,两序列为1到n的全排列。当Ai=Bj时,两边之间会连一条边。你可以选择序列A或序列B进行旋转(只能使队尾或队头位置上的数字变成队头或队尾上的数字)任意K(0<=K<n)步,如123,可以变成231或312。求旋转后,最少的边的交叉数。 两个都可...
代码星球
·
2020-07-14
the
BZOJ4989
Usaco2017
Feb
Why
BZOJ4990 [Usaco2017 Feb]Why Did the Cow Cross the Road II 动态规划 树状数组
有上下两行长度为n的数字序列A和序列B,都是1到n的排列,若abs(A[i]-B[j])<=4,则A[i]和B[j]间可以连一条边。现求在边与边不相交的情况下的最大连边数量。 我们用dp[i][j]表示枚举到A序列的第i个位置,与B序列的第j个位置匹配,所得到的最大效益,这样显然是要超时的,但是不妨去思考一...
代码星球
·
2020-07-14
the
BZOJ4990
Usaco2017
Feb
Why
BZOJ4993 [Usaco2017 Feb]Why Did the Cow Cross the Road II 动态规划 树状数组
有上下两行长度为n的数字序列A和序列B,都是1到n的排列,若abs(A[i]-B[j])<=4,则A[i]和B[j]间可以连一条边。现求在边与边不相交的情况下的最大连边数量。 我们用dp[i][j]表示枚举到A序列的第i个位置,与B序列的第j个位置匹配,所得到的最大效益,这样显然是要超时的,但是...
代码星球
·
2020-07-14
the
BZOJ4993
Usaco2017
Feb
Why
BZOJ4992 [Usaco2017 Feb]Why Did the Cow Cross the Road 最短路 SPFA
在一幅n*n的地图上,Amber从左上角走到右下角,每走一步需要花费时间t,每走完3步时,还要加上到达的那个格子的值。这里的3步不包括起动的那个格子。如果刚好3步到达右下角,则右下角格子的值也要算进花费中,否则不用计算进去。求最小花费。n<=100 最短路写一写就可以了,居然不卡spfa! 有一个点要注意...
代码星球
·
2020-07-14
the
BZOJ4992
Usaco2017
Feb
Why
BZOJ1178 [Apio2009]CONVENTION会议中心 贪心 set
一堆线段,现在取出最多条数,使其互不覆盖,并输出字典序最小的方案。 这题好坑。 首先,注意一点,最后不能有多余的空格。 第一问就是基础的线段覆盖。 关键在于第二问。 我们要准备一个函数——Get_Ans(L,R),用来求解L~R这个区间内,最多可以取多少线段。 这个可...
代码星球
·
2020-07-14
BZOJ1178
Apio2009
CONVENTION
会议中心
贪心
BZOJ1177 [Apio2009]Oil 二维前缀和 二维前缀最值
在一个n*m的矩阵中,每一个位置一个数字。 现在让你选出3个k*k的矩阵,它们互不相交,问最大数值和为多少。 注意:n,m<=1500 一开始总想着dp,发现不大可能。 暴搜也不行。 然后突然发现,很简单,情况总数非常的少。 只有以下6种,从3个区域中各选择一个最大的。 然后就很简单了,我们只需...
代码星球
·
2020-07-14
二维
前缀
BZOJ1177
Apio2009
Oil
BZOJ1179 [Apio2009]Atm Tarjan 强连通缩点 动态规划
有一个有向图,每一个节点有一个权值,其中有一些结束点。 现在,你要从S出发,到达任意一个结束点,使得经过的节点的权值和最大(可以重复经过某一个节点,但是权值只记入一次)。 小码农题。 如果有强连通分量,那么之间的点是可以全部拿到的,傻子才不拿。 所以先Tarjan强连通缩个点。 然后就是一个D...
代码星球
·
2020-07-14
BZOJ1179
Apio2009
Atm
Tarjan
强连
BZOJ1911 [Apio2010]特别行动队
UPD(2018-04-01):用Latex重打了公式……把一个整数序列划分成任意连续的段,使得划分出来的每一段的价值和最大。对于某一段,价值的计算公式为 $V=ax^2+bx+c$,其中$x$ 为当前段的数值和。这题是博主大蒟蒻的第一道斜率优化D...
代码星球
·
2020-07-14
BZOJ1911
Apio2010
特别
行动
UOJ#206. 【APIO2016】Gap 构造 交互题
原文链接www.cnblogs.com/zhouzhendong/p/UOJ206.htmlT=1的情况直接大力从两边向中间询问即可。T=2的情况挺妙的,我没想到。 考虑首先花费n+1代价得到全局最大值和最小值,也就是a[1]和a[n]。 然后考虑将值域均分为n-1段,每一段询问一下。答案一定在相邻两段区间的左边一...
代码星球
·
2020-07-09
UOJ#206.
APIO2016
Gap
构造
交互
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个数分成...
代码星球
·
2020-07-09
UOJ#104.
APIO2014
Split
the
sequence
UOJ#416. 【APIO2018】铁人两项
原文链接www.cnblogs.com/zhouzhendong/p/UOJ416.html完了完了SB选手Tarjan写挂。考虑先Tarjan缩个点双建个圆方树。然后发现,确定起点和终点后,中间点的可选方案数就是 这条路径上的所有点双size之和-2。定义原点表示原图中的点,方点表示圆方树中新加...
代码星球
·
2020-07-09
UOJ#416.
APIO2018
铁人
两项
首页
上一页
1
2
3
4
5
...
下一页
尾页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他