hdu 5481 Desiderium(高效)
来源:互联网 发布:指纹考勤机数据修改 编辑:程序博客网 时间:2024/05/17 00:14
题目链接:hdu 5481 Desiderium
代码
#include <cstdio>#include <cstring>#include <vector>#include <algorithm>using namespace std;typedef pair<int,int> pii;typedef long long ll;const int maxn = 1e5 + 5;const int mod = 1e9 + 7;int N, P[maxn];vector<pii> G;void init () { int l, r; scanf("%d", &N); G.clear(); for (int i = 1; i <= N; i++) { scanf("%d%d", &l, &r); G.push_back(make_pair(l, 1)); G.push_back(make_pair(r, -1)); } sort(G.begin(), G.end());}int solve () { int c = 0, p = 0, n = G.size(), ret = 0; while (p < n) { c += G[p++].second; while (p < n && G[p].first == G[p-1].first) c += G[p++].second; if (p == n) break; int len = G[p].first - G[p-1].first; ret = (ret + 1LL * len * (P[c]-1) % mod * P[N-c] % mod) % mod; } return ret;}int main () { P[0] = 1; for (int i = 1; i < maxn; i++) P[i] = P[i-1] * 2 % mod; int cas; scanf("%d", &cas); while (cas--) { init(); printf("%d\n", solve()); } return 0;}
0 0
- hdu 5481 Desiderium(高效)
- hdu-5481 Desiderium
- hdu 5481 Desiderium
- HDU 5481 Desiderium
- hdu 5481 Desiderium
- hdu 5481 Desiderium
- HDU 5481:Desiderium(线段树)
- hdu 5491 Desiderium(扫描线)
- HDU5481 Desiderium
- HDU 1501 高效!
- hdu 5037 Frog(高效)
- hdu 5497 Inversion(高效)
- hdu 4915 Parenthese sequence(高效)
- hdu 4920 Matrix multiplication(高效)
- hdu 4961 Boring Sum(高效)
- hdu 4970 Killing Monsters(高效)
- hdu 5510 Bazinga(高效)
- hdu 5524 Subtrees(高效)
- CodeForces 128D Numbers [想法题/贪心]
- ucos关于互斥信号量
- STM32输出2路PWM-------------------------------major
- linux下的软件管理(yum仓库)
- IOS 录音与播放
- hdu 5481 Desiderium(高效)
- JS中给函数参数添加默认值
- animation的step-start
- 关于java的点点滴滴(2) final关键字
- iOS开发- UICollectionView详解+实例
- ACM学习-动态规划-巡回演出问题
- POJ - 1321 棋盘问题(15.10.10 搜索专题)dfs
- 判断字符串是否是回文的代码实现
- SVN命令使用详解