题目:http://community.topcoder.com/stat?c=problem_statement&pm=13090

参考:http://apps.topcoder.com/wiki/display/tc/SRM+615?decorator=printable

转换为最短路径模型这一步挺难想的.

代码:

#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <iostream>
#include <sstream>
#include <iomanip>#include <bitset>
#include <string>
#include <vector>
#include <stack>
#include <deque>
#include <queue>
#include <set>
#include <map>#include <cstdio>
#include <cstdlib>
#include <cctype>
#include <cmath>
#include <cstring>
#include <ctime>
#include <climits>
using namespace std;#define CHECKTIME() printf("%.2lf\n", (double)clock() / CLOCKS_PER_SEC)
typedef pair<int, int> pii;
typedef long long llong;
typedef pair<llong, llong> pll;
#define mkp make_pair/*************** Program Begin **********************/
int g[51][51];
long long dist[20001][51];
const long long INF = 0x7f7f7f7f7f7f7f7f;class LongLongTripDiv1 {
public:string isAble(int N, vector <int> A, vector <int> B, vector <int> D, long long T) {memset(g, 0, sizeof(g));memset(dist, 0x7f, sizeof(dist));for (int i = 0; i < A.size(); ++i) {g[ A[i] ][ B[i] ] = g[ B[i] ][ A[i] ] = D[i];} int d = 10001;for (int i = 0; i < A.size(); ++i) {if (0 == A[i] || 0 == B[i]) {d = min(d, D[i]);}}  if (d > 10000) {return "Impossible";}std::set< pair<long long, pii> > Q;Q.insert(mkp(0, mkp(0, 0)));dist[0][0] = 0;pii cur;while (!Q.empty()) {cur = (*Q.begin()).second;int u = cur.second;int v = cur.first;long long m = (*Q.begin()).first;Q.erase(Q.begin());for (int i = 0; i < N; ++i) {if (g[u][i]) {int w = (v + g[u][i]) % (2 * d);long long temp = m + g[u][i];if (temp < dist[w][i]) {std::set<pair<long long, pii> >::iterator it = Q.find(mkp(dist[w][i], mkp(w, i)));if (it != Q.end()) {Q.erase(it);}dist[w][i] = temp;Q.insert(mkp(dist[w][i], mkp(w, i)));}}}}if (dist[T % (2 * d)][N - 1] <= T) {return "Possible";} else {return "Impossible";}}};/************** Program End ************************/

SRM 615 D1L2: LongLongTripDiv1相关推荐

  1. problem solving automation

    分工一定要明确啊啊啊啊啊 Nero 数据结构  图论   DP   博弈 JayYe  数论   DP   模拟搜索 博弈  wuyiqi 数论  数据结构   图论 字符串 模拟搜索  几何  20 ...

  2. Topcoder SRM 697题解

    Topcoder SRM 697题解 D1L1 分子分母同乘a[i]: \(a_{i}^{b_{i}+1} mod \prod a_i = 0\) 然后我们考虑质因子p,设质因子p在a[i]中出现cn ...

  3. SAP采购订单下传SRM

    http://www.cnblogs.com/rainysblog/p/6640515.html ZPOSRM 采购订单下传SRM *&---------------------------- ...

  4. Dumpzilla工具第615行bug的解决办法

    Dumpzilla工具第615行bug的解决办法 在Dumpzilla使用选项frequency时,会提示SQL语法错误.这是由于其中SQL语句编写错误.需要将615行中: where url lik ...

  5. srm linux字符界面,如何使用srm安全的删除Linux中的文件

    在Linux平台上,有几个可能的工具可以完成此过程,其中一些工具不能用于删除此类信息,而另一些工具只能可靠地在磁性驱动器上工作.因此,如果您的服务器使用ssd,那么您需要确保使用适合该任务的工具.其中 ...

  6. SRM 583 DIV1

    A 裸最短路. 1 class TravelOnMars { 2 public: 3 int minTimes(vector <int>, int, int); 4 }; 5 vector ...

  7. Topcoder Srm 671 Div2 1000 BearDestroysDiv2

    \(>Topcoder \space Srm \space 671 \space Div2 \space 1000 \space BearDestroysDiv2<\) 题目大意 : 有一 ...

  8. srm#397_div1_500pt 矩阵乘法+快速模幂

    题目地址:srm#397_div1_500 题目描述: Problem Statement   NOTE: This problem statement contains superscripts t ...

  9. 回答一位朋友关于 SAP SRM 行业 转 CRM 行业的咨询

    这位朋友在知乎上,向我发起了咨询,关于 SAP SRM 模块 转 SAP CRM 模块的可能性.首先要明确传统的 SAP CRM 解决方案有哪些,我之前这篇文章介绍过:SAP的这三款CRM解决方案,您 ...

最新文章

  1. benke计算机课程设计,(本科课程设计.doc
  2. 推荐算法-聚类-K-MEANS
  3. 若谷歌实用量子计算机难产,拉里·佩奇会把它砍掉吗?
  4. git log 获取构建时间_Docker 运行 Jenkins 自动化构建 .NET Core 项目
  5. Remoting系列专题---自定义序列化类
  6. 从CLI监视OpenJDK
  7. 分析华为毕昇JDK8:一个性能开关
  8. php.ini gd_php安装gd扩展
  9. word页眉页脚页码设置详解
  10. “POW'ER 2020 DEFI 创新者大会” | Conflux CTO 伍鸣畅谈公链如何成为 DeFi 的完美世界...
  11. 如何解决“无法连接到文件共享,因为它不安全。 此共享需要旧的 SMB1 协议”问题
  12. 系统镜像ISO、GHO、WIM、ESD的区别
  13. 调css p 段落间距,html P标签段落 CSS段落间距距离调整
  14. Linux服务器硬盘故障后恢复数据的方法和数据恢复过程
  15. 这几款摸鱼神器,让我惊了!
  16. uniapp 中 Cannot read property ‘length‘ of undefined 报错处理
  17. Linux 开启22 端口
  18. 一种简单的直观的高效的权限设计
  19. MySQL批量修改数据
  20. 联想超融合架构:应运而生的新一代数据中心

热门文章

  1. 高中信息技术html语言,高中信息技术《Python语言》模块试卷
  2. vue-router back 返回时携带参数
  3. 2019各大互联网公司产品校招笔试
  4. 如何统一管理谷歌GKE、AWS EKS和Oracle OKE
  5. Dockerfile 中 CMD 为什么要避免使用 sh -c
  6. python中表示绝对值的函数_用于获取绝对值的用户定义函数
  7. js node.js读取excel文件返回为json文本
  8. Shell 编程4(退出,测试,判断)
  9. 图的邻接矩阵表示法及顶点入度、出度的计算方法
  10. 邮件服务器怎么设置mx记录,什么是MX记录?如何设置、检测MX记录