JZOJ 5904【NOIP2018模拟10.15】刺客信条

网络安全实战:从Wireshark到BurpSuite的抓包技巧解析 本文深入解析了Wireshark和BurpSuite在网络安全抓包中的实战技巧,从基础对比到高级过滤、核心模块应用及安全测试避坑指南。通过详细的操作步骤和案例分析,帮助读者掌握数据包抓取与分析的核心技能,提升网络安全防护能力。 阅读详情

昨晚改出来了 被墙联通坑死了 手改大数据......

先放题目

Description

          故事发生在1486 年的意大利,Ezio 原本只是一个文艺复兴时期的贵族,后来因为家族成员受到圣殿骑士的杀害,决心成为一名刺客。最终,凭借着他的努力和出众的天赋,成为了杰出的刺客大师。刺客组织在他的带领下,为被剥削的平民声张正义,赶跑了原本统治意大利的圣殿骑士首领-教皇亚历山大六世。在他的一生中,经历了无数次惊心动魄、扣人心弦的探险和刺杀。
        这次的故事就是他暗杀一位作恶多端的红衣主教。红衣主教可以吸取他周围人的生命力量,而他的红衣教徒也拥有这个力量。红衣主教的家是一个x*y 的长方形房间,也就是说,他的家的四个角坐标分别为(0,0)(x,0)(0,y)(x,y)。教堂的门在(0,0) ,而红衣主教就在 (x,y)的卧室休息。他的家中还有n个守护着他的红衣教徒,站在(ai,bi)。Ezio想要趁主教休息时,从门进入潜入到他的卧室刺杀他,因为主教休息时会脱下红衣,这样吸取生命的力量就消失了。可是守卫他的红衣教徒依然很危险,离红衣教徒太近就会被吸取生命。因此,Ezio想知道,在能刺杀主教的前提,从门到他的卧室的路上,他最远和离他最近的红衣教徒保持多远的距离。注意:教徒都在房间里。

Input

第一行三个整数x,y,n。之后n行,每行两个整数ai,bi ,意义见题目描述。

Output

一行一个数D,表示Ezio能保持的最大距离,保留两位小数。

Sample Input

10 20 2
3 3
6 14

Sample Output

3.00

样例说明
贴着墙走

Data Constraint

数据范围
对 10%的数据n<=10,
 对 30%的数据n<=100
对 100%的数据n<=2000
保证输入合法,x,y属于[1,10^6]

这题和去年PION提高的奶酪很像啊虽然当时我是没想出来 先放一波官方题解

我再来解释一波

起点终点断开 则 左边 上面 的墙是连起来的 右边 下面的墙是连起来的 但左上 右下两墙是分开的

我们想办法把这两墙连起来 因为当他连起来以后 起点和终点就分开了 这时这个边集最大值就是最大距离

虽然求最大距离 但我们要从小加边权 为什么呢

当起点终点刚好分开的时候 我们肯定只有一条从一墙到另一墙的路 这时我们选这堆边集里的最大值 用以穿过这个边集

如果我们从大加 万一还有边集 that (定语从句) 最大值比他小的 也可以联通 那就也要穿过这个边集

所以我们从小找答案的话 就不用更新答案了嘛

还有 每个点都要向两个墙连边 而且是取 点 到 每个墙的两个墙 的 最小距离

inline void addedge(int node) {
	e[++tot].u = node,e[tot].v = n + 1,e[tot].w = min(s[node].x,y - s[node].y) * 2,e[tot].w *= e[tot].w;
	//注意这里取min的是哪两个值 一定要注意啊QvQ
	e[++tot].u = node,e[tot].v = n + 2,e[tot].w = min(s[node].y,x - s[node].x) * 2,e[tot].w *= e[tot].w;
}

我这里有点奇怪 因为两点之间距离是 \frac{\sqrt{(a^{2} + b^{2})}}{2} 而墙却不用

为了避免 sqrt 的多次运算 我把墙和点的距离就乘起来了...不过还是差不多一样的速度700+ms为什么我们这边的dalao可以跑21ms啊 然后答案要记得除回去

