CSP 202112-5 极差路径12分暴力代码

news/2024/7/20 22:34:18 标签: 图论, 深度优先, 算法

原题链接:CSP 202112-5 极差路径

#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int MAX=5e5+10;
const int INF=1e9;

int n,k1,k2;
vector<int> g[MAX];
int vis[MAX];
int p[MAX];
int num=1;
set<pair<int,int> > pa;

void dfs(int s,int u,int num)
{
    vis[s]=1;
    //cout<<"s:"<<s<<endl;
    int minn=INF,maxn=-INF;
    int minx=min(u,s)-k1;
    int maxx=max(u,s)+k2;
    for(int i=0;i<num;i++)
    {
        minn=min(p[i],minn);
        maxn=max(p[i],maxn);

        //cout<<p[i]<<" ";
    }
    //cout<<endl;
    if(minx<=minn && minn<=maxn && maxn<=maxx)
    {
       int a=min(u,s);
       int b=max(u,s);
       pair<int,int> tmp(a,b);
       pa.insert(tmp);
    }
    if(g[s].size()==1)
    {
        int tmp=g[s][0];
        if(vis[tmp]==1)
            return;
    }
    for(int i=0;i<g[s].size();i++)
    {
        int v=g[s][i];
        if(vis[v]==0)
        {
           p[num]=v;
           dfs(v,u,num+1);
        }
    }
}
int main()
{
    std::ios::sync_with_stdio(false);
    std::cin.tie(0);
    cin>>n>>k1>>k2;
    int n1=n-1;
    while(n1--)
    {
        int x,y;
        cin>>x>>y;
        g[x].push_back(y);
        g[y].push_back(x);
    }
    for(int i=1;i<=n;i++)
    {
        memset(p,0,sizeof(p));
        memset(vis,0,sizeof(vis));
        p[0]=i;
        dfs(i,i,1);
        //cout<<"---------------"<<endl;
    }
    ll sum=0;
    sum=pa.size();
    cout<<sum<<endl;
    return 0;
}


http://www.niftyadmin.cn/n/1265146.html

相关文章

统计学习方法——EM算法及其推广(三)

统计学习方法——EM算法及其推广EM算法及其推广&#xff08;三&#xff09;数据实现结果与检验完整代码参考文献EM算法及其推广&#xff08;三&#xff09; 这一部分我们看一个简单的示例。 数据 在这里我们模拟两个正态分布的均值预测。 产生训练数据的程序如下&#xff1a…

CSP 202109-5 箱根山岳险天下 40分代码

原题链接&#xff1a;CSP 202109-5 箱根山岳险天下 代码来自我亲爱的室友 #include <bits/stdc.h> using namespace std; #define ll long long const int MAX3e510; int m,p,t; int a0; int ty[MAX]; int x[MAX],y[MAX]; ll qiang[MAX];//每个队员的强度 vector<int…

统计学习方法——隐马尔可夫模型(一)

统计学习方法——隐马尔可夫模型隐马尔可夫模型&#xff08;一&#xff09;隐马尔科夫模型的基本概念隐马尔科夫模型的定义隐马尔科夫模型的基本假设观测序列生成隐马尔可夫模型的三个基本问题参考文献隐马尔可夫模型&#xff08;一&#xff09; 隐马尔科夫模型&#xff08;HM…

CSP 202104-4 校门外的树 DP

原题链接&#xff1a;CSP 202104-4 校门外的树 参考博客&#xff1a;csp 2021-04-4 校门外的树 第22次CSP认证 第4题 校门外的树&#xff08;3种方法&#xff0c;非常详细&#xff09;&#xff08;类dp数学&#xff09; 学习学习 #include <bits/stdc.h> using namespac…

统计学习方法——隐马尔可夫模型(二)

统计学习方法——隐马尔可夫模型隐马尔可夫模型&#xff08;二&#xff09;概率计算算法直接计算法前向算法前向概率算法后向算法后向概率算法一些概率和期望参考文献隐马尔可夫模型&#xff08;二&#xff09; 概率计算算法 这里介绍计算观测序列概率P(O∣λ)P\left( {O\lef…

CSP 202104-5 疫苗运输 练练思维

原题链接&#xff1a;CSP 202104-5 疫苗运输 参考大佬博客&#xff1a;CSP&#xff1a;疫苗运输 csp 2021-04-05 疫苗运输 做是做不出来的&#xff0c;纯学习大佬代码&#xff0c;练练思维 #include <bits/stdc.h> using namespace std; #define ll long long int n,m;…

逆向——脱壳

逆向——脱壳有壳和无壳的区别壳的类型区别脱壳的关键寻找OEP寻找大跳转SFX功能定位OEP内存执行定位OEPESP定律VB程序快速定位OEP最后一次异常法定位OEP利用壳常用函数来定位OEP参考文献#脱壳有壳和无壳的区别 壳的类型 压缩壳加密壳虚拟机壳 区别 入口点改变区段信息改变代…

CSP 201812-2 小明放学

原题链接&#xff1a;CSP 201812-2 小明放学 呵呵&#xff0c;&#xff0c;&#xff0c;做题的时候就想着&#xff0c;黄灯后面是红灯&#xff0c;红灯也要加上等待时间&#xff0c;这是个注意点&#xff0c;结果做着做着就忘了&#xff0c;然后代码交上去错&#xff0c;改不出…