hdu 5496 Beauty of Sequence(高效)
来源:互联网 发布:鹰眼图js 编辑:程序博客网 时间:2024/05/16 04:02
题目链接:hdu 5496 Beauty of Sequence
解题思路
考虑每个位置的贡献度。
代码
#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int maxn = 1e5 + 5;const int mod = 1e9 + 7;struct Element { int val, pos; bool operator < (const Element& u) const { if (val != u.val) return val < u.val; return pos < u.pos; }}E[maxn];int N, P[maxn];int solve () { int ret = 0, del; sort(E, E + N); for (int i = 0; i < N; i++) { if (i == 0 || E[i].val != E[i-1].val) del = 0; int l = E[i].pos, r = N-E[i].pos-1; ret = (ret + 1LL * (P[l] - del + mod) * P[r] % mod * E[i].val % mod) % mod; del = (del + P[l]) % mod; } return ret;}int main () { P[0] = 1; for (int i = 1; i <= (int)1e5; i++) P[i] = P[i-1] * 2 % mod; int cas; scanf("%d", &cas); while (cas--) { scanf("%d", &N); for (int i = 0; i < N; i++) { scanf("%d", &E[i].val); E[i].pos = i; } printf("%d\n", solve()); } return 0;}
0 0
- hdu 5496 Beauty of Sequence(高效)
- hdu 5496 Beauty of Sequence
- HDU 5496 Beauty of Sequence
- HDU 5496 Beauty of Sequence
- hdu 5496 Beauty of Sequence 枚举
- hdu 5496 Beauty of Sequence (map维护)
- hdu 5496 Beauty of Sequence 组合数学
- HDU 5496(Beauty of Sequence-DP)
- HDU 5496 Beauty of Sequence 线性DP
- HDU 5496 - Beauty of Sequence (序列 + 统计贡献)
- hdu 5496 Beauty of Sequence bc#58 组合 离散化
- hdoj 5496 Beauty of Sequence
- hdu5496 Beauty of Sequence
- hdu Beauty of Sequence (好题_集合问题)
- HDU5496--Beauty of Sequence(水题)
- HDOJ 题目5496 Beauty of Sequence(数学)
- 哈希+前缀和 hdu5496 Beauty of Sequence
- hdoj 5496 Beauty of Sequence 【求序列所有子序列(去重后)的和】【好题】
- Python 流程控制
- LeetCode -- Find Peak Element
- Oracle Flashback技术之Flashback Drop
- 功能测试定义
- 软工总结
- hdu 5496 Beauty of Sequence(高效)
- 【BZOJ1064】【NOI2008】假面舞会
- UVA - 11624 Fire!(15.10.10 搜索专题)bfs
- 【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记47 文件系统Demo
- String.Format格式说明
- 《深入理解Linux网络技术内幕》阅读笔记(二十四)
- 关于责任、钱和技术
- [PAT (Advanced Level) ]1003. Emergency 解题文档
- 图片作为背景,登陆页面相对定位