BZOJ 1486: [HNOI2009]最小圈 分数规划

【Cmder】--- Windows11 配置CMD神器 (超详细 持续更新中) 在编程的艺术世界里,代码和灵感需要寻找到最佳的交融点,才能打造出令人为之惊叹的作品。而在这座秋知叶i博客的殿堂里,我们将共同追寻这种完美结合,为未来的世界留下属于我们的独特印记。 阅读详情

时空隧道


分析:
其实就分数规划来讲这道题很简单….
重点是判负环…
一般的spfa判负环一定会TLE,看看数据范围就知道了…
怎么办呢…可以dfs判负环,但是还是会TLE…
怎么办啊…
有一个机智的办法,反正我们都是判负环,为什么还要把dis赋成inf呢,干脆赋成0好了…正确是显然的…时间复杂度呢…递归层数减少了…只有变成负数的时候才会去递归…所以从10sTLE变成了128msAC…


代码如下:

#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<queue>
//by NeighThorn
#define inf 100000000000
using namespace std;
//长眉连娟,微睇绵藐,色授魂与,心愉于侧 
const int maxn=3000+5,maxm=10000+5;
int n,m,hd[maxn],to[maxm],nxt[maxm],vis[maxn],tim[maxn],cnt;
double w[maxm],sum,dis[maxn]; 

inline void add(double s,int x,int y){
    w[cnt]=s;to[cnt]=y;nxt[cnt]=hd[x];hd[x]=cnt++;
}

inline bool dfs(int root,double mid){
    vis[root]=1;
    for(int i=hd[root];i!=-1;i=nxt[i])  
        if(dis[to[i]]>dis[root]+w[i]-mid){
            if(vis[to[i]])
                return true;
            dis[to[i]]=dis[root]+w[i]-mid;
            if(dfs(to[i],mid))
                return true;
        }
    vis[root]=0;
    return false;
}

inline bool check(double mid){
    memset(vis,0,sizeof(vis));
    memset(dis,0,sizeof(dis));
    for(int i=1;i<=n;i++)
        if(dfs(i,mid))
            return true;
    return false;
}

signed main(void){
    memset(hd,-1,sizeof(hd));
    scanf("%d%d",&n,&m);
    double s;cnt=sum=0;
    for(int i=1,x,y;i<=m;i++)
        scanf("%d%d%lf",&x,&y,&s),add(s,x,y),sum+=s;
    double l=-inf,r=inf,ans;
    while(r-l>=1e-9){
        double mid=(l+r)/2.0;
        if(check(mid))
            r=mid,ans=mid;
        else
            l=mid;
    }
    printf("%.8f\n",ans);
    return 0;
}

by >_< NeighThorn

使用timeROC包的compare函数比较不同标记物下两个多时间AUC值是否具有统计显著性 时间依赖的接收器操作特征曲线(time-dependent receiver operating characteristic curve, time-dependent ROC curve)是评估和比较标记物在不同时间点上预测能力的重要工具。在R语言中,timeROC包提供了丰富的函数和工具,可用于分析和比较多时间点的AUC值。时间点(timepoints)表示观察的时间点,标记物1(marker1)和标记物2(marker2)分别表示在每个时间点上的预测概率。最后,我们输出比较结果。 阅读详情

相关推荐

KANO分析模型

KANO分析模型的基本概念,目的意义,应用场景,实现方法和示例等

JasonH2021的博客 3064

BZOJ1486: [HNOI2009]最小圈 分数规划

1486: [HNOI2009]最小圈 Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 2065  Solved: 965 [Submit][Status][Discuss] Description Input Output Sample Input 4 5 1 2 5 2 3 5 3

Oakley 504

ADS2019学习笔记:三、SPICE model导入

以BZX84-C33 SPICE model为例,学习如何在ADS2019中导入SPICE model。

qq_42945911的博客 6491

bzoj1486: [HNOI2009]最小圈 分数规划

题目链接 https://www.lydsy.com/JudgeOnline/problem.php?id=1486 题解 这题看了一个非常有意思的写法,有一个求有向图中最小平均权值回路的公式,证明见下http://www.cnblogs.com/y-clever/p/7043553.html。 \[ ans=\min_{v\in V}\max_{0\leq k\leq n-1}\lef...