下放很正常的两个代码

//sqrt后置版
#include <algorithm>
#include <cstdio>
#include <cmath>
using namespace std;
const int MAXN = 2010;
struct human{double x,y;}s[MAXN];
struct edge{double w;int u,v;}e[MAXN * MAXN];
double x,y,ans;
int l[MAXN],n,tot;
inline double min(double i,double j) {return i < j ? i : j;}
inline int f(int p) {return l[p] == p ? p : l[p] = f(l[p]);}
inline short cmp(edge i,edge j) {return i.w < j.w;}
inline void addedge(int node) {
	e[++tot].u = node,e[tot].v = n + 1,e[tot].w = min(s[node].x,y - s[node].y) * 2,e[tot].w *= e[tot].w;
	e[++tot].u = node,e[tot].v = n + 2,e[tot].w = min(s[node].y,x - s[node].x) * 2,e[tot].w *= e[tot].w;
}
inline double dis(int i,int j) {
	double a = abs(s[i].x - s[j].x);
	double b = abs(s[i].y - s[j].y);
	return a * a + b * b;
}
inline short pd()
{
	int a = f(n - 1),b = f(n);
	if (a == b) return 0;
	return 1;
}
int main()
{
	freopen("AC.in","r",stdin);
	freopen("AC.out","w",stdout);
	scanf("%lf%lf%d",&x,&y,&n);
	for (int a = 1 ; a <= n ; ++ a) scanf("%lf%lf",&s[a].x,&s[a].y);
	for (int a = 1 ; a <= n ; ++ a) addedge(a);
	for (int a = 2 ; a <= n ; ++ a)
	for (int b = 1 ; b <  a ; ++ b)
	e[++tot].u = a,e[tot].v = b,e[tot].w = dis(a,b);
	sort(e + 1,e + tot + 1,cmp),n += 2;
	for (int a = 1 ; a <= n ; ++ a) l[a] = a;
	for (int a = 1,o = 1 ; a <= tot && pd() ; ++ a)
	{
		int i = f(e[a].u);
		int j = f(e[a].v);
		if (i == j) continue;
		l[j] = i,++o;
		ans = max(ans,e[a].w);
	}
	printf("%.2lf\n",sqrt(ans) / 2);
	fclose(stdin);
	fclose(stdout);
	return 0;
}



//Frocean原版
#include <algorithm>
#include <cstdio>
#include <cmath>
using namespace std;
const int MAXN = 2010;
struct human{double x,y;}s[MAXN];
struct edge{double w;int u,v;}e[MAXN * MAXN];
double x,y,ans;
int l[MAXN],n,tot;
inline double min(double i,double j) {return i < j ? i : j;}
inline int f(int p) {return l[p] == p ? p : l[p] = f(l[p]);}
inline short cmp(edge i,edge j) {return i.w < j.w;}
inline void addedge(int node) {
	e[++tot].u = node,e[tot].v = n + 1,e[tot].w = min(s[node].x,y - s[node].y);
	e[++tot].u = node,e[tot].v = n + 2,e[tot].w = min(s[node].y,x - s[node].x);
}
inline double dis(int i,int j) {
	double a = abs(s[i].x - s[j].x);
	double b = abs(s[i].y - s[j].y);
	return sqrt(a * a + b * b) / 2;
}
inline short pd()
{
	int a = f(n - 1),b = f(n);
	if (a == b) return 0;
	return 1;
}
int main()
{
	freopen("AC.in","r",stdin);
	freopen("AC.out","w",stdout);
	scanf("%lf%lf%d",&x,&y,&n);
	for (int a = 1 ; a <= n ; ++ a) scanf("%lf%lf",&s[a].x,&s[a].y);
	for (int a = 1 ; a <= n ; ++ a) addedge(a);
	for (int a = 2 ; a <= n ; ++ a)
	for (int b = 1 ; b <  a ; ++ b)
	e[++tot].u = a,e[tot].v = b,e[tot].w = dis(a,b);
	sort(e + 1,e + tot + 1,cmp),n += 2;
	for (int a = 1 ; a <= n ; ++ a) l[a] = a;
	for (int a = 1,o = 1 ; a <= tot && pd() ; ++ a)
	{
		int i = f(e[a].u);
		int j = f(e[a].v);
		if (i == j) continue;
		l[j] = i,++o;
		ans = max(ans,e[a].w);
	}
	printf("%.2lf\n",ans);
	fclose(stdin);
	fclose(stdout);
	return 0;
}

 

