Dij

厦门大学“网宿杯“17届程序设计竞赛决赛

↘锁芯ラ 提交于 2020-07-27 22:01:11
E:芜湖起飞 https://ac.nowcoder.com/acm/contest/5945/E 每条边的权值为 kx+b,可知这是一个一次函数。 但是每条边的单调性并不是相同的,所以综合应该为一个二次函数。 求二次函数的方法一般为 三分法,所以这题只需要 三分答案+dij便可。 #include <bits/stdc++.h> #define fin freopen("in.txt", "r", stdin) #define fout freopen("out.txt", "w", stdout) #define fcdate freopen("in.txt", "w", stdout) using namespace std; typedef double dou; typedef long long ll; typedef pair <ll, ll> pii; #define M 120000 #define pi acos(-1.0) #define inf 0x3f3f3f3f #define mod 998244353 #define W(a) while (a) #define ms(a, b) memset(a, b, sizeof(a)) #define debug(a) cout << #a << " == " << a << endl #define

Diary (2020暑期集训日记&总结)

生来就可爱ヽ(ⅴ<●) 提交于 2020-07-27 00:13:01
2020.07 2020.7.23 啊啊啊啊啊啊啊 今天竟然被催更了 整理了一天 上午把考试题改完了 还剩一个T4实在不会,暂时跳了 改题听歌被爆破了 虎哥一脸淡定的把耳机拿了下来 我一脸懵逼的把耳机从主机上拔掉 emmmmm 就挺……秃然的 歌……挺好听 至于虎哥……也也也挺见怪不怪了哈哈哈哈哈哈 晚上得知要退奥才能拿回来 浩子我对不起你哈哈哈哈哈 求jzhxjj的内心心理阴影面积 xswl 咳咳,既然收了 就好好学习吧~~ 下午的时候 原计划要搞字符串 结果看了半天不会 就跑去狂敲线段树了 半路被hellohhy还有kdr质问关于Prufer序列的嘛嘛玩意 性质三给我整懵逼了 于是乎拿出一个小时复习一遍 把知识点重新梳理了一遍 瞅 这里 感觉已经说得很详细了 不过好像也没多大用处 看过还是希望能有帮助 晚上简直简直太快乐了 爱死虎哥~~ 晚上八点半集体到操场上放风 打打球出出汗 吹个小风 回来之后开个瓜 美滋滋 真香! 这就是信奥集训生活吗? i了i了 感觉晚上放松比下午好 不会出那么多汗 回来之后水果也吃的下去了 总之一天的压力还有调代码烦躁心情一扫而空 再次告白虎哥 锁死~~~~~ 2020.7.22 今天的考试就友好多了 至少不会读完题就困得不想写也不会写 T1线段树,先打了暴力没有交 滚去看T2 一眼看过去感觉是个限制的$Kruskal$ 想的是要把鹅卵石放前面先选

迪杰斯特拉算法(Dijkstra) (基础dij+堆优化) BY:优少

落爺英雄遲暮 提交于 2020-05-05 23:23:41
首先来一段百度百科压压惊。。。 迪杰斯特拉算法(Dijkstra)是由荷兰计算机科学家狄克斯特拉于1959 年提出的,因此又叫狄克斯特拉算法。是从一个顶点到其余各顶点的最短路径算法,解决的是有权图中最短路径问题。迪杰斯特拉算法主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。 让我来翻译一下: Dijkstra可以求出一个点到一个图中其他所有节点的最短路径,故也称对于单源最短路径的一种解法 算法实现步骤: a.初始时,只包括源点,即S = {v},v的距离为0。U包含除v以外的其他顶点,即:U ={其余顶点},若v与U中顶点u有边,则(u,v)为正常权值,若u不是v的出边邻接点,则(u,v)权值 ∞; b.从U中选取一个距离v最小的顶点k,把k,加入S中(该选定的距离就是v到k的最短路径长度)。 c.以k为新考虑的中间点,修改U中各顶点的距离;若从源点v到顶点u的距离(经过顶点k)比原来距离(不经过顶点k)短,则修改顶点u的距离值,修改后的距离值的顶点k的距离加上边上的权。 d.重复步骤b和c直到所有顶点都包含在S中。 动画模拟: 普通版Dijkstra代码如下: #include<iostream> #include <cstdio> #include <cstdlib> #include <cstring> using namespace std; int map[

