9.10T实战感悟

来源:互联网 发布:淘宝cpu散片会挑体质吗 编辑:程序博客网 时间:2024/06/06 19:30

今天考得不怎么样啊……
感觉失误比较大……

T1

题意:
给定n个数和m组询问,每组询问问你区间[l,r]的第k小是多少
n104,m2×103
如此简单的一道题,我竟然没有想出特别好的算法
一看基本就是O(nm)的算法
方法其实很多啊
现将原本的数排一遍序,然后对于每一个询问(l,r,k),从1n每一个数,看它原本的位置是否在[l,r]之间,如果在,k减一,直到为零,然后输出
多简单的算法……
其实还可以用主席树解决(反正我不会)

T2

题意:
给定n个数,让你对这个数列进行排列,使得整个数列的权值最小
权值的定义:
对于任意点对(i,j) (i<j),它的权值S(i,j)(ji)×ai×aj
最后数列的权值为S(i,j)
n5×103
排列有n!种,枚举么?
我们考虑这个问题,如何让这个总权值尽可能小
是不是要让最大的尽量靠近所有的数?
那么,我们将原数列排一遍序,将数均匀地放在数列的两端
例如,一开始a1放在最左端,然后a2放在最右端
这样这个数列就是单峰的
最后算一下即可
计算的时候其实可以不用O(n2),可以用前缀和来优化到O(n)
想想会爆long long,然后压位压少了,T了……
然而那些直接用long long的竟然直接过了……

T3

题目传送门
题目很多网站上都有,就不加赘述了
简单的树形dp

T4

太难了,到时候再更

表示现在还并不太会

原创粉丝点击