jzoj(senior)2019.1.28模拟B组比赛总结

比赛链接

赛时

T1

题意:在一个有n个数的a集合(第i个读入的数编号即为i)里选出三个数组合成三角形,这三个数的编号为i,j,k(i<j<k),求这三个数(以从小到大的形式输出)的最小(指i,j,k最小)解。

依据:三角形的边的性质:两边之和大于第三边
设三角形的三条边为a,b,c
∵a+c>b
∴|a-c|<b
∵a+b>c
∴|a-b|<c
∵b+c>a
∴|b-c|<a
若a<b<c
则可根据上述内容推出以下不含绝对值的结论:
1、c-a<b       2、b-a<c        3、c-b<a
4、a+c>b      5、a+b>c       6、b+c>a
那么a的取值范围为:c-b<a<b+c
b的取值范围为:c-a<b<a+c
c的取值范围为:b-a<c<a+b
若a,b,c没有明确谁大谁小
则a的取值范围变为:|c-b|<a<b+c
b的取值范围变为:|c-a|<b<a+c
c的取值范围变为:|b-a|<c<a+b
若a,b,c依次为Ai,Aj,Ak,那就变成:
则Ai的取值范围为:|Ak-Aj|<Ai<Aj+Ak
Aj的取值范围为:|Ak-Ai|<Aj<Ai+Ak
Ak的取值范围为:|Aj-Ai|<Ak<Ai+Aj
并且结论为:
1、Ai+Ak>Aj      2、Ai+Aj>Ak       3、Aj+Ak>Ai
4、Ak-Ai<Aj       5、Aj-Ai<Ak       6、Ak-Aj<Ai
所以这道题可以先暴力枚k,再枚j,再枚i,期望分应为30分(时超),结果我特么90(数据太水了吧)?
或者用单调队列维护(我不知道该怎么做)
预估正解:单调队列维护

T2

题意:有n个点,m条边(每条边分别连接一个x点和一个y点),那还要加多几条边才能使每个点都至少有k条边(两个点之间可以连若干条边!)。

O(n)方法(期望分100)(我怎么打成了60分?好吧是错解,没有特判):

我们用一个a数组存第i个点已有的边数,由于一个边可以连两个点,那就用一个变量yu存当前还可以使用的边数(前面的点用剩的边数(加的边),也就是另一端(加的边)还没有连点的边的数量),然后扫一遍,如果a[i]<k,那就给它加边,先从变量yu里面拿另一端没有连到点的边来凑,如果不够ans就加上k-a[i](凑了以后的a[i]),这样子答案就出来了。

T3

题意:给了一个由n个数组成的后缀数组A,再给了一个n*26的矩阵数组W(用输入的x0和一条“w[i][j]=x=(100000005x + 1532777326) mod 998244353"的关系式推出整个数组),求价值最大的(w{i, j}表示第i个位置填第j个小写字母的价值)推出来后缀数组是A的字符串的价值和。

我*,这什么鬼,不会啊,这道题跳过。

T4

题意(已被作者篡改成另一个故事,但题目的意思相同):在一个平面直角坐标系(二维宇宙)中有n个恒星际光速飞船,它的坐标的x轴和y轴都是整数,每个恒星际光速飞船必须要向四个方向(沿着这个坐标系的x轴和y轴行驶,也就是上、下、左、右四个方向)之一以亚光速(每个恒星际光速飞船的速度都相同,且速度时瞬间变为亚光速)前进,将这条路变成一条黑域((等同于黑洞),其他飞船一旦走上这个点就会被吸走),所以这条路线上必须没有其他恒星际光速飞船经过,或者是有恒星际光速飞船从这个点出发(出发时也会将这个位置变成黑域),求让这些飞船都不会发生事故的方案有多少个(对998244353取模)

这肯定是道4重(四个方向)以上的dp题,我不知该怎么搞,不会昂,先跳过,比完赛再想。

得分:90+60+0+0=150分

赛后:

T1:我的暴力没判找不到(事实暴力可以过)的情况,挂在了第一个点(我@#&#&%#&@)!

T2:我没判当max(a[i])>sum(a[i])/2的情况,如果是这种情况就要输出max,否则输出sum(a[i])/2(向上取整)

T3:将A数组转成一个Rank数组(就是转成排名),然后dp一下

T4:写一个5重dp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值