刷个简单的DP缓缓心情

1A

 #include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<stdlib.h>
#include<vector>
using namespace std;
#define N 10010
vector<int>q[N];
#define LL __int64
#define INF 1e10
LL dp[N][];
int o[N];
struct node
{
int x,y,d;
char s[];
}p[N];
int main()
{
int i,j,n,m;
scanf("%d%d",&n,&m);
for(i = ; i <= m ; i++)
{
scanf("%d%d%d%s",&p[i].x,&p[i].y,&p[i].d,p[i].s);
q[p[i].y].push_back(i);
}
dp[i][] = ;
dp[i][] = INF;
dp[i][] = INF;
for(i = ; i <= n ; i++)
{
dp[i][] = dp[i][] = dp[i][] = INF;
for(j = ; j < (int)q[i].size() ; j++)
{
int v = q[i][j],k,x = p[v].x,w = p[v].d;
if(strcmp(p[v].s,"Licensed")==)
k = ;
else if(strcmp(p[v].s,"Cracked")==)
k = ;
else k = ;
if(k==)
{
dp[i][] = min(dp[i][],min(dp[x][]+w,dp[x][]+w));
}
else if(k==)
{
dp[i][] = min(dp[i][],min(dp[x][]+w,dp[x][]+w));
dp[i][] = min(dp[i][],dp[x][]+w);
}
else
{
dp[i][] = min(dp[i][],dp[x][]+w);
dp[i][] = min(dp[i][],dp[x][]+w);
dp[i][] = min(dp[i][],dp[x][]+w);
}
}
}
LL ans = INF;
for(i = ; i <= ; i++)
ans = min(ans,dp[n][i]);
if(ans==INF)
puts("Offline");
else
{
puts("Online");
printf("%I64d\n",ans);
}
return ;
}

1741. Communication Fiend(dp)的更多相关文章

  1. URAL 1741 Communication Fiend(最短路径)

    Description Kolya has returned from a summer camp and now he's a real communication fiend. He spends ...

  2. Ural 1741 Communication Fiend(隐式图+虚拟节点最短路)

    1741. Communication Fiend Time limit: 1.0 second Memory limit: 64 MB Kolya has returned from a summe ...

  3. DP/最短路 URAL 1741 Communication Fiend

    题目传送门 /* 题意:程序从1到n版本升级,正版+正版->正版,正版+盗版->盗版,盗版+盗版->盗版 正版+破解版->正版,盗版+破解版->盗版 DP:每种情况考虑一 ...

  4. POJ 1018 Communication System(贪心)

    Description We have received an order from Pizoor Communications Inc. for a special communication sy ...

  5. POJ 1018 Communication System (动态规划)

    We have received an order from Pizoor Communications Inc. for a special communication system. The sy ...

  6. Communication System(动态规划)

    个人心得:百度推荐的简单DP题,自己做了下发现真得水,看了题解发现他们的思维真得比我好太多太多, 这是一段漫长的锻炼路呀. 关于这道题,我最开始用DP的思路,找子状态,发现自己根本就不会找DP状态数组 ...

  7. TCSRM 593 div2(1000)(dp)

    Problem Statement      The pony Rainbow Dash wants to choose her pet. There are N animals who want t ...

  8. 1346. Intervals of Monotonicity(dp)

    1346 简单dp #include <iostream> #include<cstdio> #include<cstring> #include<algor ...

  9. TCSRM 591 div2(1000)(dp)

    挺好的dp 因为有一点限制 必须任意去除一个数 总和就会小于另一个总和 换句话来说就是去除最小的满足 那么就都满足 所以是限制最小值的背包 刚开始从小到大定住最小值来背 TLE了一组数据 后来发现如果 ...

随机推荐

  1. 二分查找or折半查找

    package com.gxf.search; /** * 测试折半查找or二分查找 * @author xiangfei * */ public class BiSearch { /** * 非递归 ...

  2. Basic Concepts of International Trade

    The international trade structure is a reflection of worldwide economic development, industrial stru ...

  3. 【BZOJ】【3158】千钧一发

    网络流/最小割 这题跟BZOJ 3275限制条件是一样的= =所以可以用相同的方法去做……只要把边的容量从a[i]改成b[i]就行了- (果然不加当前弧优化要略快一点) /************** ...

  4. dll 入口函数

    http://support.microsoft.com/kb/815065/zh-cn // SampleDLL.cpp // #include "stdafx.h" #defi ...

  5. Eclipse下PHP开发 插件安装

    PHPeclipse是什么? PHPeclipse是Eclipse的一个插件,它为php开发人员提供了一个集成的开发环境.Eclipse官方下载地址:http://www.eclipse.org/ P ...

  6. log4j使用感受

    1.为什么使用日志? 日志可以记录项目中的重要信息,关键输出信息,异常信息,为项目上线后期维护提供方便,在项目开发中尽量养成习惯写日志,而不是System.out.println()打印,不过在jun ...

  7. oracle 快速删除大批量数据方法(全部删除,条件删除,删除大量重复记录)

    oracle 快速删除大批量数据方法(全部删除,条件删除,删除大量重复记录) 分类: ORACLE 数据库 2011-05-24 16:39 8427人阅读 评论(2) 收藏 举报 oracledel ...

  8. (int)、Convert.ToInt32()与int.Parse()的区别

    1.(int)是类型转换,能够使用(int)进行强类型转换的只能是数值类型,如long.short.double等,这种转换时需要考虑精度问题. 如下的代码就行不通了: string text = & ...

  9. mySql 的基本操作

    mysql -uroot -proot show databases; use ltcl_net;show tables; desc tablename; 查看表结构 create table tes ...

  10. SPOJ LCS2 后缀自动机

    多串的LCS,注意要利用拓扑序更新suf的len. 我用min,max,三目会超时,所以都改成了if,else #pragma warning(disable:4996) #include<cs ...