![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
贡献法
Fizzmy
这个作者很懒,什么都没留下…
展开
-
[Hackerrank]Summing Pieces
Hackerrank World CodeSprint 7 Summing Pieces 传送门题目大意:给你一个数列 把这个数列分成若干个子串 求出所有分法的权值和(权值和的计算方式为:Σ每个子串的长度*每个子串的权值和)(n<=10^6)首先想到了一个n^2的dp 但是后来不会优化… 于是就想到了一个奇妙的做法,感觉也像是dp下面是做法: 一个长度为i的数列的分法为2 ^ (i-1)原创 2017-08-29 21:53:36 · 264 阅读 · 0 评论 -
Codeforces 380E - Sereja and Dividing-贡献法
改编题意: 有n杯水排成一行,第i杯水中有wiw_i单位体积的水. 他会选择一个区间[l,r][l,r], 并拿一个初始为空的杯子(杯子的容积无限大),他可以重复无限次以下操作: • 选定任意一杯水i,i∈[l,r]i ∈ [l,r]. • 使i和它拿着的杯子里的水的体积变为它们的平均值. 小C希望进行若干操作后最大化杯子里的水的体积,设g(l,r)g(l,r)为这个最大值.你需要求:原创 2018-01-12 21:17:41 · 362 阅读 · 0 评论 -
Codeforces 356E Xenia and String Problem-倍增+贡献法
题意: 定义一种字符串gray串满足: 1.长度为奇数 2.正中间的字母只出现一次 3.左右两端相同,左右两端也是gray串 一个gray串的贡献为这个串长度的平方 现给你一个长为n的字符串,你可以修改至多一个字母,使得总贡献值最大 (n Solution: 可以发现gray串的长度是倍增的,所以最多有log种不同长度的gray串,这样的话我们可以考虑串中每个位置的贡献,这种贡献原创 2018-02-05 20:49:54 · 396 阅读 · 0 评论