Secret Milking Machine POJ - 2455

STM32CubeIDE入坑指南 一 前言 在科技日新月异的今天,作为从事效率为先的苦逼 IT 行业,秉承着我不入地狱谁入地狱的伟大革命精神,我决定再一次做第一个吃螃蟹的人,通过自身的入坑过程,为大家测试STM32CubeIDE这款新式工具。(其实是为了我能省点时间,快点做完项目,多挣点钱买几瓶肾气丸) 二 看一看别人是如何入坑的 二 手把手带你入坑 三 相关资料 ... 阅读详情

点击打开链接

二分最大边 记为lim 不超过lim的边容量记为1 否则记为0 再抽象一个源点 从源点到1的容量为题目所给的t 然后以此建图 看是否满流

感觉网络流的抽象建图很关键 这道题看了别人的建图才会的...

符合条件就是1 即存在 反之就是0 即不存在 这样就把一个记录路径长度的图转化为记录路径是否可行的图 每增广一次图中就少一条路 长知识了!

 

#include <stdio.h>
#include <queue>
#include <cstring>
#include <algorithm>
using namespace std;
#define N 1e9

struct node1
{
    int u;
    int v;
    int w;
};

struct node2
{
    int v;
    int w;
    int next;
};

node1 pree[80010];
node2 edge[160010];
int first[210],dis[210],gap[210],cur[210],pre[210];
int n,m,t,num,sum,ans,ss,ee;

void binsearch(int l,int r);
void build(int lim);
void addedge(int u,int v,int w);
void isap();
void bfs();

int main()
{
    int i,u,v,w,minn,maxx;
    while(scanf("%d%d%d",&n,&m,&t)!=EOF)
    {
        num=0,minn=N,maxx=0;
        for(i=1;i<=m;i++)
        {
            scanf("%d%d%d",&u,&v,&w);
            num++;
            pree[num].u=u;
            pree[num].v=v;
            pree[num].w=w;
            num++;
            pree[num].u=v;
            pree[num].v=u;
            pree[num].w=w;
            if(w<minn) minn=w;
            if(w>maxx) maxx=w;
        }
        binsearch(minn,maxx);
        printf("%d\n",ans);
    }
    return 0;
}

void binsearch(int l,int r)
{
    int lim;
    ans=r;
    while(l<=r)
    {
        lim=(l+r)/2;
        build(lim);
        isap();
        if(sum>=t)
        {
            r=lim-1;
            ans=lim;
        }
        else
        {
            l=lim+1;
        }
    }
    return;
}

void build(int lim)
{
    int i;
    memset(first,-1,sizeof(first));
    num=0,ss=n+1,ee=n;
    addedge(ss,1,t);
    addedge(1,ss,0);
    for(i=1;i<=m*2;i++)
    {
        if(pree[i].w<=lim)
        {
            addedge(pree[i].u,pree[i].v,1);
            addedge(pree[i].v,pree[i].u,0);
        }
        else
        {
            addedge(pree[i].u,pree[i].v,0);
        }
    }
    return;
}

void addedge(int u,int v,int w)
{
    edge[num].v=v;
    edge[num].w=w;
    edge[num].next=first[u];
    first[u]=num++;
    return;
}

void isap()
{
    int j,u,v,flow,minn;
    memcpy(cur,first,sizeof(first));
    memset(pre,-1,sizeof(pre));
    bfs();
    num=n+1,sum=0,u=ss,flow=N;
    while(dis[ss]<num)
    {
        int &i=cur[u];
        for(;i!=-1;i=edge[i].next)
        {
            v=edge[i].v;
            if(edge[i].w>0&&dis[v]+1==dis[u])
            {
                pre[v]=i;
                u=v,flow=min(flow,edge[i].w);
                if(u==ee)
                {
                    while(u!=ss)
                    {
                        j=pre[u];
                        edge[j].w-=flow;
                        edge[j^1].w+=flow;
                        u=edge[j^1].v;
                    }
                    sum+=flow,flow=N;
                }
                break;
            }
        }
        if(i==-1)
        {
            if(--gap[dis[u]]==0) break;
            cur[u]=first[u];
            minn=num-1;
            for(j=first[u];j!=-1;j=edge[j].next)
            {
                if(edge[j].w>0)
                {
                    minn=min(minn,dis[edge[j].v]);
                }
            }
            dis[u]=minn+1;
            gap[dis[u]]++;
            if(u!=ss)
            {
                u=edge[pre[u]^1].v;
            }
        }
    }
    return;
}

