力扣第 341 场周赛
第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题:构造有效字符串的最少插入数
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题:最小化旅行的价格总和
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 场周赛相关推荐
- 20220307:力扣第283场周赛(上)
力扣第283场周赛(上) 题目 思路与算法 代码实现 写在最后 题目 Excel 表中某个范围内的单元格 向数组中追加 K 个整数 思路与算法 第一题直接模拟即可,注意作为char的数字也是可以直接自 ...
- 20220228:力扣第282场周赛(下)
力扣第282场周赛(下) 题目 思路与算法 代码实现 写在最后 题目 完成旅途的最少时间 完成比赛的最少时间 思路与算法 完成旅途的最少时间: 二分模板题,注意初始化左右边界的话,速度会提升很多. 完 ...
- 20220227:力扣第282场周赛(上)
力扣第282场周赛(上) 题目 思路与算法 代码实现 写在最后 题目 统计包含给定前缀的字符串 使两字符串互为字母异位词的最少步骤数 思路与算法 第二题直接并集减去交集,简单的集合运算,当然也可以换C ...
- 20220213:力扣第280场周赛(上)
力扣第280场周赛(上) 题目 思路与算法 代码实现 写在最后 题目 得到 0 的操作数 使数组变成交替数组的最少操作数 思路与算法 简单模拟即可,所谓辗转相除法 哈希处理,然后找到最大和次大值即可. ...
- 20220212:力扣第277场周赛(下)
力扣第277场周赛(上) 题目 思路与算法 代码实现 写在最后 题目 找出数组中的所有孤独数字 基于陈述统计最多好人数 思路与算法 找出数组中的所有孤独数字 按照题意模拟即可,使用map来统计即可. ...
- 20220123:力扣第277场周赛(上)
力扣第277场周赛(上) 题目 思路与算法 代码实现 写在最后 题目 元素计数 按符号重排数组 思路与算法 元素计数 按符号重排数组 无需多言,直接按照题目实现就行了,过于敷衍了这两个题,简单记录一下 ...
- 20220104:力扣第274场周赛(下)
力扣第274场周赛(下) 题目 思路与算法 代码实现 写在最后 题目 摧毁小行星 参加会议的最多员工数 思路与算法 第3题简单模拟即可,注意使用long long格式进行保存累加结果.有二元组的简单比 ...
- 20220103:力扣第274场周赛(上)
力扣第274场周赛(上) 题目 思路与算法 代码实现 写在最后 题目 检查是否所有 A 都在 B 之前 银行中的激光束数量 思路与算法 前两道都是简单的模拟,注意特殊情况的处理即可.第二个就是简单的相 ...
- 20211205:力扣第270场周赛(上)
力扣第270场周赛(上) 题目 思路与算法 代码实现 写在最后 题目 找出 3 位偶数 删除链表的中间节点 思路与算法 找出 3 位偶数:遍历所有数字得到3位数字,前导不为0即表示大于等于100,先用 ...
最新文章
- php get memory,PHP memory_get_usage 和 memory_get_peak_usage获取内存的区别
- db 文件 加密_有人说Kettle 数据库JNDI方式数据库密码不能加密,搞他!
- 银河麒麟可执行文件双击,闪退问题
- oracle事务处理 自动提交
- 游戏开发概要策划书的内容
- MacOS 如何安装 SVN 命令终端
- mysql服务器的线程数查看方法_MySQL服务器线程数的查看方法详解
- MySQL数据库SQL层级优化
- scala基础之控制结构
- 东大OJ-Max Area
- 六石管理学:行政人员也要学会使用SVN保存文档
- 流程图详解 new String(“abc“) 创建了几个字符串对象
- 计算机网络管理员二级考试题,计算机网络管理员(二级)操作鉴定试题A
- “威海海鲜官方旗舰店”揭牌;每日黑巧新一代健康巧克力;麦咖啡全国门店秋季新品 | 食品饮料新品...
- 脚本框架源码,多线程,完美框架,极限多开,随意游戏可套入,端游手游
- Java版飞翔的小鸟代码完整
- Java——聊聊JUC中的线程中断机制 LockSupport
- EBS 报表开发:XML Publisher
- php 字符串加密解密
- semanticui图标大全