【VS2017】“LNK1104 cannot open file ‘python39_d.lib‘ “ 记录一下编译调用了python代码的C语言源程序时遇到的问题 版本:以python3.9.1为例 先确保你安装了python的debug版本,如果没有,用对应版本安装包可以修改已经安装的python,如图。 选择 “Modify” 选择next 确保最后一项勾选,然后install。 光安装了还不够,需要配置一下C语言编译器。 以VS2017为例: 将python37_d.lib(在安装目录下的libs文件夹里有python39_d.lib)所在文件夹的路径添加到库目录里面,右键你的解决方案,选. 阅读详情

相关推荐

利用OrthoFinder做泛基因家族聚类分析

这条命令会将 Arabidopsis_thaliana.TAIR10.59_longest_trans.pep.fa 文件中的所有序列ID,去掉ID中的空格后面的部分,只保留 > 后第一个空格之前的基因ID,并将结果保存在 An1.fasta 文件中。muscle 是一种常用的多序列比对工具,用于基因组或蛋白质序列的比对。基因家族(Gene family),是来源于同一个祖先,由一个基因通过基因重复而产生两个或更多的拷贝而构成的一组基因,它们在结构和功能上具有明显的相似性,编码相似的蛋白质产物。

qq_64400864的博客 2746

JZOJ 5904. 【NOIP2018模拟10.15】刺客信条(AC)

Description 故事发生在1486 年的意大利,Ezio 原本只是一个文艺复兴时期的贵族,后来因为家族成员受到圣殿骑士的杀害,决心成为一名刺客。最终,凭借着他的努力和出众的天赋,成为了杰出的刺客大师。刺客组织在他的带领下,为被剥削的平民声张正义,赶跑了原本统治意大利的圣殿骑士首领-教皇亚历山大六世。在他的一生中,经历了无数次惊心动魄、扣人心弦的探险和刺杀。 这次的故事就是他暗杀一位作恶多端...

Felix-Lee的博客 405

避坑指南:OpenWRT改AP模式必做的5个关键设置(DHCP/防火墙/WAN口处理)

本文详细解析了将OpenWRT设备从路由模式切换为AP模式时,必须完成的五个关键设置步骤。核心在于理解AP模式本质是带无线的智能交换机,需彻底关闭DHCP服务、调整防火墙策略、正确桥接所有物理接口(包括WAN口处理),并集成无线网络,以确保设备能透明接入主路由网络,避免出现设备隔离或无法互访等常见问题。

t1u2v的博客 732

jzoj 5904. 【NOIP2018模拟10.15】刺客信条 二分+并查集

刺客信条 时间限制: 1 Sec 内存限制: 512 MB 题目描述 故事发生在1486 年的意大利,Ezio 原本只是一个文艺复兴时期的贵族,后来因为家族成员受到圣殿骑士的杀害, 决心成为一名刺客。最终,凭借着他的努力和出众的天赋,成为了杰出的刺客大师。刺客组织在他的带领下,为被 剥削的平民声张正义,赶跑了原本统治意大利的圣殿骑士首领-教皇亚历山大六世。在他的一生中,经历了无数次 惊心动魄、扣...

qq_44343213的博客 407

ximalaya 新xm-sign逆向思路

本文主要介绍目标网站新xm-sign值的逆向思路。仅代表个人理解,如有其他建议可在评论区沟通。声明仅仅记录一下自己的学习方法,不作为其他参考、更不作为商业用途。如有侵犯请联系本人删除。

weixin_66580433的博客 2017

HBase骚操作之数据加载方式BulkLoad