void bfs()
{
    queue <int> que;
    int i,u,v;
    memset(dis,-1,sizeof(dis));
    memset(gap,0,sizeof(gap));
    que.push(ee);
    dis[ee]=0;
    while(!que.empty())
    {
        u=que.front();
        que.pop();
        gap[dis[u]]++;
        for(i=first[u];i!=-1;i=edge[i].next)
        {
            v=edge[i].v;
            if(dis[v]==-1)
            {
                dis[v]=dis[u]+1;
                que.push(v);
            }
        }
    }
    return;
}

 

 

 

从寄存器到驱动:深入解读RFSoC RF-ADC阈值与校准API的底层逻辑 本文深入解析Xilinx RFSoC中RF-ADC的阈值检测与校准API的底层逻辑,涵盖寄存器映射、驱动实现及Gen3增强功能。通过详细代码示例和寄存器操作流程,揭示如何精准控制信号阈值检测与校准时序,提升系统稳定性与性能。特别探讨RF数据转换器在无线通信和雷达信号处理中的关键应用。 阅读详情

相关推荐

1、基于改进3D卷积神经网络的阿尔茨海默病分类

本文提出了一种基于改进3D卷积神经网络的阿尔茨海默病(AD)分类方法,利用3D CNN对预处理后的T1加权MRI数据进行空间特征提取,并在VGG网络结构中引入类似ResNet的跳跃连接以缓解模型退化和过拟合问题。实验基于ADNI数据集,包含AD、MCI和NC三类样本,结果表明改进后的3D VGG模型在AD/NC、MCI/NC及多分类任务中均取得了优异性能,尤其在AD/MCI/NC分类中准确率达到98.50%,优于现有典型3D深度学习方法。研究验证了3D CNN在脑部疾病诊断中的有效性,并为AD的早期识别提供

kk1234的博客 71

Poj 2455 Secret Milking Machine【二分+最大流】

Secret Milking Machine Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 11570   Accepted: 3354 Description Farmer John is constructing a new

mengxiang000000 870

MFC实现图书管理系统(附完整源码)

