E. Nearest Opposite Parity(多源最短路bfs)

简介: E. Nearest Opposite Parity(多源最短路bfs)

题目

题意

思路

  • 多源最短路

代码

scss

复制代码

const int N = 2e5+10;
int a[N];
vector<int> edge[N];
int dist[N];
int ans[N];
void bfs(vector<int> &st,vector<int> &ed)
{
    queue<int> q;
    memset(dist,0x3f,sizeof dist);
    for(auto x:st)
    {
        q.push(x);
        dist[x] = 0;
    }
    while(q.size())
    {
        int u = q.front();q.pop();
        for(auto v:edge[u])
        {
            if(dist[v] != INF)continue;
            dist[v] = dist[u] + 1;
            q.push(v);
        }
    }
    for(auto x:ed)
    {
        if(dist[x] == INF)ans[x] = -1;
        else ans[x] = dist[x];
    }
}
void solve() 
{
    int n;cin >> n;
    vector<int> odd,even;
    
    for(int i = 1;i <= n;i ++)
    {
        cin >> a[i];
        int l = i - a[i],r = i + a[i];
        if(l >= 1)edge[l].push_back(i);
        if(r <= n)edge[r].push_back(i);
        if(a[i]&1)odd.push_back(i);
        else even.push_back(i);
    }
    bfs(odd,even);
    bfs(even,odd);
    for(int i = 1;i <= n;i ++)cout << ans[i] << " ";
}
signed main()
{
    // ios::sync_with_stdio(false);
    // cin.tie(0);
    // cout.tie(0);
    // caseT
    solve();
    
    return 0;
}
/*
*/


相关文章
|
6月前
|
SQL 人工智能 自然语言处理
阿里云 AI 搜索开放平台新功能发布:新增GTE自部署模型
阿里云 AI搜索开放平台正式推出 GTE 多语言通用文本向量模型(iic/gte_sentence-embedding_multilingual-base)
418 4
|
PHP
明星百科大全PHP网站源码
明星百科大全网站源码,国内外明星娱乐音乐、新闻八卦、写真照片、相关影视作品等等的明星百科网站源码。
348 4
|
网络协议 Ubuntu 测试技术
ESP32-C3入门教程 网络 篇(一、 Wi-Fi 使用入门 — 初始化及STA、AP模式)
前面的8节基础课算是把 ESP32-C3 的外设和一些基本功能都测试过, 接下来就要进行无线协议 WIFI 和 蓝牙的功能测试。 这节课我们就从 WIFI 开始,了解 ESP32-C3 的WIFI 功能。
1898 1
ESP32-C3入门教程 网络 篇(一、 Wi-Fi 使用入门 — 初始化及STA、AP模式)
|
存储 消息中间件 缓存
【ElasticSearch从入门到放弃系列 零】ElasticSearch看这一篇就够了(三)
【ElasticSearch从入门到放弃系列 零】ElasticSearch看这一篇就够了(三)
206 0
|
XML SQL Java
mybatis学习(23):分页1 多参数传递(索引方式)
mybatis学习(23):分页1 多参数传递(索引方式)
268 0
mybatis学习(23):分页1 多参数传递(索引方式)
|
设计模式 安全 前端开发
面试官:Spring MVC 如何保证 Controller 的并发安全性?面试必问。。
单例模式(Singleton)是程序设计中一种非常重要的设计模式,设计模式也是Java面试重点考察的一个方面。
447 0
面试官:Spring MVC 如何保证 Controller 的并发安全性?面试必问。。
|
数据采集 数据可视化 Python
用Python分析了2.7w+《速度与激情9》影评,看看观众为什么不喜欢这部影片?
大家好,我是志斌~ ‘速度与激情’系列电影可谓一直是高分电影,但是最近新出的《速度与激情9》的评分却还不到6分,才5.6分!
618 0
用Python分析了2.7w+《速度与激情9》影评,看看观众为什么不喜欢这部影片?
如何将两个数组对象的相同属性进行操作(更简洁)
我们以前可以使用双循环,来判断条件,达到目的,这里我们使用更简洁的方法: 合并数组,然后通过obj[v.name]=obj[v.name]===undefined)判断其条件,将两个数组对象的相同属性将对应的type变为1。
|
分布式计算 Spark 存储
EMR 打造高效云原生数据分析引擎
EMR-Jindo是EMR推出的云原生 OLAP 引擎。凭借该引擎,EMR成为第一个云上TPC-DS成绩提交者。经过持续不断地内核优化,目前基于最新 EMR-Jindo 引擎的 TPC-DS 成绩又有了大幅提高,达到了3615071,成本降低到 0.76 CNY。在2019杭州云栖大会大数据技术专场,阿里云阿里巴巴计算平台事业部 EMR 技术专家辛庸向大家分享了如何基于开源体系如何打造云上数据分析平台E-MarReduce(EMR)、EMR-Jindo 引擎背后的相关技术以及以 EMR-Jindo 为核心的云上大数据架构方案。
EMR 打造高效云原生数据分析引擎