本文研究了一种HBase BulkLoad的入库方式,该方式利用HBase的数据信息按照特定格式存储在hdfs内这一原理,直接在HDFS中生成持久化的HFile数据格式文件,然后上传至合适位置,即完成巨量数据快速入库的办法。该方式配合MapReduce完成,高效便捷,而且不占用Region资源,增添负载,在大数据量写入时能极大的提高写入效率,并降低对Hbase节点的写入压力。HBase BulkLoad对于异构数据源的合并及大量数据一次性导入具有重要指导意义,相比HBase Put操作在性能上具有较高的优势

石榴姐yyds 7789

虚拟VNA 3.1:非互易散射矩阵测量技术解析

散射矩阵(S参数)是微波工程中描述多端口器件信号传输特性的基础工具,其测量原理基于电磁波的反射与传输特性分析。传统矢量网络分析仪(VNA)采用相干检测技术,但在面对非互易器件时存在端口可及性和相位同步等挑战。虚拟VNA技术通过可调负载网络和梯度下降算法实现突破,其中3.1版本创新性地引入非相干检测系统,解决了非互易器件的测量难题。该技术在微波隔离器、环行器等铁氧体器件测试中具有重要应用价值,其核心思想是通过环境自由度替代直接测量通道,为复杂系统表征提供了新思路。

weixin_30732487的博客 390

路由三大分类:直连路由、静态路由、动态路由

直连路由、静态路由和动态路由各有其独特的特点和适用场景。直连路由适用于简单的直接连接网络,静态路由提供了精确的路径控制,而动态路由则在大型复杂网络中展现出强大的适应性和自动化能力。了解和掌握这三种路由类型的配置和管理,对于网络管理员来说,是确保网络高效、安全运行的重要技能。

网络技术联盟站 4697

10.16模拟赛题解

T1 Description 故事发生在1486 年的意大利,Ezio 原本只是一个文艺复兴时期的贵族,后来因为家族成员受到圣殿骑士的杀害,决心成为一名刺客。最终,凭借着他的努力和出众的天赋,成为了杰出的刺客大师。刺客组织在他的带领下,为被剥削的平民声张正义,赶跑了原本统治意大利的圣殿骑士首领-教皇亚历山大六世。在他的一生中,经历了无数次惊心动魄、扣人心弦的探险和刺杀。 这次的故事就是他暗杀一位作...

ChickenT的博客 446

OD图 arcgis曲线制作插件 od图曲线 路径图曲线制作插件 航线图曲线制作插件

在ArcGIS 10.2 中导入节点数据,打开插件,选择输入起始节点和目标节点的节点文件Point,以Name字段(地名)为连接线的起始字段和目标字段,(Input Table File)选择连接关系表格SDLine.csv,(Origin Column 和 Destination Column)为起始节点和目标节点,(Output Path)为输出路径,应选择.gdb数据库路径,否则容易报错,(Chord Coefficient)为连线的曲率,数值越大,曲率越高。运行环境:ArcGIS10.2。...

JData_Engineer的博客 2669

阿波罗开发板硬件架构与STM32模块化设计详解

嵌入式开发板的模块化设计是提升硬件复用性、降低迭代成本的关键技术路径。其核心在于底板与核心板的电气解耦与功能分层,依托STM32系列MCU(如F429/F767)的丰富外设资源与引脚复用能力,实现信号完整性、电源域隔离与热管理的系统级协同。该架构显著支撑工业HMI、智能家居网关、便携医疗设备等典型场景,尤其在RGB LCD驱动、QSPI Flash内存映射、多协议通信(CAN/RS485/USB)及低功耗唤醒(WK_UP按键)等工程实践中展现出高可靠性与易调试性。本文围绕阿波罗开发板展开深度解析,覆盖最小系

weixin_42510201的博客 63

JZOJ 5904. 【NOIP2018模拟10.15】刺客信条

并查集,维护连通块。 考虑连通块的意义。

Luckfort 400

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

JZOJ5904. 【NOIP2018模拟10.15】刺客信条(AC)

