CoderCup解题报告

Source && Official_Sols 戳我

A

官方的做法是处理每个极长单调串,求前缀和,然后每次询问做二分。
也可以用线段树啦。记下从端点开始的串长度,区间合并即可。
还有用莫队算法过的。

B

移步题解

C

dp[i][j][k]表示前i个数,选的最小数是j,然后LIS长度为2的串第二个最小为k的方案数。首先不选a[i],直接从i-1转移过来。考虑选a[i],如果比j小,就可以更新ja[i],比k小,更新k,比k大,那就不行了,接上就不合法了。

D

测试智商的题。。
具体题目细节不太记得了,反正是底下这个意思。
首先如果没有关系,就是按Xi - Yi排序,然后挨个取。
考虑关系。AB被LL取为a,LW取为b,WL为c,WW为d。由于有一个条件a+d=c+b。对于A和B,我们固定B为某个人取走了,然后观察L对于A的决策。
B被W取,则WW到LW,分数变化为b-d
B被L取,则WL到LL,分数变化为a-c不是等宽字体?。。
由于上面的等式,不管B是谁取,分数变化相同。也就是说L取不取A,和B无关。。L取B时也一样。对于W也是一样,也就是说A和B无关。。
所以只要能找到一种转换,把关系得分拆给A和B的得分上就好了。。这个列一个方程组就可以了。。

E

不会=。= 移步题解

F

知道怎么做了但是不会写哎。主席树+字典树 || 可持久化字典树?移步题解。。

G

观察代价式子,最好是只加一条边的值。。所以如果需要的话我们就把最短的边加得足够大就好了。。

H

最后胜利的肯定是能力值最大的呀。。

I

迭代好像很厉害的样子。。
可以列方程高斯消元。。也可以直接让A给B的等于B给A的。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值