AcWing 5366. 大小写转换

签到题,可以用stl里面的tolower函数

#include <bits/stdc++.h>
#define ls p<<1
#define rs p<<1|1
#define PII pair<int, int>
#define ll long long
#define db double
#define ull unsigned long long
#define endl '\n'
#define io ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
using namespace std;
const int N = 2e5 + 10;
int t, n;
int a[N], sum[N], b[N]; void solve()
{
string a, b;
cin >> a;
for(int i = 0; i < a.size(); ++ i) a[i] = tolower(a[i]);
cout << a;
} int main()
{
io
// freopen("1.in", "r", stdin);
// cin >> t;
// while(t --)
solve();
return 0;
}

AcWing 5367. 不合群数

最大的不合群数明显是\([a + 1, b]\)内的最大质数,题目上还有提示相邻质数之间不超过300,我们到这枚举如果有质数,枚举300次就能找到。

#include <bits/stdc++.h>
#define ls p<<1
#define rs p<<1|1
#define PII pair<int, int>
#define ll long long
#define db double
#define ull unsigned long long
#define endl '\n'
#define io ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
using namespace std;
const int N = 2e5 + 10;
int t, n;
int a[N], sum[N], b[N], ans;
map<int, int>mp; void solve()
{
int a, b; cin >> a >> b;
for(int i = b; i > a; -- i)
{
bool success = true;
for(int j = 2; j <= a && j * j <= i; ++ j)
{
if(i % j == 0)
{
success = false;
break;
}
}
if(success)
{
cout << i << endl;
return;
}
}
cout << -1 << endl;
} int main()
{
io
// freopen("1.in", "r", stdin);
// cin >> t;
// while(t --)
solve();
return 0;
}

AcWing 5368. 最短距离

两问:

第一问:同类点之间的距离是否都为0

第二问:如果第一问回答是,求出不同类之间的距离

对于第一问显然,只有边权为0的边才有用,同类点之间的边权都为0他们之间的距离才为0,用并查集维护边权为0的点,最后检查如何两个点是同类他们之间的边权不为0说明距离不为0

第二问:我们记录类与类之间的最小边权,因为题目中说了可能有重边,然后跑一遍floyd就行了,跑floyd的时候需要注意一下初始化距离数组,自己到自己也就是d[i][i]=0

#include <bits/stdc++.h>
#define ls p<<1
#define rs p<<1|1
#define PII pair<int, int>
#define ll long long
#define db double
#define ull unsigned long long
#define endl '\n'
#define io ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
#define INF 0x3f3f3f3f
using namespace std;
const int N = 1e5 + 10;
int t, n, m, q;
int fa[N], d[510][510], id[N]; int find(int x)
{
if(x == fa[x]) return x;
return fa[x] = find(fa[x]);
} bool check()
{
for(int i = 2; i <= n; ++ i)
if(id[i] == id[i - 1] && find(i) != find(i - 1)) return false;
return true;
} void solve()
{
cin >> n >> m >> q;
for(int i = 1; i <= n; ++ i) fa[i] = i;
memset(d, 0x3f, sizeof(d));
for(int i = 1, j = 1; i <= q; ++ i)
{
int cnt; cin >> cnt;
while(cnt --) id[j ++] = i;
}
for(int i = 1; i <= m; ++ i)
{
int x, y, w; cin >> x >> y >> w;
if(!w) fa[find(x)] = find(y);
x = id[x], y = id[y];
d[y][x] = d[x][y] = min(d[x][y], w);
} if(!check())
{
cout << "No" << endl;
return;
} for(int k = 1; k <= q; ++ k)
for(int i = 1; i <= q; ++ i)
for(int j = 1; j <= q; ++ j)
{
d[i][j] = min(d[i][j], d[i][k] + d[k][j]);
if(i == j) d[i][j] = d[j][i] = 0;
} cout << "Yes" << endl;
for(int i = 1; i <= q; ++ i)
{
for(int j = 1; j <= q; ++ j)
{
int dist = d[i][j];
if(dist == INF) cout << -1 << ' ';
else cout << dist << ' '; }
cout << endl;
}
} int main()
{
io
// freopen("1.in", "r", stdin);
// cin >> t;
// while(t --)
solve();
return 0;
}

