Codeforces 459E Pashmak and Graph(dp+贪婪)
题目链接:Codeforces 459E Pashmak and Graph
题目大意:给定一张有向图,每条边有它的权值,要求选定一条路线,保证所经过的边权值严格递增,输出最长路径。
解题思路:将边依照权值排序,每次将同样权值的边同一时候增加,维护每一个点作为终止点的最大长度就可以。
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int maxn = 3 * 1e5+5;
struct edge {
    int u, v, w;
}s[maxn];
bool cmp (const edge& a, const edge& b) {
    return a.w < b.w;
}
int n, m, d[maxn], f[maxn], val[maxn];
int main () {
    scanf("%d%d", &n, &m);
    memset(d, 0, sizeof(d));
    memset(f, 0, sizeof(f));
    memset(val, 0, sizeof(val));
    for (int i = 0; i < m; i++)
        scanf("%d%d%d", &s[i].u, &s[i].v, &s[i].w);
    sort(s, s + m, cmp);
    for (int i = 0; i < m; i++) {
        int j;
        for (j = i; s[j].w == s[i].w && j < m; j++);
        for (int k = i; k < j; k++)
            d[s[k].v] = max(d[s[k].v], f[s[k].u] + 1);
        for (int k = i; k < j; k++)
            f[s[k].v] = d[s[k].v];
        i = j - 1;
    }
    int ans = 0;
    for (int i = 1; i <= n; i++)
        ans = max(ans, f[i]);
    printf("%d\n", ans);
    return 0;
}
版权声明:本文博客原创文章,博客,未经同意,不得转载。
Codeforces 459E Pashmak and Graph(dp+贪婪)的更多相关文章
- CodeForces - 459E Pashmak and Graph[贪心优化dp]
		
E. Pashmak and Graph time limit per test 1 second memory limit per test 256 megabytes input standard ...
 - Codeforces 459E Pashmak and Graph:dp + 贪心
		
题目链接:http://codeforces.com/problemset/problem/459/E 题意: 给你一个有向图,每条边有边权. 让你找出一条路径,使得这条路径上的边权严格递增. 问你这 ...
 - Codeforces 459E Pashmak and Graph
		
http://www.codeforces.com/problemset/problem/459/E 题意: 给出n个点,m条边的有向图,每个边有边权,求一条最长的边权上升的路径的长度. 思路:用f存 ...
 - codeforces 459E E. Pashmak and Graph(dp+sort)
		
题目链接: E. Pashmak and Graph time limit per test 1 second memory limit per test 256 megabytes input st ...
 - Codeforces Round #261 (Div. 2) E. Pashmak and Graph  DP
		
http://codeforces.com/contest/459/problem/E 不明确的是我的代码为啥AC不了,我的是记录we[i]以i为结尾的点的最大权值得边,然后wa在第35 36组数据 ...
 - CF459E Pashmak and Graph (DP?
		
Codeforces Round #261 (Div. 2) E - Pashmak and Graph E. Pashmak and Graph time limit per test 1 seco ...
 - codeforces 459E
		
codeforces 459E E. Pashmak and Graph time limit per test 1 second memory limit per test 256 megabyte ...
 - ACM - 最短路 - CodeForces 295B Greg and Graph
		
CodeForces 295B Greg and Graph 题解 \(Floyd\) 算法是一种基于动态规划的算法,以此题为例介绍最短路算法中的 \(Floyd\) 算法. 我们考虑给定一个图,要找 ...
 - cf459E Pashmak and Graph
		
E. Pashmak and Graph time limit per test 1 second memory limit per test 256 megabytes input standard ...
 
随机推荐
- urses.ascii.ispunct(ch):
			
Nullege: A Search Engine for Python source code urses.ascii.ispunct(ch): TypeError: 'unicode' object ...
 - mahout源码KMeansDriver分析之五CIMapper
			
接上文重点分析map操作: Vector probabilities = classifier.classify(value.get());// 第一行 Vector selections = pol ...
 - finger用户名、主目录、停滞时间、登录时间
			
finger yum install finger 1.作用 finger用来查询一台主机上的登录账号的信息,通常会显示用户名.主目录.停滞时间.登录时间.登录Shell等信息,使用权限为 ...
 - Android基于cordova3.3插件开发
			
最近的工作项目,需要使用cordova插件开发,详细Cordova角色,不会走,你可以去百度自身OK该,直接启动.详细过程,我有一个小Demo解说提前进行. 还只是接触,东西太理论基础,我也不太清楚, ...
 - zimbra启用SMTP认证并绑定认证登录和发件人
			
1. smtp认证 1.1 修改mynetworks 登录zimbra后台-->全局配置-->MTA-->信任网络-->127.0.0.0/8 ...
 - My97 DatePicker
			
支持日期以及时分秒的选择, 国人开发, 还不错! 官网: http://www.my97.net/
 - String,StringBuffer以及StringBuilder的差别
			
1.定义: String:String 类代表字符串. Java 程序中的全部字符串字面值(如"abc" )都作为此类的实例实现. 字符串是常量:它们的值在创建之后不能更改. 字符 ...
 - profile与bashrc
			
/etc/profile./etc/bashrc 是系统全局环境变量设定 ~/.profile,~/.bashrc用户家文件夹下的私有环境变量设定 当登入系统时候获得一个shell进程时.其读取环境设 ...
 - JAVA先进-设置(1)
			
>Arrays 基本阵列 1.常见的数组产生于main() 函数,数组下标的索引不能超过0到int的范围 2.当程序试图訪问数组的第一个或者最后一个数据的时候,会发生ArrayIndexOutO ...
 - google多语言通信框架gRPC
			
google多语言通信框架gRPC系列(一)概述 gRPC概述 3/26/2016 9:16:08 AM 目录 一.概述 二.编译gRPC 三.C#中使用gRPC 四.C++中使用gRPC 一直在寻找 ...