第1题:一最多的行

模拟

class Solution {public:vector<int> rowAndMaximumOnes(vector<vector<int>> &g) {int m = g.size(), n = g[0].size();int r, mx = -1;for (int i = 0; i < m; i++) {int t = accumulate(g[i].begin(), g[i].end(), 0);if (t > mx) {mx = t;r = i;}}return {r, mx};}
};

第2题:找出可整除性得分最大的整数

还是模拟…

class Solution {public:int maxDivScore(vector<int> &nums, vector<int> &divisors) {sort(divisors.begin(), divisors.end());int mx = -1, res;for (auto x: divisors) {int t = 0;for (auto v: nums)if (v % x == 0)t++;if (t > mx) {mx = t;res = x;}}return res;}
};

第3题:构造有效字符串的最少插入数

计算对应的有效字符串由多少个"abc"组成

class Solution {public:int addMinimum(string s) {int n = s.size();int m = 1;for (int i = 1; i < n; i++)if (s[i - 1] >= s[i])m++;return m * 3 - n;}
};

第4题:最小化旅行的价格总和

遍历每个trip:每个trip两点路径上的节点访问次数+1,得到各节点访问次数。可以设0为根,定义每个点有两种状态:一种是可以将当前节点减半情况下当前点为根的子树的最小价格和,一种是不能将当前节点减半情况下当前点为根的子树的最小价格和,通过记忆化搜索求解

class Solution {public:vector<int> e[50];int cnt[50];stack<int> st;vector<int> price;int dp[50][2];void dfs(int s, int t, int p) {//当前节点s,终点t,父节点pst.push(s);if (s == t) {stack<int> temp = st;while (!temp.empty()) {cnt[temp.top()]++;temp.pop();}st.pop();return;}for (auto j: e[s])if (j != p)dfs(j, t, s);st.pop();}int get(int s, int p, int type) {//当前节点s,父节点p,type=0: 不能将当前节点减半,type=1: 可以将当前节点减半if (dp[s][type] != -1)return dp[s][type];if (type == 0) {dp[s][type] = cnt[s] * price[s];for (auto j: e[s])if (j != p) {dp[s][type] += get(j, s, 1);}return dp[s][type];} else {int cur1 = cnt[s] * price[s] / 2;for (auto j: e[s])if (j != p) {cur1 += get(j, s, 0);}int cur2 = cnt[s] * price[s];for (auto j: e[s])if (j != p) {cur2 += get(j, s, 1);}return dp[s][type] = min(cur1, cur2);}}int minimumTotalPrice(int n, vector<vector<int>> &edges, vector<int> &price, vector<vector<int>> &trips) {for (auto &ei: edges) {e[ei[0]].push_back(ei[1]);e[ei[1]].push_back(ei[0]);}memset(cnt, 0, sizeof(cnt));for (auto &t: trips) {dfs(t[0], t[1], -1);}this->price = price;memset(dp, -1, sizeof(dp));return get(0, -1, 1);}
};

力扣第 341 场周赛相关推荐

  1. 20220307:力扣第283场周赛(上)

    力扣第283场周赛(上) 题目 思路与算法 代码实现 写在最后 题目 Excel 表中某个范围内的单元格 向数组中追加 K 个整数 思路与算法 第一题直接模拟即可,注意作为char的数字也是可以直接自 ...

  2. 20220228:力扣第282场周赛(下)

    力扣第282场周赛(下) 题目 思路与算法 代码实现 写在最后 题目 完成旅途的最少时间 完成比赛的最少时间 思路与算法 完成旅途的最少时间: 二分模板题,注意初始化左右边界的话,速度会提升很多. 完 ...

  3. 20220227:力扣第282场周赛(上)

    力扣第282场周赛(上) 题目 思路与算法 代码实现 写在最后 题目 统计包含给定前缀的字符串 使两字符串互为字母异位词的最少步骤数 思路与算法 第二题直接并集减去交集,简单的集合运算,当然也可以换C ...