anrangyu3600的博客 159

RRAM/ Near Memory Computing (NMC) Survey - Reading Notes 0707

Reading Notes of Resistive Random Access Memory – Day 2 Chapter 3 RRAM Characterization and Modeling Overview of RRAM Physical Mechanism A general picture for the filamentary switching mechanism. Forming: 对本征RRAM样本,加电压VformingV_{forming}Vforming​,中间氧化层的O

Blog of Lucky H6 988

最小二乘(MLS)求点云法向量

MLS算法的基本思想是通过在点云的局部邻域内拟合一个光滑曲面,如平面或多项式曲面,以此来重建和处理点云数据。对于法向量估计,MLS通常在每个点的邻域内拟合局部平面,然后从该平面的法向量作为点的法向量。

twnkie的博客 744

bzoj 1486: [HNOI2009]最小圈 01分数规划

题目大意: 求有向带权图中的最小平均值圈,平均值定义为边的权和与点数的比值 题解: 标准的01分数规划 #include <cstdio> #include <cstring> #include <algorithm> using namespace std; typedef long long ll; inline void read(int &x...

weixin_30947043的博客 121

CARLA仿真:自定义地图与AI车辆行为编程

CARLA仿真:自定义地图与AI车辆行为编程 ,人工智能,计算机视觉,大模型,AI,本文围绕CARLA仿真平台,介绍了其基础功能与安装方法,详解地图系统,包括预设地图的加载切换及自定义地图的创建、导入与优化。还阐述了AI车辆的创建、属性设置、销毁,以及行为控制,如交通规则遵守、路径规划、复杂行为编程和行为树应用。同时涉及传感器与车辆感知、交通场景构建、自定义地图与AI行为结合应用、高级应用,以及常见问题解决方案和学习资源,为CARLA仿真应用提供全面指导。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 11万+

BZOJ 1486: [HNOI2009]最小圈(01分数规划:最优比例环)

1486: [HNOI2009]最小圈 Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 2675  Solved: 1279 [Submit][Status][Discuss] Description Input Output Sample Input 4 5 1 2 5 2 3 5 3 1 5

信仰.的博客 472

[CSP-X2025山东小学组T4]勇者斗恶龙

[CSP-X2025山东小学组T4]勇者斗恶龙,动态规划

少儿编程乔老师 149

华为嵌入式面试题及参考答案(持续更新)

异步是指在程序执行过程中,某些任务不需要等待立即完成就可以继续执行其他任务的过程。在计算机编程中,异步通常用于处理长时间运行的操作,如文件读写、网络通信等,以避免阻塞主线程。异步处理通常涉及到回调函数、事件循环、协程或未来的概念。使用宏定义来避免命名冲突。#else#endif堆和栈是计算机程序中用于存储数据的两种不同类型的内存区域。

大模型大数据攻城狮的专栏 2480

BZOJ 1486: [HNOI2009]最小圈|分数规划

分数规划 spfa判负环 dis数组直接清0(好神奇啊而且速度好快啊) #include #include #include #include #include #include #include #include #include #include #define T 22222 using namespace std; double v[T],e[T],dis[T]; int head[

ws_yzy的博客 548

RK3568平台开发系列讲解(安卓篇)LED呼吸灯系统流程

1.app层封装后使用NotificationManager发出:NotificationManager.notify() 2.Android 系统架构中:一个manager类对应一个aidl接口,一个manager对应一个底层的服务,notification也是这个架构

内核笔记 3644

分数规划(Bzoj1486: [HNOI2009]最小圈)

题面 传送门 分数规划 分数规划有什么用? 可以把带分数的最优性求解式化成不带除发的运算 假设求max{ab,b&amp;gt;0ab,b&amp;gt;0\frac{a}{b},b&gt;0} 二分一个权值kkk 令ab≤kab≤k\frac{a}{b}\le k那么a−k∗b≤0a−k∗b≤0a-k*b\le 0 如果得出来a−k∗ba−k∗ba-k*b的最大值大于000,那么kkk可以变大 ...

