力扣377周赛第三题(图论题目)

这篇具有很好参考价值的文章主要介绍了力扣377周赛第三题(图论题目)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

力扣377周赛第三题(图论题目),leetcode,图论,算法

typedef pair<int,int> PII;
bool st[1100];
int h[11000000],ne[11000000],w[11000000],e[11000000],idx;
int dist[50][50];
class Solution {
public:
    void add(int a,int b,int c)
    {
        e[idx] = b,ne[idx] = h[a],w[idx] = c,h[a] = idx++;
    }
    void heap_dijkstra(int index,int start)
    {
      dist[index][start] = 0;
      priority_queue<PII,vector<PII>,greater<PII>> heap;
      heap.push({0,start});
      while(!heap.empty())
      {
        auto t = heap.top();
        heap.pop();
        int k = t.second,dis = t.first;
        if(st[k]) continue;
        else st[k] = true;
         for(int i = h[k];i != -1;i = ne[i])
         {
            int j = e[i];
            if(dist[index][j] > dist[index][k] + w[i])
            {
                dist[index][j] = dist[index][k] + w[i];
                heap.push({dist[index][j],j});
            }
         }
      }
    }
    long long minimumCost(string source, string target, vector<char>& original, vector<char>& changed, vector<int>& cost) 
    {
         int n = original.size();
         memset(h,-1,sizeof(h));
         for(int i = 0;i < n;i++)
         {
            int a = original[i] - 'a';
            int b = changed[i] - 'a';
            int c = cost[i];
            add(a,b,c);
         }
         memset(dist,0x3f,sizeof(dist));
        
        for(int i = 0;i < 26;i++)
        {
            memset(st,0,sizeof(st));
            heap_dijkstra(i,i);//预处理出来 i字符 到任意字符的最短距离
        }
        
        long long res = 0;
        int m = source.size();
        for(int i = 0;i < m;i++)
        {
            int a = source[i] - 'a';
            int b = target[i] - 'a';
            if(dist[a][b] == 0x3f3f3f3f) return -1;
            res += dist[a][b];
        }
        return res;
    }
};

 文章来源地址https://www.toymoban.com/news/detail-765637.html

到了这里,关于力扣377周赛第三题(图论题目)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【周赛第69期】满分题解 软件工程选择题 枚举 dfs

    昨晚没睡好,脑子不清醒,痛失第1名 关于工程效能,以下哪个选项可以帮助提高团队的开发效率? A、频繁地进行代码审查 B、使用自动化测试工具 C、使用版本控制系统 D、所有选项都正确 选D。 以下哪个选项不属于编码规范的内容? A、变量命名规则 B、注释规范 C、代码缩

    2024年02月14日
    浏览(42)
  • 【leetcode 力扣刷题】回文串相关题目(KMP、动态规划)

    题目链接:5. 最长回文子串 题目内容: 题目就是要我们找s中的回文子串,还要是最长的。其实想想,暴力求解也行……就是遍历所有的子串,同时判断是不是回文串,是的话再和记录的最大长度maxlen比较,如果更长就更新。时间复杂度直接变成O(n^3)。 优化的点在于,假设子

    2024年02月09日
    浏览(45)
  • 2023-07-12力扣今日三题

    链接: 2058. 找出临界点之间的最小和最大距离 题意: 链表 某个节点 严格大于 前后时,这个节点为 局部极大值节点 ;某个节点 严格小于 前后时,这个节点为 局部极小值节点 前提:必须前后均非空 找两个不同临界点的 最大距离和最小距离 解: 一开始还以为要找极大和极

    2024年02月15日
    浏览(32)
  • 算法学习——LeetCode力扣图论篇3(127. 单词接龙、463. 岛屿的周长、684. 冗余连接、685. 冗余连接 II)

    127. 单词接龙 - 力扣(LeetCode) 描述 字典 wordList 中从单词 beginWord 和 endWord 的 转换序列 是一个按下述规格形成的序列 beginWord - s1 - s2 - … - sk: 每一对相邻的单词只差一个字母。 对于 1 = i = k 时,每个 si 都在 wordList 中。注意, beginWord 不需要在 wordList 中。 sk == endWord 给你两

    2024年04月09日
    浏览(74)
  • 长城网络靶场第三题

     关卡描述: 1.oa服务器的内网ip是多少? 先进行ip统计,开始逐渐查看前面几个ip 基本上都是b/s,所以大概率是http,过滤一下ip 第一个ip好像和oa没啥关系 第二个ip一点开就是 oa,应该就是他了。 关卡描述: 2.黑客的攻击ip是多少 ip.src==ip,这个过滤源ip的过滤语句 我们第一个

    2024年02月09日
    浏览(51)
  • 吾爱2023新年红包题第三题

    吾爱论坛2023年春节红包安卓题,随便玩一玩; https://www.52pojie.cn/thread-1738015-1-1.html 第三题:https://www.52pojie.cn/home.php?mod=taskdo=viewid=22 首先我们下载后,打开apk是提示要点击 999次即可通关; 注意: 在非自己环境下,建议做题把手机声音关闭,hhhh (只可意会不可言传) 直接上

    2024年02月11日
    浏览(42)
  • CCF-CSP 26次 第三题【角色授权】

    计算机软件能力认证考试系统 20分: 100分: 需要注意提速之后,scanf与cin不能同时用

    2024年02月10日
    浏览(35)
  • 计算机三级网络技术第三题考点

    数据包分析。     1、DHCP的工作流程如下:           1号报文是release报文,是DHCP客户机发给服务器申请释放IP地址的报文。     DHCP报文具体解析如下:     Boot record type--引导记录类型,值为1表示是客户机发出的报文,值为2表示是服务器发出的报文。     Hardware address  

    2024年02月07日
    浏览(48)
  • 【蔚来汽车】蔚来20220713第三题-旅游规划 <模拟、滑动窗口>

      牛牛对 n 个城市旅游情况进行了规划,已知每个城市有两种属性 x 和 y ,其中 x 表示去第 i 号城市的花费,y 表示在第 i 号城市游玩后会得到的开心值。   现在牛牛希望从中挑选出一些城市去游玩,但挑选出的城市必须满足任意两个城市之间花费差值的绝对值小于 k  

    2024年02月11日
    浏览(40)
  • SQL注入sqli_labs靶场第三题

    ?id=1\\\'and 1=1 and \\\'1\\\'=\\\'1和?id=1\\\'and 1=1 and \\\'1\\\'=\\\'1进行测试如果1=1页面显示正常和原页面一样,并且1=2页面报错或者页面部分数据显示不正常,那么可以确定此处为字符型注入。 根据报错信息判断为单引号带括号注入 联合查询: 猜解列名 ?id=1\\\') order by 3--+ 判断回显点 ?id=-1\\\') union select

    2024年04月11日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包