首页 > 其他分享 >T399742 Ting'er loves traveling 题解

T399742 Ting'er loves traveling 题解

时间:2023-11-18 13:45:45浏览次数:24  
标签:T399742 cnt int 题解 Ting maxn lnk maxe

Link

T399742 Ting'er loves traveling

Question

给出一个图,使得 \(1\) 到 \(N\) 的路径上的最大值最小

Solution

看到最大值最小想到二分,二分最大值 \(top\) 然后去 check 验证能不能从 \(1\) 走到 \(N\)

Code

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int maxn=2e5+5,maxe=maxn*2;
int N,M;

int son[maxe],nxt[maxe],lnk[maxn],cnt,w[maxe];

inline void add_e(int x,int y,int z){
    son[++cnt]=y;nxt[cnt]=lnk[x];lnk[x]=cnt;w[cnt]=z;
}

int vis[maxn];
bool dfs(int x,int top){
    vis[x]=1;
    if(x==N) return 1;
    for(int j=lnk[x];j;j=nxt[j])if(w[j]<=top){
        if(!vis[son[j]]) {
            if(dfs(son[j],top)) return 1;
        }
    }
    return 0;
}
bool check(int top){
    memset(vis,0,sizeof vis);
    return dfs(1,top);
}
signed main(){
    freopen("A.in","r",stdin);
    freopen("A.out","w",stdout);
    scanf("%lld%lld",&N,&M);
    for(int i=1;i<=M;i++) {
        int x,y,z;
        scanf("%lld%lld%lld",&x,&y,&z);
        add_e(x,y,z);add_e(y,x,z);
    }
    int L=0,R=1e4,ans=-1;
    while(L<=R){
        int mid=(L+R)/2;
        if(check(mid)) ans=mid,R=mid-1;
        else L=mid+1;
    }
    printf("%d\n",ans);
    return 0;
}

标签:T399742,cnt,int,题解,Ting,maxn,lnk,maxe
From: https://www.cnblogs.com/martian148/p/17840392.html

相关文章

  • 前端页面部署之后刷新页面之后出现HTTP 错误 404.0 - Not Found错误问题解决
    前端页面部署能正常访问,但是一旦刷新页面就报如下错误:404.0-NotFound 解决办法:下载IISURL重写模版,并安装。下面为安装地址:URLRewrite:TheOfficialMicrosoftIISSite安装之后IIS中出现如下IIS重写模块:点击进去添加规则,添加空白规则:  配置好之后会自动生成we......
  • T399751 Liangle's Rose Problem(亮亮的玫瑰问题)题解
    LinkT399751Liangle'sRoseProblem(亮亮的玫瑰问题)Question给出一个数组\(a\),有\(Q\)次询问,每次询问\([L,R]\)种随便挑选几个连续的\(a_i\)使得,他们几个的或的值最大Solution考虑贪心,如果把负数视为\(0\),那么一个数或上另外一个数,数肯定是变大的,那么就应该或上\(......
  • T399752 The Maze of the Imperial Sister(御姐的迷宫)题解
    LinkT399752TheMazeoftheImperialSister(御姐的迷宫)Question判断图内是否有环Solution先判断连通性,所有点是不是在一个块内,然后用树的性质,点数\(=\)边数\(+1\)判断Code#include<bits/stdc++.h>usingnamespacestd;constintmaxn=1e5+5,maxe=maxn*2;structI......
  • Maven Settings.xml 的语法详解
    在SAPABAP中,我们可以使用OLE(ObjectLinkingandEmbedding)技术来实现对WindowsDLL文件的代码和服务的消费。以下是一个详细的解决方案:首先,我们需要明确OLE技术在ABAP中的应用。OLE是由微软开发的一种技术,它允许对象(即应用程序功能)被嵌入到其他应用程序中。在ABA......
  • P4115 Qtree4 题解
    P4115看到单点修改,求全局白色的最远距离,可以使用点分树。考虑维护这棵点分树,想想树的直径的dp求法:\(f_u=\max\{f_v+w(u,v)\}\),答案为\(\max(f_v+f_{v'})(v,v'\in\{\text{son}_u\})\),\(\{\text{son}_i\}\)表示\(i\)的孩子集合。这时候维护就十分简单了,对于每个点都......
  • 电脑网站支付报错“验签出错,建议检查签名字符串或私钥与应用公钥是否匹配”问题解决记
    在对接支付宝电脑网站支付的时候,遇到如下报错:“错误代码invalid-signature错误原因:验签出错,建议检查签名字符串或签名私钥与应用公钥是否匹配”。但展示的报错内容跟实际原因有所出入(在下文中有解答),这里记录下问题的解决排查过程。问题复现在对接电脑网站支付时,生成form表单......
  • 利用 Webpack CodeSplitting 完成复杂应用拆包
    AllinOne的弊端通过Webpack实现前端项目整体模块化的优势固然明显,但是它也会存在一些弊端:它最终会将所有的代码打包到一起。试想一下,如果应用非常复杂,模块非常多,那么这种AllinOne的方式就会导致打包的结果过大,甚至超过4~5M。在绝大多数的情况下,应用刚开始工作时,并不......
  • 【C++中cin在Qt输出终端无法手动输入问题解决办法(详细)】
    现象:在Qt中使用cin进行对一个变量z进行输入,然后在用cout对z进行输出,结果没有进行手动输入,程序自动凭空出现类似512,32759等一些数值输出。 解决办法:第一步:在Qt左侧项目栏,在.pro文件中添加一行代码CONFIG+=console 第二步:在项目--运行--勾选在终端中运行(Runinterminal) 配置......
  • 苏格拉底问答、实践过程截图、遇到问题解决问题截图,代码链接
    #include<stdio.h>#include<stdlib.h>#include<unistd.h>#include<semaphore.h>#include<pthread.h>#definemsleep(x)usleep(x*1000)#definePRODUCT_SPEED3//生产速度#defineCONSUM_SPEED1......
  • UVA 11178 Morley's Theorem 题解
    计算几何LinkUVA11178Morley'sTheoremQuestionMorley定理是这样的,作三角形ABC每个内角的三等分线,相交成三角形DEF,则DEF是等边三角形给出\(A,B,C\)坐标,求\(D,E,F\)坐标Solution其实是一道计算几何板子题只需要计算\(\angleABC\)的值\(a\),然后把\(BC\)逆......