POJ 1201

d[i]表示在[0,i]这个区间内一共选了d[i]个数

对于每个为[ai,bi]的区间,你必须在这个区间上至少取ci个不同的整数,用d[i]如何表示?

d[ bi ]-d[ ai-1 ] >= ci

Edge:(ai-1 -> bi) val = ci

另外:

0<=d[i]-d[i-1]<=1

对应边Edge:(i-1,i) val=0  Edge(i,i-1) val=-1

可以令d[maxa-1]=0

那么,最后d[maxb]-d[maxa-1] 就是最后的答案。

 

#include <cstdio>
#include <iostream>
#include <queue>
#include <string.h>
using namespace std;
#define INF 0x3f3f3f3f
#define N 200001
int first[N],e,d[N], w[N],v[N],next[N];
int n,m;
bool inq[N];
void init(){
    e=0;
    memset(first,-1,sizeof(first));
    memset(inq,0,sizeof(inq));
}
void addedge(int a,int b,int x){
    v[e]=b;
    next[e]=first[a];
    w[e]=x;
    first[a]=e++;
}
void SPFA(int min1,int max1){
    for(int i=min1+1;i<=max1;i++){
        d[i]=-INF;
    }
    d[min1]=0;
    queue<int> q;
    q.push(min1);
    inq[min1] = 1;
    while(!q.empty()){
        int ith = q.front();
        q.pop();
        inq[ith] = 0;
        for(int i = first[ith];i != -1;i = next[i]){
            if(d[v[i]]<d[ith]+w[i]){
                d[v[i]] = d[ith]+w[i];
                if(!inq[v[i]]){
                    q.push(v[i]);
                    inq[v[i]] = 1;
                }
            }
        }
    }
}
int main(){
   // freopen("test.txt","r",stdin);
    int t,a,b,x;
        scanf("%d",&t);
        init();
        int s=1<<30,e=0;
        for(int i=0;i<t;i++){
            scanf("%d%d%d",&a,&b,&x);
            addedge(a-1,b,x);
            if(a-1<s)s=a-1;
            if(b>e)e=b;
        }
        for(int i=s;i<e;i++){
            addedge(i,i+1,0);
            addedge(i+1,i,-1);
        }
        SPFA(s,e);
        printf("%d\n",d[e]);

    return 0;
}

转载于:https://www.cnblogs.com/Mr-Xu-JH/p/3877262.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/575334.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

typecho和wordpress模板了解、开发流程介绍、前台后台前端后端区分

网站模板搭建网站&#xff1a; 使用网站模板搭建网站很简单&#xff0c;只需要将相关文件放到你自己的服务器上面&#xff0c;之后在进行相关的配置即可。这里给大家介绍两款网站模板&#xff1a; typecho&#xff1a; 是一个轻量高效&#xff0c;简单操作就能搭建网站的模板…

*[topcoder]IncrementingSequence

http://community.topcoder.com/stat?cproblem_statement&pm12107 此题想了半天&#xff0c;当时瞥到了Greedy&#xff0c;所以就想着贪心&#xff0c;最后的方法又纸上画了一下应该是对的。就是排序后依次看是不是满足要求。证明就是如果对数字X&#xff0c;有a和b都能够…

在浏览器端调试代码并直接修改原文件、移动端虚拟键盘中实现搜索按钮

在浏览器端调试代码并直接修改原文件&#xff1a; 此调试方法可以避免在浏览器调试完代码后在到原文件手动修改代码的弊端&#xff0c;其具体方法如下&#xff1a; 1.先将要调试的页面在浏览器&#xff08;Google&#xff09;打开&#xff0c;这里小编打开桌面test文件夹中的…

Bootstrap简介、下载bootstrap及引入文件说明、响应式容器和满屏容器、栅格系统

Bootstrap简介&#xff1a; Bootstrap是Twitter&#xff08;推特&#xff09;开发的&#xff0c;目前最受欢迎的前端开源框架&#xff0c;基于jQuery用于开发HTML、CSS、JavaScript&#xff0c;简洁灵活&#xff0c;常用于开发响应式布局及移动端开发。其中文官方文档&#xf…

JavaScript和jQuery的学习

还有12天就要回学校了&#xff0c;我的假期计划还能实现吗&#xff1f;在这12天里&#xff0c;需要把JavaScript和jQuery学完。我知道这两个技术对于前端网页开发非常重要。前期把HTML和CSS学完了&#xff0c;学的不是特别深&#xff0c;只是简单的过一下&#xff0c;自认为HTM…

bootstrap中语义化标签、字体风格、文本布局、列表排列、特殊字体颜色及特殊背景颜色

语义化标签&#xff1a; bootstrap中提供一些语义化标签&#xff0c;它们自带样式&#xff0c;这里介绍几个样式比较明显的语义化标签&#xff1a; <!-- 1.bootstrap中mark标签定义一个有淡黄色背景的文本 --> <p><mark>hello</mark></p><!…

asp.net使用MVC4框架基于NPOI做导出数据到Excel表

