2019年7月30日

思维题+贪心——牛客多校第一场C

摘要: /* 给定一组n维向量 A=(a1/m,a2/m,a3/m ... an/m), 求另一个n维向量 P=(p1,p2,p3...pn),满足sum{pi}=1,使得ans=sum{(ai/m-pi)^2}最大化 并求出这个ans 首先将ai放大m倍 A=(a1,a2,a3...an) 同理 P=(p1,p2,p3...pn),sum{pi}=m 将ai按照降序排序,可以推出大的数减掉x一定比小... 阅读全文

posted @ 2019-07-30 21:42 zsben 阅读(223) 评论(0) 推荐(0)

线性基算贡献——19牛客多校第一场H

摘要: /* 给定数组a[],求有多少集合的异或值为0,将这些集合的大小之和求出来 对于每个数来说,如果除去这个数后数组里做出的线性基和这个数线性相关,那么这个数贡献就是2^(n-1-线性基的大小) 反之这个数和线性基线性无关,即数组里凑不出这个数来和其异或等于0,所以贡献就是0 由于做n次线性基很麻烦,所以简化问题,只需要先做出一个基,将数分成在基内和基外即可 首先做出一个线性基base,设其大... 阅读全文

posted @ 2019-07-30 19:10 zsben 阅读(162) 评论(0) 推荐(0)

区间查询异或最大值——cf1100F,hdu6579

摘要: cf1100F是静态区间查询最大值,有离线的解法,我感觉线段树或者莫队应该都能过 更优秀的解法可以在线并支持修改,可以解决hdu6579,即依次插入每个数,pos[i][j]表示在插第i个数时第j个基出现的最靠右的位置,然后p[i][j]来表示插第i个数时第j个基的值 考虑普通的线性基插入值x的过程 阅读全文

posted @ 2019-07-30 16:47 zsben 阅读(1104) 评论(0) 推荐(0)

牛客多校第三次B——线段树维护线性基交

摘要: 写线性基交函数时调试了半天。。 阅读全文

posted @ 2019-07-30 12:02 zsben 阅读(194) 评论(0) 推荐(0)

hdu6606多校第四次04——线段树加速dp

摘要: /* 首先想到二分答案,难点在于如何判断是否有K段,每段和=pre[i]-mid的j,那直接用线段树维护代表pre[j]的dp_max[j]即可,然后就可以进行查询 要注意处理边界问题(pre[0]=0的情况) */ #include using namespace std; #define maxn 200005 #define ll long long #define INF 0x3f3f... 阅读全文

posted @ 2019-07-30 10:32 zsben 阅读(305) 评论(0) 推荐(0)

导航