bzoj 4242 水壶 (多源最短路+最小生成树+启发式合并)

喜你入骨 提交于 2020-05-03 20:23:20
4242: 水壶 Time Limit: 50 Sec Memory Limit: 512 MB Submit: 1028 Solved: 261 [ Submit ][ Status ][ Discuss ] Description JOI君所居住的IOI市以一年四季都十分炎热著称。 IOI市是一个被分成纵H*横W块区域的长方形,每个区域都是建筑物、原野、墙壁之一。建筑物的区域有P个,编号为1...P。 JOI君只能进入建筑物与原野,而且每次只能走到相邻的区域中,且不能移动到市外。 JOI君因为各种各样的事情,必须在各个建筑物之间往返。虽然建筑物中的冷气设备非常好,但原野上的日光十分强烈,因此在原野上每走过一个区域都需要1单位的水。此外,原野上没有诸如自动售货机、饮水处之类的东西,因此IOI市的市民一般都携带水壶出行。大小为x的水壶最多可以装x单位的水,建筑物里有自来水可以将水壶装满。 由于携带大水壶是一件很困难的事情,因此JOI君决定携带尽量小的水壶移动。因此,为了随时能在建筑物之间移动,请你帮他写一个程序来计算最少需要多大的水壶。 现在给出IOI市的地图和Q个询问,第i个询问(1<=i<=Q)为“在建筑物Si和Ti之间移动,最小需要多大的水壶?”,请你对于每个询问输出对应的答案。 Input 第一行四个空格分隔的整数H,W,P,Q,表示IOI市被分成了纵H*横W块区域

Dijkstra再理解+最短路计数

£可爱£侵袭症+ 提交于 2020-05-01 22:10:07
众所周知,Dijkstra算法是跑单源最短路的一种优秀算法,不过他的缺点在于难以处理负权边。 但是由于在今年的NOI赛场上SPFA那啥了(嗯就是那啥了),所以我们还是好好研究一下Dij的原理和它的优化吧。 (前面那篇写的太简陋了) 1.Dijkstra算法的原理 首先,我们先假设整个图已经被建完而且所有边权全部为正。使用dis[i]表示从原点s到i点的最短距离。之后我们从选取的原点s开始,进行到汇点t的最短路搜寻。s一开始就会连向几个顶点,它所能到达的顶点的距离我们更新一 下,而不能到达的顶点的距离就先设为INF。之后,我们在这个点所能到达的所有点之中,找出一个dis最小的点,那么此时,到这个点的最短路径就已经被确定了。 这是为什么呢?因为图中所有边权全部为正,而当前点(u)的dis已经是最小的了,从其他点(v)再到这个点,所经过的距离必然大于dis[u],也就是肯定不是到达u点的最短路。 因此这样我们就可以不断地确定一些点,之后再从确定的点集出发,去确定更多的点,这样就可以找到到汇点t的最短路径长度了。 (我偷了别人的图和文章来演示如何求从顶点v1到其他各个顶点的最短路径) 首先第一步,我们先声明一个dis数组,该数组初始化的值为 : 我们的顶点集T的初始化为:T={v1} 既然是求 v1顶点到其余各个顶点的最短路程,那就先找一个离 1 号顶点最近的顶点。通过数组 dis

2019冬季PAT甲级心得&建议