Cyhlnj 275

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

BZOJ 1486: [HNOI2009]最小圈 01分数规划 dfs_spfa判负环

1486: [HNOI2009]最小圈 Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 2459  Solved: 1169 [Submit][Status][Discuss] Description   Input Output Sample Input 4 5 1 2 5 2 3 5 3 1 5

BlackJack 406

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

bzoj 1486: [HNOI2009]最小圈 (01分数规划+深搜版spfa)

1486: [HNOI2009]最小圈 Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 2224  Solved: 1046 [Submit][Status][Discuss] Description   Input Output Sample Input 4 5 1 2 5 2 3 5 3 1 5

clover_hxy的博客 404

BZOJ 1486: [HNOI2009]最小圈 [01分数规划]

裸题...平均权值最小的环.... 注意$dfs-spfa$时$dfs(cl)$...不要写成$dfs(u)$ #include &lt;iostream&gt; #include &lt;cstdio&gt; #include &lt;algorithm&gt; #include &lt;cstring&gt; #include &lt;queue&gt; using name...

weixin_34375054的博客 158

BZOJ 1486: [HNOI2009]最小圈 01分数规划+SPFA判环

Sample Input 4 51 2 52 3 53 1 52 4 34 1 3 Sample Output 3.66666667解法:01分数规划+SPFA判环///BZOJ 1486#include <bits/stdc++.h> using namespace std; const int maxn = 3005; const int maxm = 30005; int n, m, e

I good vegetable a! 329

[BZOJ]1486: [HNOI2009]最小圈 01分数规划+spfa

01分数规划+spfa

TYB的博客 356

2018.09.24 bzoj1486: [HNOI2009]最小圈(01分数规划+spfa判负环)

传送门 答案只保留了6位小数WA了两次233。 这就是一个简单的01分数规划。 直接二分答案,根据图中有没有负环存在进行调整。 注意二分边界。 另外dfs版spfa判负环真心快很多。 代码: #include&lt;bits/stdc++.h&gt; #define N 3005 #define M 10005 using namespace std; inline int read(){ in...

苟为蒟蒻又何妨 195

bzoj1486【HNOI2009】最小圈

01分数规划+二分+spfa判负环

AaronPolaris 2912

【BZOJ 1486】 [HNOI2009]最小圈

01分数规划~

Regina8023 1131

[BZOJ1486][HNOI2009]最小圈

[BZOJ1486][HNOI2009]最小圈 bzoj luogu 题意 你有一张有向图,保证连通,保证存在至少一个环。 你需要找到一个环,最小化环的平均权值。 环的平均值定义为环的总权值除以环长。 sol 分数规划。可以看做每条边的\(b_i=1\)。 二分一个\(mid\),令\(d_i=w_i-mid\),然后判断图中是否存在负环。 判负环用最朴素的\(O(n^2)\)算法即可。...

abcyan1235的博客 126

BZOJ_1486_[HNOI2009]最小圈_01分数规划

BZOJ_1486_[HNOI2009]最小圈_01分数规划 Description Input Output Sample Input 4 5 1 2 5 2 3 5 3 1 5 2 4 3 4 1 3 Sample Output 3.66666667 二分答案,边权减去答案,判负环即可。 然而spfa判负环会T掉,于是我使用了dfs...

131

BZOJ1486 HNOI2009 最小圈 【01分数规划】

BZOJ1486 HNOI2009 最小圈 Description 考虑带权的有向图G=(V,E)​G=(V,E)​G=(V,E)​以及w:E→R​w:E→R​w:E\rightarrow R​ ,每条边e=(i,j)(i≠j,i∈V,j∈V)​e=(i,j)(i≠j,i∈V,j∈V)​e=(i,j)(i\neq j,i\in V,j\in V)​的权值定义为wi,j​wi,j​w_{...

Dream_maker的博客 322
上一篇: POJ 1523 SPF tarjan求割点模板
下一篇: BZOJ 2111: [ZJOI2010]Perm 排列计数 DP+lucas定理
NeighThorn
博客等级 码龄11年 20粉丝 171原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值