923专题

Codeforces Round 923 (Div. 3)(A~D题解)

目录 A. Make it White B. Following the String C. Choose the Different Ones! D. Find the Different Ones! A. Make it White Problem - A - Codeforces 题意:问在一个只含有'W'和'B'元素的字符串中,选择一个L到R范围,

【路径规划】基于matlab GUI粒子群算法机器人避障路径规划【含Matlab源码 923期】

✅博主简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,Matlab项目合作可私信。 🍎个人主页:海神之光 🏆代码获取方式: 海神之光Matlab王者学习之路—代码获取方式 ⛳️座右铭:行百里者,半于九十。 更多Matlab仿真内容点击👇 Matlab图像处理(进阶版) 路径规划(Matlab) 神经网络预测与分类(Matlab) 优化求解(Matlab) 语音处理(Matlab

Codeforces Round 923 (Div. 3) F. Microcycle【Kruskal算法思想+并查集+dfs找环】

原题链接:https://codeforces.com/problemset/problem/1927/F 题意翻译 给定一张 n 个点,m 条边,边有边权的无向图,无重边自环,不保证连通。定义一个简单环为不经过重复点与重复边的环路径,保证全图至少有一个简单环。记一个简单环的权值是环上最小的边权,你需要找到任意一个全图中权值最小的一个简单环并输出它。 输入输出描述: 3≤n,m≤2×10^

Codeforces Round 923 (Div. 3)(A~F)

前言 浅浅放一张过年的雪景图(咦,有点马赛克好像,算了就这样吧)  上两次没出题解是上一段比较忙,然后那两场恰好也打的稀碎,所以直接开摆下机了,绝不是因为上一段沉迷王者荣耀和帕鲁。虽然这次的div3也是稀碎,但是确实是因为我自己对时间概念有点模糊,我想着5s随便写n^2来着,甚至wa的时候从来没想过是因为找位置的n^2的,我在写的时候还在想这个可以用O(n)来写,cf数据范围基本上不在50

Codeforces Round 923(Div.3) A~G

A.Make it White (模拟) 题意: 给一个字符串 s s s,找出最左边的 B B B和最右边的 B B B,以这两个字母为左右端点的区间包含有多少个字母。 分析: 按照要求,遍历一遍字符串找到左右端点即可。 代码: #include <bits/stdc++.h>using namespace std;void solve() {int n;cin >> n;strin

Codeforces Round 923 (Div. 3)F

CF1927F. Microcycle 题意:给定一个n个点,m条边的无向图,图不一定连通,要求找到图中的一个环,该环上的最小边权比图中所有环的边权要小,输出这个最小边权,所在的环上的节点数量以及按顺序输出所在的环上的所有节点。 思路:因为要求最小边权,我们可以想到要用kruskal算法,首先将所有边权从大到小的顺序排序,然后按边权从大到小建立图,用并查集来判断环,因为是从大到小遍历边权,因此如

Codeforces Round 923 (Div. 3)(A~D)

A. Make it White 找出第一个B和最后一个B的位置。 #include <bits/stdc++.h>//#define int long long#define per(i,j,k) for(int (i)=(j);(i)<=(k);++(i))#define rep(i,j,k) for(int (i)=(j);(i)>=(k);--(i))#define fr fi

Codeforces Round 923 (Div. 3) A-E

链接 Dashboard - Codeforces Round 923 (Div. 3) - Codeforces A. Make it White 题意:给定一个n长的字符串s,s中包含W和B,可以选定一个区间,使得其中所有的B变为W,求让所有B变为W的最小区间 思路:选定最早的B和最晚的B就是这个区间长度了 代码: #include <bits/stdc++.h>#define

1801. 积压订单中的订单总数;1567. 乘积为正数的最长子数组长度;923. 三数之和的多种可能

1801. 积压订单中的订单总数 核心思想:维护一个最小堆sell和一个最大堆buy,然后模拟即可。 1567. 乘积为正数的最长子数组长度 核心思想:动态规划,z表示以当前数字num结尾的乘积为正的最长子数组长度,f表示以当前数字num结尾的乘积为负的最长子数组长度。那么遇到正数num,正数个数肯定+1,不论前面有没有正数,负数个数,需要看前面有没有负数,有就+1;遇到负数num,那么

Codeforces Round 923 (Div. 3)补题

Make it White(Problem - A - Codeforces) 题目大意:有一排格子,其中有黑色和白色两种,我们选择一个区间,将区间中的格子全部染成白色,只能选一次,问将这一排格子都染成白色,选择的区间最短为多少。 思路:显然就是从前往后从后往前分别找到第一个'B'的位置。我最开始用的双指针,但是边界什么好像没处理好,直接死循环了,最后直接分开写了两个循环。但是耽误了一会儿,还

Codeforces Round 923 (Div. 3)E. Klever Permutation 找规律,有共同区间

Problem - E - Codeforces 目录 Source of idea: 思路: 代码: 另一个up的找规律的解法: Source of idea: Codeforces Round 923(A-F题解) - 哔哩哔哩 (bilibili.com)   思路: 上面up分析的很好。两个相邻区间也就端点不一样,加1减1循环或者减1加1循环即可。 1.明确每

Codeforces Round 923 (Div. 3)

Codeforces Round 923 (Div. 3) Codeforces Round 923 (Div. 3) A. Make it White 题意:略 思路:找最小和最大的‘B’下标即可 AC code: void solve() {cin >>n;string s; cin>> s;int mn = INF, mx = 0;for (int i = 0; i < n; i

Codeforces Round 923 (Div. 3) A - E

CF1927A Make it White 代码如下: //朴素版#include<bits/stdc++.h>using namespace std;using ll = long long;const ll N = 200005;#define inf 0x7fffffffvoid solve(){ll n;cin>>n;string a;cin>>a;ll x=-1,y=0