  4. 20220213:力扣第280场周赛(上)

    力扣第280场周赛(上) 题目 思路与算法 代码实现 写在最后 题目 得到 0 的操作数 使数组变成交替数组的最少操作数 思路与算法 简单模拟即可,所谓辗转相除法 哈希处理,然后找到最大和次大值即可. ...

  5. 20220212:力扣第277场周赛(下)

    力扣第277场周赛(上) 题目 思路与算法 代码实现 写在最后 题目 找出数组中的所有孤独数字 基于陈述统计最多好人数 思路与算法 找出数组中的所有孤独数字 按照题意模拟即可,使用map来统计即可. ...

  6. 20220123:力扣第277场周赛(上)

    力扣第277场周赛(上) 题目 思路与算法 代码实现 写在最后 题目 元素计数 按符号重排数组 思路与算法 元素计数 按符号重排数组 无需多言,直接按照题目实现就行了,过于敷衍了这两个题,简单记录一下 ...

  7. 20220104:力扣第274场周赛(下)

    力扣第274场周赛(下) 题目 思路与算法 代码实现 写在最后 题目 摧毁小行星 参加会议的最多员工数 思路与算法 第3题简单模拟即可,注意使用long long格式进行保存累加结果.有二元组的简单比 ...

  8. 20220103:力扣第274场周赛(上)

    力扣第274场周赛(上) 题目 思路与算法 代码实现 写在最后 题目 检查是否所有 A 都在 B 之前 银行中的激光束数量 思路与算法 前两道都是简单的模拟,注意特殊情况的处理即可.第二个就是简单的相 ...

  9. 20211205:力扣第270场周赛(上)

    力扣第270场周赛(上) 题目 思路与算法 代码实现 写在最后 题目 找出 3 位偶数 删除链表的中间节点 思路与算法 找出 3 位偶数:遍历所有数字得到3位数字,前导不为0即表示大于等于100,先用 ...

最新文章

  1. php get memory,PHP memory_get_usage 和 memory_get_peak_usage获取内存的区别
  2. db 文件 加密_有人说Kettle 数据库JNDI方式数据库密码不能加密,搞他!
  3. 银河麒麟可执行文件双击,闪退问题
  4. oracle事务处理 自动提交
  5. 游戏开发概要策划书的内容
  6. MacOS 如何安装 SVN 命令终端
  7. mysql服务器的线程数查看方法_MySQL服务器线程数的查看方法详解
  8. MySQL数据库SQL层级优化
  9. scala基础之控制结构
  10. 东大OJ-Max Area
  11. 六石管理学:行政人员也要学会使用SVN保存文档
  12. 流程图详解 new String(“abc“) 创建了几个字符串对象
  13. 计算机网络管理员二级考试题,计算机网络管理员(二级)操作鉴定试题A
  14. “威海海鲜官方旗舰店”揭牌;每日黑巧新一代健康巧克力;麦咖啡全国门店秋季新品 | 食品饮料新品...
  15. 脚本框架源码,多线程,完美框架,极限多开,随意游戏可套入,端游手游
  16. Java版飞翔的小鸟代码完整
  17. Java——聊聊JUC中的线程中断机制 LockSupport
  18. EBS 报表开发:XML Publisher
  19. php 字符串加密解密
  20. semanticui图标大全

热门文章

  1. 【职坐标】java集合框架简介
  2. 机器人焊钳选型_车身焊装线机器人焊钳的选型设计
  3. 2015年(安卓)手机环境分析报告
  4. R语言零基础基因/数据差异分析(二)
  5. crowd counting 综述分析
  6. 2010年十大最热门IT职位开源程序员上榜
  7. 动画属性 @keyframes
  8. 安卓桌面壁纸_好玩的动态桌面壁纸软件,让你的桌面动起来
  9. 什么是次世代游戏?一个新人从零基础成为次世代游戏建模师需要哪些阶段?
  10. 关于智能家居开源平台(如Home Assistant)——智汀家庭云,你需要知道的是