您当前的位置: 首页 >  图论

钟钟终

暂无认证

  • 2浏览

    0关注

    233博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

省赛复习(2) 二分答案+思维+图论

钟钟终 发布时间:2022-05-16 18:33:49 ,浏览量:2

D. Toss a Coin to Your Graph…

解析在代码里,医保标准的二分答案题。 两个关键点: 1.在满足权值小于等于X时,搜索跑到循环里,满足题意要及时跳出; 2.记录走过的路径长,若是大于等于k,满足题意。

#include
#define endl '\n'
#define ll long long
using namespace std;
const int N=2e5+5;
int n,m,a[N],vis[N],cur[N];
ll k;
vectorg[N];
bool dfs(int i,int x) //判断在图中能否遍历k次
{
    if(cur[i])
        return 0;
    vis[i]=1;
    int res=0;
    for(int v:g[i])
    {
        if(a[v]n>>m>>k;
    for(int i=1;i>a[i];
    for(int i=1;i>u>>v;
        g[u].push_back(v);
    }
    int l=0,r=1e9,mid,ans=-1;
    while(l>1;
        for(int i=1;i>k;
        int ans=0;
        mp.clear();
        cin>>(s+1);
        for(int i=1;i'a')
            {
                if(mp[s[i]])
                    s[i]--;
                else if(k)
                    mp[s[i]]=1,k--,s[i]--;
                else break;
            }
        }
        for(int i=1;i>k;
        cin>>x>>y;
        for(int i=1;ia[i];
        for(int i=1;i>u>>v;
            g[u].pb(v);g[v].pb(u);
        }
        dfs(x,0);
        int ans=0;
        while(y!=x)
            ans++,vis[y]=1,y=fa[y];
        vis[x]=1;
        for(int i=1;i            
关注
打赏
1664378814
查看更多评论
0.0453s