NPOI 是 POI 项目的 .NET 版本。POI是一个开源的Java读写Excel、WORD等微软OLE2组件文档的项目。 使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 WORD/EXCEL 文档进行读写。NPOI是构建在POI 3.x版本之上的&#xff0c;它可以在没有安装Office的情况下对Word/Exc…

bootstrap中表格、修饰图片、浮动、背景框、提示框及关闭提示框、元素淡入淡出及jQuery中操作类名

表格&#xff1a; bootstrap中用类定义了几个风格的表格&#xff0c;使用时给table标签加上类名即可&#xff0c;具体如下&#xff1a; 类名描述.table基础表格&#xff1a;标题加粗&#xff0c;只有水平的淡灰色边框线条&#xff0c;没有垂直方向的线条.table-striped条纹表…

系统数据监控

系统数据监控。 using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading; using Arch.CFramework.CLoggingAdapter; using Ctrip.Mobile.AppDownload.Utility;namespace Ctrip.Mobile.AppD…

bootstrap中单个按钮、按钮组、徽章、进度条

单按钮&#xff1a; 背景按钮&#xff1a;bootstrap提供了具有特殊意义背景的按钮样式&#xff0c;使用时只需给自己的按钮(button、input、a)加bootstrap提供的类名即可&#xff0c;其具体如下&#xff1a; 类名描述.btn基本按钮&#xff1a;灰色、有高度、宽度自适应、没有…

openerp child_of操作符深度解析

child_of 此操作符&#xff0c;从代码来看&#xff0c;等价于&#xff1a; [(x,child_of,id)] > x.prarent_left >id.parent_left && x.parent_left < id.parent_right , 求x&#xff08;的集合&#xff09;。 为了形象的说明&#xff0c;我们一步步来&…

bootstrap中分页、面包屑导航、列表组、卡片、下拉菜单、折叠

分页&#xff1a; 分页功能是当遇到数据很多时&#xff0c;如果都放到一个页面上&#xff0c;那么找起来很不方便&#xff0c;而且不利于性能。此时采用分页功能就能很好的优化用户体验&#xff0c;可是如果自己开发分页功能&#xff0c;那么就会影响开发效率&#xff0c;boot…

当ASP.NET Forms验证方式遭遇苹果IOS

一、问题出现 我在用ASP.NET MVC4做微信开发的时候&#xff0c;用Forms验证方式做为authentication。 一般都是在web.config加&#xff1a; <authentication mode"Forms" ><forms loginUrl"~/Account/Login" name"webcookies" sliding…

bootstrap中导航、导航栏、表单及自定义表单

导航&#xff1a; bootstrap中使用列表封装了水平导航&#xff0c;其类样式如&#xff1a; 类名描述.nav给ul或ol&#xff0c;用于清除列表默认样式&#xff0c;并将列表项水平排列.nav-item给li,用于布局.nav-link给li里面的a,用于a布局.justify-content-center用于居中ul或…

Haproxy安装及配置(转)

1.安装 # wget http://haproxy.1wt.eu/download/1.3/src/haproxy-1.3.20.tar.gz # tar zcvf haproxy-1.3.20.tar.gz # cd haproxy-1.3.20 # make TARGETlinux26 PREFIX/usr/local/haproxy #将haproxy安装到/usr/local/haproxy # make install P…

bootstrap中轮播图、模态框、提示框/弹出框、滚动监听、弹性布局、响应式flex、多媒体对象

轮播图&#xff1a; bootstrap封装了轮播图的功能&#xff0c;其具体如下&#xff1a; 类名描述.carousel创建一个轮播图块的容器&#xff0c;实质是做布局用&#xff1b;且此容器应该有一个di属性&#xff0c;其属性值提供给下面左右按钮href锚点值&#xff0c;用于左右按钮…

hive 常用UDF

Hive UDF整理(可以直接在mysql上测试&#xff0c;hive中没有伪表&#xff0c;需要手动创建&#xff0c;反应慢)字符串函数字符串长度函数&#xff1a;length 语法: length(string A)返回值: int说明&#xff1a;返回字符串A的长度举例&#xff1a;hive> select length(‘abc…

摄影网站收集

图虫网 http://tuchong.com/tags/%E9%95%BF%E6%B2%99/?orderweekly&page2 转载于:https://www.cnblogs.com/PS-apple/p/3902533.html

node简介及安装、下载及运行hexo

node简介&#xff1a; 1.node.js的可以打开服务端的黑盒子及高级前端(Vue、React 、Angular)的学习&#xff0c;例如&#xff1a;文件的读写、网络服务的构建、网络通信等。 2.node.js是操作服务器的一种工具&#xff0c;构建于Chrome的v8引擎之上&#xff0c;可以操作服务器…

node中模块系统及核心模块、执行node文件

node中模块系统&#xff1a; 1.模块系统&#xff1a;核心模块、第三方模块、 自己写的模块。 2.网页中所有的路径都是URL&#xff0c;而不是文件路径。 3.node偏底层开发&#xff0c;开启的服务器完全是一个黑盒子&#xff0c;所有的资源默认都是不能被用户访问的&#xff0…