Acwing第132场周赛
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场周赛的更多相关文章
- AcWing第85场周赛
这场周赛是手速局hh 死或生 某国正在以投票的方式决定 2 名死刑犯(编号 1∼2)的生死. 共有 n 组人员(编号 1∼n)参与投票,每组 10 人. 每组成员只参与一名死刑犯的投票,其中第 i 组 ...
- AcWing 第11场周赛题解
计算abc 首先 \(0<=a<=b<=c\) 会随机给出 \(a+b,a+c,b+c,a+b+c\)的值 因为\(a,b,c\)都为正整数,所以\(a+b+c\)一定为最大值 然后 ...
- AcWing第78场周赛
今天想起来了,就补一下吧~ 第一题 商品分类 货架中摆放着 n 件商品,每件商品都有两个属性:名称和产地. 当且仅当两件商品的名称和产地都相同时,两件商品才视为同一种商品. 请你统计,货架中一共有多少 ...
- LeetCode-第 166 场周赛
LeetCode-第 166 场周赛 1281.subtract-the-product-and-sum-of-digits-of-an-integer 1282.group-the-people-g ...
- LeetCode 第 165 场周赛
LeetCode 第 165 场周赛 5275. 找出井字棋的获胜者 5276. 不浪费原料的汉堡制作方案 5277. 统计全为 1 的正方形子矩阵 5278. 分割回文串 III C 暴力做的,只能 ...
- LeetCode--第180场周赛
LeetCode--第180场周赛 1380. 矩阵中的幸运数 class Solution { public: vector<int> luckyNumbers (vector<v ...
- Leetcode第 217 场周赛(思维量比较大)
Leetcode第 217 场周赛 比赛链接:点这里 做完前两题我就知道今天的竞赛我已经结束了 这场比赛思维量还是比较大的. 1673. 找出最具竞争力的子序列 题目 给你一个整数数组 nums 和一 ...
- 【AcWing】第 62 场周赛 【2022.07.30】
AcWing 4500. 三个元素 题目描述 给定一个长度为 \(n\) 的数组 \(r\_1,r\_2,-,r\_n\). 请你找到其中的三个元素 \(r\_a,r\_b,r\_c\),使得 \(r ...
- Leetcode 第133场周赛解题报告
今天参加了leetcode的周赛,算法比赛,要求速度比较快.有思路就立马启动,不会纠结是否有更好的方法或代码可读性.只要在算法复杂度数量级内,基本上是怎么实现快速就怎么来了. 比赛时先看的第二题,一看 ...
- 第二场周赛(递归递推个人Rank赛)——题解
很高兴给大家出题,本次难度低于上一场,新生的六个题都可以直接裸递归式或者裸递推式解决,对于老生的汉诺塔3,需要找出一般式,后两题分别为裸ST算法(或线段树)/线性DP. 正确的难度顺序为 种花 角谷定 ...
随机推荐
- SqlSugar删除数据
1.根据实体删除 1.1 强类型实体 需要配置主键 ,根据主键删除需要给实体配置主键,参考文档实体配置 //单个实体 db.Deleteable<Student>(new Student( ...
- 【二】Latex入门使用、常见指令
参考链接:https://blog.csdn.net/cocoonyang/article/details/78036326 \documentclass[12pt, a4paper]{article ...
- 【Java】Java版本升级,找不到符号 问题处理
哈喽,各位早上/中午/晚上好呀! JDK21出了也有一段时间了,有的小伙伴也按捺不住开始将项目升级到JDK21了吧. 既然升级,大概多多少少都会遇到"找不到符号"的问题,英文原文是 ...
- Git企业开发控制理论和实操-从入门到深入(五)|标签管理
前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助. 高质量博客汇总 然后就是博主最近最花时间的一 ...
- Oracle 数据库版本路线图
经常会有客户困惑某个Oracle版本的支持周期,且希望得到确切的官方说明,其实这可以从MOS文档: Release Schedule of Current Database Releases (Doc ...
- XD刷机报错bad CRC
测试需要,给一台1/4 rack的X8M HC刷机,使用oeda配置好的xml文件,执行命令列出本次刷机的所有步骤: [root@dbm11dbadm01 linux-x64]# ./install. ...
- go Printf 语句的占位符 Format
func main() { var a uint8 = 12 var b = "wokao" fmt.Printf("查看类型:%T\n", a) //查看类型 ...
- .NET 云原生架构师训练营(模块二 基础巩固 引入)--学习笔记
2.1 引入 http协议 web server && web application framework .net 与 .net core asp .net core web api ...
- Java-统计程序运行的时长(计算两个时间相差的毫秒数、秒数)
最近在做Hbase的查询性能验证,需要统计查询的执行时长,所以需要统计开始时间和结束时间的时间差. 下面是使用SimpleDateFormat和Date计算时间差(相差毫秒数)的程序示例,仅供参考. ...
- Linux进程通信 | 消息队列
什么是消息队列? 假设你是一个快递员,你需要将货物从一个仓库运到另一个仓库.但是你发现自己的时间不够用,需要另外请一个人来帮忙.那么,你们之间如何进行协作呢? 一种方式是直接将货物全部交给对方,但这样 ...