MFC实现图书管理系统(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 767

Secret Milking Machine POJ - 2455

题意: 给定一张无向图,有n个节点p条边, 要求在图中从1到n找到t条路径,并且使这t条路径中的最长边最小, 输出这个最小的最长边 /*题意:给定一张无向图,有n个节点p条边, 要求在图中从1到n找到t条路径,并且使这t条路径中的最长边最小, 输出这个最小的最长边 */ #include&lt;iostream&gt; #include&lt;cstdio&gt; #include&lt;...

空白 281

POJ 2455--Secret Milking Machine【二分枚举 && 最大流 && 经典】

Secret Milking Machine Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10625   Accepted: 3111 Description Farmer John is constructing a new milking machine

_阿阿阿阿欢 1042

poj2455Secret Milking Machine【二分 + 最大流】

Secret Milking Machine Time Limit:1000MS Memory Limit:65536K Total Submissions:9129 Accepted:2742 Description Farmer John is constructing a new milking machine and ...

weixin_30278311的博客 298

POJ 2455Secret Milking Machine(二分+网络流之最大流)

题目地址:POJ2455 手残真浪费时间啊。。又拖到了今天才找出了错误。。每晚两道题不知不觉又变回了每晚一道题、。。sad。。 第一次在isap中忘记调用bfs,第二次则是遍历的时候居然是从1开始遍历的。。。sad。。。 这题思路倒是很简单,就是有一个比较坑的地方,就是这里的重边要当两条边来用,以前受最短路什么的影响,直接把慢的删了,很明显不对。。。这里的两条重边都是可以走的。 建图思路是

scf0920 1560

解题报告 之 POJ2455 Secret Milking Machine

解题报告 之 POJ2455 Secret Milking Machine Description Farmer John is constructing a new milking machine and wishes to keep it secret as long as possible. He has hidden in it deep within hi

JUST CODE 675

poj 2455 Secret Milking Machine 二分+dinic求最大流

poj 2455 Secret Milking Machine 二分 + dinic求最大流 //poj 2455 Secret Milking Machine //二分 + 最大流 //题意: //输入第一行3个数为结点数,边数,路径数 //接下来为每条边的信息 //要求找出对应路径数中每条边都尽量小,输出这些路径中的边最长边为多少 //每条边只能用一次 //思路: ...

weixin_30338461的博客 111

poj 2455 Secret Milking Machine

(http://www.elijahqi.win/2017/12/25/poj2455-secret-milking-machine/) Description Farmer John is constructing a new milking machine and wishes to keep it secret as long as possible. He has hidden in i

Elijahqi 301

POJ 2455 Secret Milking Machine(二分+最大流)

POJ 2455 Secret Milking Machine 题目链接 题意:一个无向图,要求有T条不重复道路可以从1走到t,问道路中最大边的最小值可以是多少 思路:二分+最大流,二分长度,连起边,注意是无向图,所以反向边是有容量的,然后源点和1连容量t,n和汇点连容量是t 代码: #include #include #include #include us

Remilia's 1043

POJ2455 Secret Milking Machine

Secret Milking Machine Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 12324   Accepted: 3589 Description Farmer John is constructing a new milking machine

Jelly_acm的博客 382

POJ 2455 Secret Milking Machine 网络流初步 Dinic

POJ 2455 Secret Milking Machine网络流初步,Dinic模板终于碰到Edmond-Karp过不了的题了。。40000条边,O(nm^2)果断T。。 传送门:POJ 题意又是农场主约翰(咋最近都是这SB农场主。。为了更好调$教他的“奶%牛”?) 他的农场有N个点(1~N),之间有P条双向的路。他想从点1走到点N,走T次。要求不能重复的走一条路两遍。 求满足条件的方案

P.H.S 311

POJ 2455 Secret Milking Machine

POJ_2455 每条路只走一次可以通过网络流来保证,而对于让最长的边最小可以通过二分枚举来搞定。 #include<stdio.h> #include<string.h> #include<algorithm> #define MAXD 210 #define MAXM 80010 #define INF 0x3f3f3f3f in...

weixin_30342827的博客 73

poj2455Secret Milking Machine

http://poj.org/problem?id=2455(题目链接) 题意   给出一张n个点,p条边的无向图,需要从1号节点走到n号节点一共T次,每条边只能经过1次,问T次经过的最大的边最小是多少。 Solution   很显然,二分答案,然后建图跑最大流即可。 细节   双向边? 代码 // poj2455 #include<algorithm> #i...

weixin_30558305的博客 113

POJ 2455 Secret Milking Machine 最大流建模

题目链接http://poj.org/problem?id=2455题意某人为了隐藏他的挤奶机,可能是为了不让别人跟踪,他决定从1~n,然后走密道回到1,再从1到n,走t次,且每条路径不同,每次尽量走路径最短的路,问他在t次走的过程中,两个路标之间的最大距离。思路二分枚举最大边权。如果两点的边权小于等于枚举的量,之间建立一条容量为1的边,若有重边满足条件,容量加1,最后从1点跑最大流,判断最大流是否

chen_minghui的博客 319

POJ-2455-Secret Milking Machine

这个题TLE了我N次,想不到Dinic会被卡,后来看了下别人写的代码,发现DFS中有不同之处,改了下结果就奇迹班的200多ms过了,看来以后改进下自己的写法了 这个题不太难吧,图建立不难,可能只是卡时间吧,题目大意是说求1到n点的t条不同路径的最大值的最小值 最大最小值问题用二分法做 代码: #include #include #include using namespace std; c

z309241990的专栏 1009
上一篇: 爱在心中 CODEVS - 2822
下一篇: Anniversary party POJ - 2342
sunyutian1998
博客等级 码龄9年 68粉丝 649原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值