Acwing第132场周赛的更多相关文章

  1. AcWing第85场周赛

    这场周赛是手速局hh 死或生 某国正在以投票的方式决定 2 名死刑犯(编号 1∼2)的生死. 共有 n 组人员(编号 1∼n)参与投票,每组 10 人. 每组成员只参与一名死刑犯的投票,其中第 i 组 ...

  2. AcWing 第11场周赛题解

    计算abc 首先 \(0<=a<=b<=c\) 会随机给出 \(a+b,a+c,b+c,a+b+c\)的值 因为\(a,b,c\)都为正整数,所以\(a+b+c\)一定为最大值 然后 ...

  3. AcWing第78场周赛

    今天想起来了,就补一下吧~ 第一题 商品分类 货架中摆放着 n 件商品,每件商品都有两个属性:名称和产地. 当且仅当两件商品的名称和产地都相同时,两件商品才视为同一种商品. 请你统计,货架中一共有多少 ...

  4. LeetCode-第 166 场周赛

    LeetCode-第 166 场周赛 1281.subtract-the-product-and-sum-of-digits-of-an-integer 1282.group-the-people-g ...

  5. LeetCode 第 165 场周赛

    LeetCode 第 165 场周赛 5275. 找出井字棋的获胜者 5276. 不浪费原料的汉堡制作方案 5277. 统计全为 1 的正方形子矩阵 5278. 分割回文串 III C 暴力做的,只能 ...

  6. LeetCode--第180场周赛

    LeetCode--第180场周赛 1380. 矩阵中的幸运数 class Solution { public: vector<int> luckyNumbers (vector<v ...

  7. Leetcode第 217 场周赛(思维量比较大)

    Leetcode第 217 场周赛 比赛链接:点这里 做完前两题我就知道今天的竞赛我已经结束了 这场比赛思维量还是比较大的. 1673. 找出最具竞争力的子序列 题目 给你一个整数数组 nums 和一 ...

  8. 【AcWing】第 62 场周赛 【2022.07.30】

    AcWing 4500. 三个元素 题目描述 给定一个长度为 \(n\) 的数组 \(r\_1,r\_2,-,r\_n\). 请你找到其中的三个元素 \(r\_a,r\_b,r\_c\),使得 \(r ...

  9. Leetcode 第133场周赛解题报告

    今天参加了leetcode的周赛,算法比赛,要求速度比较快.有思路就立马启动,不会纠结是否有更好的方法或代码可读性.只要在算法复杂度数量级内,基本上是怎么实现快速就怎么来了. 比赛时先看的第二题,一看 ...

  10. 第二场周赛(递归递推个人Rank赛)——题解

    很高兴给大家出题,本次难度低于上一场,新生的六个题都可以直接裸递归式或者裸递推式解决,对于老生的汉诺塔3,需要找出一般式,后两题分别为裸ST算法(或线段树)/线性DP. 正确的难度顺序为 种花 角谷定 ...

随机推荐

  1. 每日一库:使用Viper处理Go应用程序的配置

    在开发Go应用程序时,处理配置是一个常见的需求.配置可能来自于配置文件.环境变量.命令行参数等等.Viper是一个强大的库,可以帮助我们处理这些配置. 什么是Viper? Viper是一个应用程序配置 ...

  2. [1] 以逆向的角度来看流程控制语句——if

    [1] 以逆向的角度来看流程控制语句--if 1. if语句(单分支) ​ if语句转换的条件跳转指令与if语句的判断结果是相反的, 因为C语言是根据代码行的位置决定编译后二进制代码地址高低的,即低行 ...

  3. 『Echarts』简介

    目录 一.前言 二.『Echarts』简介 1. 什么是『Echarts』 三.数据可视化 四.『Echarts』 1.『Echarts』的作用 2.『Echarts』能绘制哪些图表 3.『Echar ...

  4. Vue双向数据绑定原理-下

    Vue双向数据绑定原理-下这一篇文章主要讲解Vue双向数据绑定的原理,主要是通过Object.defineProperty()来实现的,这里我们手写Vue双向数据绑定的原理. 首先我提出一个需求,我的 ...

  5. Midjourney|文心一格prompt教程[技巧篇]:生成多样性、增加艺术风格、图片二次修改、渐进优化、权重、灯光设置等17个技巧等你来学

    Midjourney|文心一格prompt教程[技巧篇]:生成多样性.增加艺术风格.图片二次修改.渐进优化.权重.灯光设置等17个技巧等你来学 1.技巧一:临摹 我认为学习图片类的 prompt,跟学 ...

  6. 部署MooseFS分布式文件系统

    MooseFS是一个分布式文件系统,其本身具有高可用性,高拓展性,开放源代码,高容错,等在数据的读写性能方面,通过dd测试,MooseFS也就是写入的速度稍微好于NFS,读上没有差别. MooseFS ...

  7. Java - CodeForces - 266A

    题目: 桌子上有n块石头排成一行,每一块都可以是红色.绿色或蓝色.计算从表中取出的石头的最小数量,以便相邻的任何两块石头具有不同的颜色.如果一排石头之间没有其他石头,则认为它们相邻. 输入: 第一行包 ...

  8. delphi 自己用的加密解密算法

    // 加密方法一(通过密钥加密解密)function EncryptString(Source, Key: string): string;function UnEncryptString(Sourc ...

  9. ABC 314

    F 每次相当于创建一个包含 \(p_i,q_i\) 各自所在集合的点的大点 \(u\),然后 \(u\) 向 \(p_i,q_i\) 各自所在集合连边,边权就是胜率. 连完之后求每个点到根结点(\(\ ...

  10. NC16541 [NOIP2013]车站分级

    题目链接 题目 题目描述 一条单向的铁路线上,依次有编号为1, 2, -, n 的n 个火车站.每个火车站都有一个级别,最低为1 级.现有若干趟车次在这条线路上行驶,每一趟都满足如下要求:如果这趟车次 ...