纪中第二十一天(最后一天)
今天是我来到纪中的最后一天了,下午我就要离开这个美丽的纪中了!!!
今天上午比了赛,直接自闭
但是比完赛听完题后,我的心中十分清爽!!
T1:
考虑每只蚂蚁较复杂,我们试着转换思想
看成蚂蚁碰头之后不回头,因为每个蚂蚁都是一样的。
设蚂蚁位置为pi,最短时间=max(min(pi, l-pi)),最长时间=max(max(pi,l-pi))
T2:
这道题的方法:贪心+高精度
首先可以通过运算得出:n(n+1)>(n-1)(n+2)
再将几个数拆分可以看出基本上是连续自然数 ( ⊙ o ⊙ )!
所以就得出了这个结论 将一个数拆分成2+...+x 若a[x]<=a[x-1] 那么就将最后一个数的值往前分配,一次分配1,直至全部分配完 但是数字有10000,最少是乘到140吧O(∩_∩)O~ 所以肯定会超啊 所以我不得不使用高精度
T3:
这是一道数学题,可以用DP推导。设f[i][0]表示进行到第i位,且第i位放士兵的总方案数;再设f[i][1]表示表示进行到第i位,且第i位放战车的总方案数。那么根据题意,易得转移式如下:
f[i][0]=f[i-1][0]+f[i-1][1]
f[i][1]=f[i-1][0]
设第i位总方案数为g[i],所以整理得:
g[i]=f[i][0]+f[i][1]
=f[i-1][0]*2+f[i-1][1]
=g[i-1]+f[i-2][0]+f[i-2][1]
=g[i-1]+g[i-2]
所以长度为i的方案数就等于 长度为i-1的方案数 + 长度为i-2的方案数
于是推导就相当于斐波拉契数列!(真恶心)
可是O(N)也只能过70%的数据点,100%则矩阵乘法,O(log N)AC。
T4:
理论时间复杂度:N*N*logN*1/4(事实上更小)
30%可以暴力搜索;
50%可以贪心算法+快速排序;(贪心选物,排序确定顺序)
100%可以先用贪心法找出该取的物品,然后用堆来维护取出顺序。原理:第X+1次取物肯定实在第X次的基础上,从剩余物品中找出距离更大或质量更大的物品,堆可以以logN的速度插入,到需要计算最终分时再逐个取出,不需要时只是维护便好。(最终得分来源于基础分,即将已选的物品质量从小到大排个序,先取小后取大)(要多暴力就有多暴力,复杂度N*N *logN*1/4以下)当然,可以不暴力,有更优的维护方法,可以自行思考。
这套题真是:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!