Description 故事发生在1486 年的意大利,Ezio 原本只是一个文艺复兴时期的贵族,后来因为家族成员受到圣殿骑士的杀害,决心成为一名刺客。最终,凭借着他的努力和出众的天赋,成为了杰出的刺客大师。刺客组织在他的带领下,为被剥削的平民声张正义,赶跑了原本统治意大利的圣殿骑士首领-教皇亚历山大六世。在他的一生中,经历了无数次惊心动魄、扣人心弦的探险和刺杀。 这次的故事就是他暗杀一位作恶多端...

lijf2001的博客 251

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

jzoj5904. 【NOIP2018模拟10.15】刺客信条(并查集)

5904. 【NOIP2018模拟10.15】刺客信条 Description 故事发生在1486 年的意大利,Ezio 原本只是一个文艺复兴时期的贵族,后来因为家族成员受到圣殿骑士的杀害,决心成为一名刺客。最终,凭借着他的努力和出众的天赋,成为了杰出的刺客大师。刺客组织在他的带领下,为被剥削的平民声张正义,赶跑了原本统治意大利的圣殿骑士首领-教皇亚历山大六世。在他的一生中,经历了无数次惊心动魄、...

闲人请进 288

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

jzoj 5904. 【NOIP2018模拟10.15】刺客信条 并查集

Description 故事发生在1486 年的意大利,Ezio 原本只是一个文艺复兴时期的贵族,后来因为家族成员受到圣殿骑士的杀害,决心成为一名刺客。最终,凭借着他的努力和出众的天赋,成为了杰出的刺客大师。刺客组织在他的带领下,为被剥削的平民声张正义,赶跑了原本统治意大利的圣殿骑士首领-教皇亚历山大六世。在他的一生中,经历了无数次惊心动魄、扣人心弦的探险和刺杀。 这次的故事就是他暗杀一位作恶多端...

liangzihao1的博客 321

[并查集]JZOJ 5904 刺客信条

Description 故事发生在1486 年的意大利,Ezio 原本只是一个文艺复兴时期的贵族,后来因为家族成员受到圣殿骑士的杀害,决心成为一名刺客。最终,凭借着他的努力和出众的天赋,成为了杰出的刺客大师。刺客组织在他的带领下,为被剥削的平民声张正义,赶跑了原本统治意大利的圣殿骑士首领-教皇亚历山大六世。在他的一生中,经历了无数次惊心动魄、扣人心弦的探险和刺杀。 ...

weixin_34006965的博客 227

5904. 【NOIP2018模拟10.15】刺客信条(AC)

题目大意: 故事发生在1486 年的意大利,Ezio 原本只是一个文艺复兴时期的贵族,后来因为家族成员受到圣殿骑士的杀害,决心成为一名刺客。最终,凭借着他的努力和出众的天赋,成为了杰出的刺客大师。刺客组织在他的带领下,为被剥削的平民声张正义,赶跑了原本统治意大利的圣殿骑士首领-教皇亚历山大六世。在他的一生中,经历了无数次惊心动魄、扣人心弦的探险和刺杀。 这次的故事就是他暗杀一位作恶多端的红衣主教。...

学习成神之路 462

【NOIP2018模拟赛2018.10.17】刺客信条(AC)

题目 题解 –这道题可以用二分,或者是并查集 但是怎么写check()是个大问题 首先,你可以发现,对于一个人,他能控制的范围是个圆 如果不能到终点的情况就是一串圆相连,把起点和终点隔开 所以可以用并查集维护连通性 当边界刚好联通的那个就是最远的距离 代码 #include&lt;iostream&gt; #include&lt;cstdio&gt; #include&lt;cstdlib&...

Stupid_Computer的博客 555

线段树什么的最讨厌了

Description 小Y 最近学习了线段树,但是由于她的智商比较低,运用的还不是很熟练。于是小R 给了她一点练习题训练,其中有一道是这样的。 这是小R 写的线段树的一段建树代码: 只要调用buildtree(1,0,n) 就可以得到一颗线段树了。显然,一颗线段树一共有O(n) 个节点,因为每一个节点都代表了一个不同的区间,所以线段树上...

