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 ...
随机推荐
- JS如何在本地读取json等文件
JS使用ajax等在本地读取文件的时候,会报如下的错误: 解决方法一: npm install http-server -g 全局安装 http-server 下载完成之后再在目标文件中cmd中输入 ...
- HDU 2103 Family Plan
题目HDU 2103:http://acm.hdu.edu.cn/showproblem.php?pid=2103 Problem Description As far as we known,the ...
- D. Vitya and Strange Lesson
http://codeforces.com/contest/842/problem/D 1.整体的数组是不用变的,比如数组a[]经过一次询问x后,然后再询问y,相当于询问x ^ y ^ a[i]后的m ...
- HDU 5917 Instability ramsey定理
http://acm.hdu.edu.cn/showproblem.php?pid=5917 即世界上任意6个人中,总有3个人相互认识,或互相皆不认识. 所以子集 >= 6的一定是合法的. 然后 ...
- Raymond Mill In Lisp
Raymond Mill is suitable for producing minerals powder, which is widely used in the metallurgy, buil ...
- 基于php缓存的详解
nginx缓存 nginx有两种缓存机制:fastcgi_cache和proxy_cache 下面我们来说说这两种缓存机制的区别吧 proxy_cache作用是缓存后端服务器的内容,可能是任何内容,包 ...
- mysql语句删除重复数据,保留一条;查询所有重复数据;查询重复数据的一条,
//显示重复的所有条 SELECT * FROM 表名 WHERE (字段1,字段2,...) IN (SELECT 字段1,字段2,...FROM 表名 GROUP BY 字段1,字段2,... H ...
- java如何导入Excel文件
Java使用POI导入Excel文件,操作起来比较简单,支持xlsx格式. 下载POI资源包 从官网https://poi.apache.org/下载POI,笔者选择的是版本是3.17,下载后文件名是 ...
- 从零开始的全栈工程师——js篇2.3
自加和自减 =赋值运算 他的顺序是从右往左 从后往前 var a=12; 声明一个变量并将12赋值给aa=a+2; 将a+2赋值给a简写a+=3; a=a+3a+=1; a++ 在自己原有的基础上加1 ...
- cocos2d-x 配置教程
下载cocos2d-x并解压(解压的路径不要带空格,不然以后用cygwin编译工程的时候会出现错误),我的解压到了D:\cocos2d-2.1rc0-x-2.1.2(我的版本是cocos2d-2.1r ...