K - Candies POJ - 3159(利用了自定义比较操作符)
K - Candies POJ - 3159
题意: 孩子 A 觉得 B 得到的糖果不能比自己多超过 c,求 n 比 1 最多能多几颗糖果
思路:DJ,松弛条件: sweet[A] > sweet[B] + c 时不满足条件
#include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
#include<vector>
using namespace std;
const int maxn = 3e4+100;
const int maxm = 2e5;
int n, m;int dis[maxn];
int head[maxn], cnt;
bool vis[maxn];
struct edge{int to, next, w;
}e[maxm];void add(int u, int v, int w) {e[++cnt].next = head[u];e[cnt].to = v;e[cnt].w = w;head[u] = cnt;
}typedef struct node{int u, dist;
}cam;bool operator < (const cam & a, const cam & b) { // 大根堆只需改变返回值即可 return a.dist > b.dist;
}void dijkstra() {memset(dis, 0x3f3f3f3f, sizeof(dis));dis[1] = 0;priority_queue<cam> heap; // 小根堆 cam s; s.u = 1; s.dist = 0;heap.push(s);while(heap.size()) {cam now = heap.top(); heap.pop(); // 每次贪心的将最短的边加入 if(vis[now.u]) continue;vis[now.u] = 1;for(int i = head[now.u]; i; i = e[i].next) {if(dis[e[i].to] > dis[now.u] + e[i].w) {dis[e[i].to] = dis[now.u] + e[i].w;cam tmp; tmp.u = e[i].to; tmp.dist = dis[e[i].to];heap.push(tmp);}}}
}int main() {// freopen("test.in", "r", stdin);scanf("%d%d", &n, &m);int u, v, w;for(int i = 1; i <= m; i++) {scanf("%d%d%d", &u, &v, &w);add(u, v, w);}dijkstra();printf("%d\n", dis[n]);return 0;
}
K - Candies POJ - 3159(利用了自定义比较操作符)相关推荐
- Dataset:数据生成之利用pandas自定义生成随机各自类型(离散型和连续型)的dataframe数据
Dataset:数据生成之利用pandas自定义生成随机各自类型(离散型和连续型)的dataframe数据 目录 数据生成之利用pandas自定义生成随机数据 输出结果 实现代码 数据生成之利用pan ...
- DL之DNN:利用numpy自定义三层结构+softmax函数建立3层完整神经网络全部代码实现(探究BP神经网络的底层思想)
DL之DNN:利用numpy自定义三层结构+softmax函数建立3层完整神经网络全部代码实现(探究BP神经网络的底层思想) 目录 输出结果 代码实现 输出结果 代码实现 #DL之NN:利用numpy ...
- TF之LiR:利用TF自定义一个线性分类器LiR对乳腺癌肿瘤数据集进行二分类预测(良/恶性)
TF之LiR:利用TF自定义一个线性分类器LiR对乳腺癌肿瘤数据集进行二分类预测(良/恶性) 目录 输出结果 设计思路 核心代码 输出结果 设计思路 核心代码 X_train = np.float32 ...
- 利用 IHttpHandler 自定义 HTTP 处理程序
本文内容 引入 IHttpHandler 概述 演示创建自定义 HTTP 处理程序 创建自定义 HTTP 处理程序 映射文件扩展名 测试自定义 HTTP 处理程序 参考资料 引入 当新建一个名为 We ...
- [WCF权限控制]利用WCF自定义授权模式提供当前Principal[实例篇]
在<原理篇>中我们谈到:如果采用自定义安全主体权限模式,我们可以通过自定义AuthorizationPolicy或者ServiceAuthorizationManager实现对基于当前认证 ...
- 利用alias自定义快捷命令
身为开发人员,不可避免地经常需要进入几个常用的目录进行开发,如果目录太深,经常敲一串路径(例如: cd /path/to/my/work/directiron),着实麻烦.可利用alias自定义一些快 ...
- [WCF权限控制]利用WCF自定义授权模式提供当前Principal[原理篇]
在<通过扩展自行实现服务授权>一文中,我通过自定义CallContextInitializer的方式在操作方法之前之前根据认证用户设置了当前线程的安全主体,从而实现授权的目的.实际上,WC ...
- CSS设置下划线对齐方式,如何巧妙利用CSS自定义网页下划线样式
如何巧妙利用CSS自定义网页下划线样式 CSS为网页设计者们提供了丰富而灵活的页面元素表现形式的控制手段.但是,或许你可能注意到了,对于下划线,CSS提供的可选操作却不是很多.一般情况下,人们看到的下 ...
- POJ 3159 Candies(差分约束+SPAF)
题意: 给n个小朋友分发糖果,但小朋友们之间有嫉妒心.接下来m行,每行三个数,分别表示小朋友A希望B得到的糖果不能比他多x个.要求你计算在满足所有小朋友的条件的情况下最多需要准备多少颗糖. 题目: D ...
最新文章
- android 图标拖动不了,拖动式选项卡(仿android) 添加了上下拉刷新后,下拉即刷新,而不是滚动到顶后再刷新,同时还想问一下正在刷新的图标怎么移到选项卡下...
- 【Python】Scrapy爬虫实战(传智播客老师简介)
- windows 下实现函数打桩:拦截API方式
- springcloud 微服务鉴权_我对微服务、SpringCloud、k8s、Istio的一些杂想
- e0312 不存在用户定义的_VistaPro创建自定义变量
- 2014\Province_C_C++_B\2 切面条
- plsql编程语言定义变量
- Hibernate学习——建立一个简单的Hibernate项目
- JavaScript之jQuery够用即可(each循环、位置偏移量和大小、克隆外层标签、嵌套返回顶部、集体绑定事件)
- 深度学习:transformer模型
- oracle+rac+ogg部署,RAC环境下配置OGG同步
- ZYNQ+NVMe 小型化全国产存储方案
- emui11优先体验鸿蒙系统,华为EMUI 11正式发布,可优先体验鸿蒙系统
- c语言判定三角形流程图_c语言编写程序:输入三角形的三条边,判断它们能否构成三角形,若能则指出何种三角形。...
- Linux日常软件安装(FC6)
- [CISCN2021]华北区_ctf_re_imnotavirus
- 最简单的分类算法之一:KNN(原理解析+代码实现)
- 写一个函数来判断一个整数是否为素数
- 科密考勤机软件初次使用步骤
- python函数定义之关键字参数
热门文章
- ORDNet:为场景分割捕获全范围依赖关系
- scala基本语言结构以及函数算子(持续更新......)
- JavaWeb实现分页的四种方法
- H5新增的标签以及改良的标签
- POJ3690:Constellations——题解
- opensuse-KDE桌面下自定义快捷键,ctrl+alt+t打开konsole
- 如何管理项目中外包开发人员、测试人员
- H.264NLU和RTSP协议理解
- 正弦信号有效值 c语言,推导正弦波正弦量、平均值、有效值基本公式
- python 归一化_几种归一化方法(Normalization Method)python实现