hihoCoder#1139 二分·二分答案
挺简单一道题,结果因为一时傻逼写错一个小地方,导致WA成狗了_(:з」∠)_
代码:
#include <iostream>
#include <cstring>
#include <queue> using namespace std; #define MAX_V 10008
#define MAX_E 200008 int N, M, K, T;
int f[MAX_V];
bool v[MAX_V];
int n[MAX_E];
int w[MAX_E];
int t[MAX_E];
int max_w = ;;
int min_w = ; bool check(int l) {
queue<pair<int, int> > q;
memset(v, , sizeof(v));
q.push(pair<int, int>(, K));
while (!q.empty()) {
pair<int, int> p = q.front();
q.pop();
if (p.first == T && p.second >= )
return true;
if (p.second == || v[p.first])
continue;
v[p.first] = true;
for (int i = f[p.first]; i != ; i = n[i]) {
if (w[i] > l || v[t[i]])
continue;
q.push(pair<int, int>(t[i], p.second - ));
}
}
return false;
} int find(int l, int r) {
int res = r;
while (l <= r) {
int m = (l + r) / ;
if (check(m)) {
res = m;
r = m - ;
}
else
l = m + ;
}
return res;
} int main() {
memset(n, , sizeof(n));
scanf("%d%d%d%d", &N, &M, &K, &T);
for (int i = , j = ; i < M; i++) {
int a, b, c;
scanf("%d%d%d", &a, &b, &c);
min_w = min(min_w, c);
max_w = max(max_w, c);
j++;
w[j] = c;
t[j] = b;
n[j] = f[a];
f[a] = j;
j++;
w[j] = c;
t[j] = a;
n[j] = f[b];
f[b] = j;
}
if (T == )
printf("0\n");
else
printf("%d\n", find(min_w, max_w));
return ;
}
hihoCoder#1139 二分·二分答案的更多相关文章
- hihocoder hiho第38周: 二分·二分答案 (二分搜索算法应用:二分搜索值+bfs判断可行性 )
题目1 : 二分·二分答案 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 在上一回和上上回里我们知道Nettle在玩<艦これ>,Nettle在整理好舰队之后 ...
- hihoCoder 1133 二分·二分查找之k小数(TOP K算法)
#1133 : 二分·二分查找之k小数 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 在上一回里我们知道Nettle在玩<艦これ>,Nettle的镇守府有很 ...
- Brownie Slicing(二分枚举答案)
描述 Bessie has baked a rectangular brownie that can be thought of as an RxC grid (1 <= R <= 500 ...
- hiho week 38 P1 : 二分·二分答案
P1 : 二分·二分答案 Time Limit:10000ms Case Time Limit:1000ms Memory Limit:256MB 描述 在上一回和上上回里我们知道Nettle在玩&l ...
- Hihocoder 1128 二分·二分查找
二分·二分查找 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 Nettle最近在玩<艦これ>,因此Nettle收集了很多很多的船(这里我们假设Nettle氪 ...
- hdu2413(二分+二分匹配)
题意:人和外星人星球大战,人总共有H个星球,外星人有A个星球,现在人要用飞船去打外星人的飞船,要求每个人类星球只能对战一个外星球,且每个星球都开始有己知的飞船数,不论是人或外星人的星球,并每个星球都有 ...
- hiho week 37 P1 : 二分·二分查找之k小数
P1 : 二分·二分查找之k小数 Time Limit:10000ms Case Time Limit:1000ms Memory Limit:256MB 描述 在上一回里我们知道Nettle在玩&l ...
- ACM学习历程—Hihocoder 1139 二分·二分答案(bfs)
http://hihocoder.com/problemset/problem/1139 这题提示上写的是二分,但是感觉不二分应该也可以,至少题目是AC的... 二分的思想就是二分答案的值,看能不能在 ...
- hihocoder 二分·二分答案【二分搜索,最大化最小值】 (bfs)
题目 这道题做了几个小时了都没有做出来,首先是题意搞了半天都没有弄懂,难道真的是因为我不打游戏所以连题都读不懂了? 反正今天是弄不懂了,过几天再来看看... 题意:一个人从1点出发到T点去打boss, ...
随机推荐
- Spring------自动化装配Bean(一)
一.创建 CompactDisc接口和SgetPeppers实现类 CompactDisc接口方法为播放.SgtPeppers实现CompactDisc接口. package soundsystem; ...
- AJPFX总结java 中类的创建和使用
//面向对象中类的创建和 调用 ============================================================= 类的使用: 类的使用分为两个动作:创建对象与 ...
- Hibernate5 与 Spring Boot2 最佳性能实践
参考 Hibernate5 与 Spring Boot2 最佳性能实践(1) Hibernate5 与 Spring Boot2 最佳性能实践(2) Best Performance Practice ...
- poj1857 To Europe! To Europe!
思路: 一维dp. 实现: #include <cstdio> #include <iostream> using namespace std; const int INF = ...
- IOS问题
#import "EXFifthViewController.h" @interface EXFifthViewController () @end @implementation ...
- qt qtableview 样式设置
转载请注明出处:http://www.cnblogs.com/dachen408/p/7531159.html 1.设置tableview的列宽时,必须先setModel再setColumnWidge ...
- MySql数据库--持续记录ing
1 基本,引擎,数据类型,运算1.1 基本操作启动:net start mysql停止:net stop mysql连接: mysql –uroot -h127.0.0.1 -proot断开连接:qu ...
- Hystrix 断路器
断路器: 当客户端访问服务端,发现服务端有异常不能进行访问时,就会执行一个fallback 方法.
- Metinfo 5.3.19管理员密码重置漏洞复现
Metinfo 5.3.19管理员密码重置漏洞 操作系统:Windows 10专业版 kali linux 网站环境:UPUPW 5.3 使用工具:burpsuite 1.7 beta 漏洞分 ...
- Java BufferedReader文件读取 带缓冲区的字符流
package org.jimmy.autosearch2019.test; import java.io.BufferedReader; import java.io.FileInputStream ...