235

【NOIP模拟赛】刺客信条(AC)

题解 :枚举主教的攻击范围,再用并查集看两个主教中有没有路可以走,因为攻击范围必然是个圆 #include<bits/stdc++.h> using namespace std; int x,y,n; int a[2005],b[2005]; struct oo{ int u,v; long long l; }edge[2005*2005]; int cnt; int fa[...

聂泽宇的blog 278

请大家帮帮忙,去给<刺客的信条 for PSP>签个名

签名地址: http://www.petitiononline.com/ac4psp/petition.html 刺客的信条 UBISOFT的 游戏大作 (很好很华丽) 网上介绍很多 很火 发行不久便大卖数百万套 但是ubisoft不知道怎么了, 这样一款以画面和动作爽快感著称的游戏 居然掌机版只出nds的版本 却置 更适合的PSP而不顾 希望大家能够帮帮忙 参与一下这个网...

大城小胖的大城 179

noip模拟 2018 10 17

刺客信条(AC) Description   故事发生在1486 年的意大利,Ezio 原本只是一个文艺复兴时期的贵族,后来因为家族成员受到圣殿骑士的杀害,决心成为一名刺客。最终,凭借着他的努力和出众的天赋,成为了杰出的刺客大师。刺客组织在他的带领下,为被剥削的平民声张正义,赶跑了原本统治意大利的圣殿骑士首领-教皇亚历山大六世。在他的一生中,经历了无数次惊心动魄、扣人心弦的探险和刺杀。   这...

chang_yl的博客 313

「GDOI2009」 猴子 - Dp

题目描述 一只猴子找到了很多香蕉树,这些香蕉树都种在同一直线上,而猴子则在这排香蕉树的第一棵树上。这只猴子当然想吃尽量多的香蕉,但它又不想在地上走,只想从一棵树跳到另一棵树上.同时猴子的体力有限,它不能一次跳得太远或跳得次数太多,每当他跳到一棵树上,就会把那棵树上的香蕉都吃掉。那么,它最多能吃多少个香蕉呢? 分析 定义为到达第i棵树,跳了j次所获最多的香蕉个数。由定义,不容易推出方程: ...

TbYangZ的博客 471

Jzoj P5904 刺客信条___二分+并查集

题目大意: 给出一个n∗mn*mn∗m的图,图上有TTT个点(ai,bi)(a_i,b_i)(ai​,bi​),左上角是(0,0)(0,0)(0,0),右下角是(n,m)(n,m)(n,m),设一条路径从(0,0)(0,0)(0,0)到(n,m)(n,m)(n,m),其中路径上所有点分别离TTT个点中最近的点的距离是x1,x2x_1,x_2x1​,x2​,设其中最小值是yiy_iyi​,问所有从(...

生如夏花之绚烂 282

bzo j3122: [Sdoi2013]随机数生成器

这道题不难想,难的是分类讨论。 先是最一般的情况 推出公式套用bsgs。 这个要求答案>1且a!=1(等比数列的分类讨论)且a!=0(0没有逆元) 所以第一种情况a!=1 a!=0 ans=1 第二种情况 a!=1 a!=0 ans!=1 如果a=1,第一种情况ans=1 第二种情况 ans!=1 b=0 (0没有逆元) 第三种情况 ans!=1 b!=0 如果a=0, a1=t

heheda_is_an_OIer的博客 563

bzoj 3198: [Sdoi2013]spring 题解

【原题】 3198: [Sdoi2013]spring Time Limit: 40 Sec  Memory Limit: 256 MB Submit: 253  Solved: 95 Description Input Output Sample Input 3 3 1 2 3 4 5 6 1 2 3 0 0 0

阿蒋的专栏 1297
上一篇: 拓展欧几里得 到 乘法逆元 (+线性求法) 个人解释 + 普通模板
下一篇: JZOJ 5908【NOIP2018模拟10.16】开荒(kaihuang)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值