设为首页 加入收藏

TOP

poj 1201(查分约束之spfa)
2015-07-20 17:50:16 来源: 作者: 【 】 浏览:1
Tags:poj 1201 查分 约束 spfa
Intervals
Time Limit: 2000MS Memory Limit: 65536K
Total Submissions: 21758 Accepted: 8191

Description

You are given n closed, integer intervals [ai, bi] and n integers c1, ..., cn.
Write a program that:
reads the number of intervals, their end points and integers c1, ..., cn from the standard input,
computes the minimal size of a set Z of integers which has at least ci common elements with interval [ai, bi], for each i=1,2,...,n,
writes the answer to the standard output.

Input

The first line of the input contains an integer n (1 <= n <= 50000) -- the number of intervals. The following n lines describe the intervals. The (i+1)-th line of the input contains three integers ai, bi and ci separated by single spaces and such that 0 <= ai <= bi <= 50000 and 1 <= ci <= bi - ai+1.

Output

The output contains exactly one integer equal to the minimal size of set Z sharing at least ci elements with interval [ai, bi], for each i=1,2,...,n.

Sample Input

5
3 7 3
8 10 3
6 8 1
1 3 1
10 11 1

Sample Output

6

Source

Southwestern Europe 2002


AC代码:

#include
  
   
#include
   
     #include
    
      #include
     
       using namespace std; struct Node{ int v,w; int next; }Edge[150010]; int n,k; int mx,mn; int head[50005]; int spfa(){ stack 
      
        st; int vis[50005],dis[50005]; for(int i=mn;i<=mx;i++){ vis[i]=0; dis[i]=-999999; } dis[mn]=0; st.push(mn); while(!st.empty()){ int u=st.top(); st.pop(); vis[u]=0; for(int i=head[u];i;i=Edge[i].next){ int v=Edge[i].v; if(dis[v]
       
        

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇pojHelp with Intervals线段树解法 下一篇加最少边使得DAG图变为一个强连通..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Sphinx : 高性能SQL (2025-12-24 10:18:11)
·Pandas 性能优化 - (2025-12-24 10:18:08)
·MySQL 索引 - 菜鸟教 (2025-12-24 10:18:06)
·Shell 基本运算符 - (2025-12-24 09:52:56)
·Shell 函数 | 菜鸟教 (2025-12-24 09:52:54)