2019 ACM-ICPC全国邀请赛(西安) M.Travel 二分+判联通
https://nanti.jisuanke.com/t/39280
讲道理这题写bfs求最大边权限制下从1到n的最短步数,然后二分判一下就行了。
然鹅我还是直接套了dij,一开始纠结dij能不能过,后来同学帮讲了一下发现由于二分的存在还是没问题的。
数论还没怎么学,D的dp也先不补了,窝dp奇差。不过图论还是要补的,而且这题好像全世界都会。
#include <bits/stdc++.h>
using namespace std;
#define INF 0x3f3f3f3f
#define MAXN 100050
typedef pair<int, int> P; struct edge { int to, cost;
edge (int too, int costt) { to = too; cost = costt; }
};
vector <edge> G[MAXN];
void addedge (int u, int v, int w) {
G[u].push_back (edge (v, w));
} int dis[MAXN], cnt[MAXN];
int n, m,c,d,e; bool dijkstra (int k) {
priority_queue<P, vector<P>, greater<P> > que;
fill (dis, dis + n + , INF);
fill (cnt,cnt+n+, INF);
dis[] =cnt[]= ; que.push (P (, ));
while (!que.empty()) {
P p = que.top(); que.pop();
int v = p.second;
if (dis[v] < p.first) continue;
for (int i = ; i < G[v].size(); i++) {
edge e = G[v][i];
if (dis[e.to] > dis[v] + e.cost&&e.cost<=k*d) {
dis[e.to] = dis[v] + e.cost;
cnt[e.to]=min(cnt[e.to],cnt[v]+);
que.push (P (dis[e.to], e.to));
}
}
}
return cnt[n]<=k*e;
} int main(){
ios::sync_with_stdio();
cin.tie(); cout.tie(); cin>>n>>m>>c>>d>>e;
for(int i=;i<m;i++){
int u,v,w; cin>>u>>v>>w;
addedge(u,v,w);
addedge(v,u,w);
}
int l=, r=,mid;
while(l<r){
mid=(l+r)>>;
if(dijkstra(mid)) r=mid;
else l=mid+;
}
cout<<(long long)c*r<<endl;
return ;
}
2019 ACM-ICPC全国邀请赛(西安) M.Travel 二分+判联通的更多相关文章
- 2019 ACM/ICPC 全国邀请赛(西安)J And And And (树DP+贡献计算)
Then n - 1n−1 lines follow. ii-th line contains two integers f_{a_i}(1 \le f_{a_i} < i)fai(1≤fa ...
- HDU 4571 Travel in time ★(2013 ACM/ICPC长沙邀请赛)
[题意]给定N个点,每个点有一个停留所需的时间Ci,和停留能够获得的满意度Si,有M条边,每条边代表着两个点走动所需的时间ti,现在问在规定的T时间内从指定的一点S到E能够获得的最大的满意度是多少?要 ...
- 2014 ACM/ICPC 北京邀请赛 部分 题解
题目链接:http://acm.bnu.edu.cn/bnuoj/problem.php?search=2014+ACM-ICPC+Beijing+Invitational+Programming+C ...
- 2013 ACM/ICPC南京邀请赛B题(求割点扩展)
题目链接:http://icpc.njust.edu.cn/Contest/194/Problem/B B - TWO NODES 时间限制: 10000 MS 内存限制: 65535 KB 问题描述 ...
- 2017 ACM/ICPC 广西邀请赛 题解
题目链接 Problems HDOJ上的题目顺序可能和现场比赛的题目顺序不一样, 我这里的是按照HDOJ的题目顺序来写的. Problem 1001 签到 #include <bits/std ...
- 2019 ACM/ICPC Asia Regional shanxia D Miku and Generals (二分图黑白染色+01背包)
Miku is matchless in the world!” As everyone knows, Nakano Miku is interested in Japanese generals, ...
- 2019 CCPC 湖南全国邀请赛
A. Chessboard 做法1 单纯形. 做法2 最大费用可行流问题,行列模型. 对每行建一个点,每列建一个点.物品 \(i\) 在 \((r,c)\),那么 \(r\) 向 \(c\) 连流量为 ...
- 2019 ACM/ICPC North America Qualifier G.Research Productivity Index(概率期望dp)
https://open.kattis.com/problems/researchproductivityindex 这道题是考场上没写出来的一道题,今年看看感觉简单到不像话,当时自己对于dp没有什么 ...
- 2014嘉杰信息杯ACM/ICPC湖南程序设计邀请赛暨第六届湘潭市程序设计竞赛
比赛链接: http://202.197.224.59/OnlineJudge2/index.php/Contest/problems/contest_id/36 题目来源: 2014嘉杰信息杯ACM ...
随机推荐
- 关于Markdown的一些学习笔记
**关于Markdown的一些学习笔记** 一直利用markdown进行博客的文档编写,一方面是因为不需要特别注重排版,另一方面是十分的方便.最近突发奇想的认为,如果能运用到平时的作业或课程中,会不会 ...
- DozerBeanMapper 配置
applicationContext.xml <bean id="mapper" class="org.dozer.spring.DozerBeanMapperFa ...
- JS——封闭函数、闭包、内置对象
封闭函数:时javascript中匿名函数的另一种写法,创建一个一开始就执行而不用命名的函数 示例: 1) (function(){ var str = '欢迎访问我的主页'; alert(str); ...
- C# 枚举类型 enum (一)
1.枚举使用enum关键字来声明,与类同级.枚举可以和类并列也可以 写在类里面,不能写在方法里. 2.枚举是值类型,隐式继承自System.Enum,不能手动修改. System.Enum本身是引用类 ...
- Murano Weekly Meeting 2015.07.21
会议时间: 2015.07.21 主持人: Kirill Zaitsev, core from Mirantis 会议摘要: 1.murano client和murano dashboard升级到y ...
- Java面向对象的练习。动物乐园
本次项目是:以面向对象的思想设计动物乐园系统. 动物乐园中有猫,狗,鸭子等成员,还可以增加新成员. 猫和鸭子都有自己的名字,都有自己的腿,但腿的条数不同,猫和鸭子会发出叫声,猫的叫声是:喵喵喵……,鸭 ...
- Spring之Quartz定时任务和Cron表达式详解
1.定时业务逻辑类 public class ExpireJobTask { /** Logger */ private static final Logger logger = LoggerFact ...
- 2833 奇怪的梦境 未AC
2833 奇怪的梦境 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description Aiden陷入了一个奇怪的梦境:他被困在一个小 ...
- lambda匿名函数,sorted排序,filter()筛选,map()映射
一丶匿名函数 语法: 函数名 = lambda参数:返回值 # 普通的正常的函数 def func(n): return n * n ret = func(9) print(ret) # 匿名函数 a ...
- mybatis-关联关系
在实现实列中我们在学生表里面增加了一个地址表用于与学生表的一对一 1.创建地址实体类: package com.java1234.mappers; import com.java1234.model. ...