試著忘記壹切 提交于 2020-04-30 00:40:50
时间:2019年12月7日 地点:浙大软院食堂二楼某教师,同场考试共20人的样子。 第一次考PAT,刷了32/155题,看了柳婼的心得,dij和树的中序先序后序转换不大熟练,97分,230/1085。 提早一个小时安装所需软件及配置环境,可以联网下载,U盘读不进, 得去操控端传送下发到每台电脑。 codeblocks使用需要新建project,不然run不动。 做题的时候关注了一下通过率,第一题0.03,第二题0.13。 第一题交上去WA了,然后交第二题也WA了,心态差点原地托马斯螺旋爆炸。 过题顺序:第一题部分,第二题部分,第四题,第三题,第一题,第二题部分。 第一题:给26个字母的7*5方块,每次给一串字符,由非大写字母分割,打印字母矩阵形式。考虑多个分隔符在一起、分隔符在首位的情况。 第二题:给定一个单链表,将链表按K个数为分界,最后一段可以少于K个数。将分好的段逆序,然后输出链表。 如1->2->3->4->5->6->7,k为3,分为1->2->3,4->5->6,7三段,逆序后变成7->4->5->6->1->2->3。 做的时候想多了,把多链表的情况去掉,只考虑单链表,然后多过了一个点......但是死于不明不白的段错误。 第三题:输入:n(表示有1到n,n个人),m,m个u和v表示两人认识,k个查询,每次查询给L个数表示L个人 输出:是否L个人相互认识

技术沙龙 | 京东云智能黑科技矩阵大曝光

不羁的心 提交于 2020-04-07 12:10:06
当前,大数据、物联网、人工智能、云计算等智能技术手段已经逐步成熟,并迎来“核聚变”发展态势,万物互联、万物互通的时代悄然而至,创新驱动发展,“智能+”成了新引擎。 2019年8月17日,“云中升智,探索基于机器学习的AI业务优化实践”京东云开发者社区技术沙龙在南京举办,来自京东及英特尔的六位技术专家为参会者带来了一场知识盛宴。 本期技术沙龙聚焦“机器学习”与“计算机视觉”,揭秘京东 AI 在智慧零售、智慧物流、智慧金融等领域的生态布局与解决方案,讲解京东拍照购、以图搜图、智能鉴黄等技术的实现原理, Intel如何有效将 AI 部署到边缘端。同时,展示基于容器技术的开发测试流水线的最佳实践。 今年,京东云将智能产业创新聚焦南京,将京东云智能产业华东区域总部落户在南京,并在南京正式发布“产业创新云”。“产业创新云”(以下简称“产创云”)是基于京东自有的人工智能、物联网、云计算等技术能力,围绕容器、开发测试流水线、微服务等云原生技术构建的一站式支撑平台。 来自京东云的高级架构师陈勇及京东云高级架构师马廷卫,现场介绍了产创云平台的价值及支持政策,并为开发者解读产创云容器集群及资源管理,解读基于容器的 DevOps 的开发测试流水线最佳实践。 产创云从全云化的技术架构上提供了IaaS资源、PaaS平台以及SaaS应用,并将京东的区块链、AI、IoT相关的技术整合在此,开发者可以基于相关的技术

技术沙龙 | 京东云智能黑科技矩阵大曝光

此生再无相见时 提交于 2019-11-29 00:16:39
当前,大数据、物联网、人工智能、云计算等智能技术手段已经逐步成熟,并迎来“核聚变”发展态势,万物互联、万物互通的时代悄然而至,创新驱动发展,“智能+”成了新引擎。 2019年8月17日,“云中升智,探索基于机器学习的AI业务优化实践”京东云开发者社区技术沙龙在南京举办,来自京东及英特尔的六位技术专家为参会者带来了一场知识盛宴。 本期技术沙龙聚焦“机器学习”与“计算机视觉”,揭秘京东 AI 在智慧零售、智慧物流、智慧金融等领域的生态布局与解决方案,讲解京东拍照购、以图搜图、智能鉴黄等技术的实现原理, Intel如何有效将 AI 部署到边缘端。同时,展示基于容器技术的开发测试流水线的最佳实践。 今年,京东云将智能产业创新聚焦南京,将京东云智能产业华东区域总部落户在南京,并在南京正式发布“产业创新云”。“产业创新云”(以下简称“产创云”)是基于京东自有的人工智能、物联网、云计算等技术能力,围绕容器、开发测试流水线、微服务等云原生技术构建的一站式支撑平台。 来自京东云的高级架构师陈勇及京东云高级架构师马廷卫,现场介绍了产创云平台的价值及支持政策,并为开发者解读产创云容器集群及资源管理,解读基于容器的 DevOps 的开发测试流水线最佳实践。 产创云从全云化的技术架构上提供了IaaS资源、PaaS平台以及SaaS应用,并将京东的区块链、AI、IoT相关的技术整合在此,开发者可以基于相关的技术