前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >洛谷虚拟赛-5总结

洛谷虚拟赛-5总结

作者头像
嘉嘉123
发布于 2023-05-03 06:48:42
发布于 2023-05-03 06:48:42
33200
代码可运行
举报
文章被收录于专栏:嘉嘉的博客嘉嘉的博客
运行总次数:0
代码可运行

洛谷虚拟赛-5的总结

分数 & 排名

预期分数:

100+100+50+20=270

实际分数:

100+100+40+30=270

排名 10

分析

T1 真的在送分

确实是‘在送分’,写个桶或是map就可以了

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
string s;
cin >> s;
int ss = s.size(), ans = 0;
for (int i = 0; i < 26; ++i) t[i] = false;
for (int i = 0; i < ss; ++i)
  if (!t[s[i] - 'A']) t[s[i] - 'A'] = true, ++ans;
cout << ss << ' ' << ans << '\n';

T2 你为什么不空间跳跃

一个分类讨论,三个min就了事了

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
bool t[26];
while (n--) {
  string s;
  cin >> s;
  int ss = s.size(), ans = 0;
  for (int i = 0; i < 26; ++i) t[i] = false;
  for (int i = 0; i < ss; ++i)
    if (!t[s[i] - 'A']) t[s[i] - 'A'] = true, ++ans;
  cout << ss << ' ' << ans << '\n';
}

T3 搬家到月球

nowtime就是当前的时间,优先队列顶就是下一个要取行李的人到 0 的时间。

开始时,把每个人根据情况放入优先队列:

  • 如果他在下行,那只要走下去就好了:l
  • 如果他在上行,下次到的时间为 (m - l) + m,即到 m 楼再下来的时间

对于每一次搬行李,我们只要取出优先队列顶,将 nowtime 设为它,nowtime + m * 2 就是他下一次回到 0 层取行李的时间,所以我们要把他push回去

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
priority_queue<long long, std::vector<long long>, std::greater<long long>> q;
long long n, m, k;
cin >> n >> m >> k;
for (int i = 0; i < n; ++i) {
  int l;
  bool o;
  cin >> l >> o;
  if (o)
      q.push((m - l) + m);
  else
      q.push(l);
}
long long nowtime;
for (int i = 0; i < k; ++i) {
  nowtime = q.top();
  q.pop();
  q.push(nowtime + m * 2);
}
cout << nowtime + m << '\n';

T4 两朵不具名的花

我们都知道, |x-y| 的取值有两种可能:x-y or y-x

如果我们知道 x<y |x-y| 的取值是 y-x ,那么 x-y \leqslant 0 \leqslant y-x

…未完

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-03-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
哈理工2019新生赛解题报告
没啥好写的但毕竟也是ak了 来看压行小天才的表演 A: 会长的烦心事 题目链接 #include<bits/stdc++.h> #define rep(i,s,e) for(int i=s; i<e; ++i) using namespace std; int len[15]; int change(char c){ if(c=='l') return 0; if(c=='e') return 1; if(c=='a') return 2; if(c=='g') return
wenzhuan
2022/08/15
2030
ICPC Pacific Northwest Regional Contest 2019 C D E M 题解
D 标准签到,因为只能加跟除,所以 A =< B 时就只能执行加法操作 然后 A > B 时,只能对A 不是偶数变偶数然后除 就这样子一直到 A < B。然后执行加法操作。
杨鹏伟
2020/09/10
4070
河工院首届工业设计大赛程序组(选拔赛)题解
本题为简单的01背包,不过是需要算一下超重多少,但是最多超重100%,那么代码就如下。
浪漫主义狗
2024/04/28
1050
洛谷P2770 航空路线问题(费用流)
为了满足流量的限制,肯定会想到拆点,把每个点拆为两个,连流量为$1$,费用为$1$的边
attack
2018/07/27
3560
程序员进阶之算法练习(五十六)
题目链接 题目大意: 有一排椅子,总共有n个; 有若干个人坐在上面,我们用数字'0'表示这个位置是空的,'1'表示这个位置已经有人; 人们不想靠的太近,所以不能有两个座位连着坐人; 同时人们也不喜欢浪费,所以希望椅子尽可能多的坐人;
落影
2021/11/24
2860
P4009 汽车加油行驶问题 题解
当然食用spfa啦。 但本蒟蒻不会分层。所以就二维spfa啦。 基本思路就是:一开始先把(1,1)点的状态扔进队列。 然后分类讨论 详细见代码 丑陋无比的代码:
yzxoi
2022/09/19
2590
洛谷2017 5月月赛R1
我只想说面对这种难度的题目就是冲着20%的数据暴力。。。 分数:40+20+36.1+38+0+19 T1 签到题 III 题目背景 pj组选手zzq近日学会了求最大公约数的辗转相除法。 题目描述 类比辗转相除法,zzq定义了一个奇怪的函数: typedef long long ll; ll f(ll a,ll b) { if(a==b) return 0; if(a>b) return f(a-b,b+b)+1; else return f(a+a,b-a)+1; } zzq定义完
attack
2018/04/13
6070
洛谷2017 5月月赛R1
河工院首届工业设计大赛程序组(挑战赛)题解
本题主要考察四舍五入,C语言中是四舍六入,但是需要四舍五入,则在结果后面加上0.001即可。
浪漫主义狗
2024/05/07
1360
ACM竞赛常用STL(一)
STL 的<utility>头文件中描述了一个看上去非常简单的模板类pair,用来表示一个二元组或元素对,并提供了按照字典序对元素对进行大小比较的比较运算符模板函数。
xindoo
2021/01/22
8690
洛谷11月月赛题解(A-C)
辣鸡T3卡我1.5h题意,要不是最后nlh跟我解释了一下大样例估计这次是真凉透了。。
attack
2018/12/06
4100
2022.3.5 PAT甲级 2022年春季考试 89分「建议收藏」
这道题空间限制有点严格,如果用C++,只能用优先队列(或者类似方式),而且注意应该是小端优先队列,队列内其实只需要保留5个数,每次加入一个数,就将最小的删去,最后剩下最大的5个数,输出k个数即可。
全栈程序员站长
2022/07/28
2660
洛谷P4065 [JXOI2017]颜色(线段树)
所以我们可以对于每个右端点,统计最长的左端点在哪里,刚开始以为这个东西有单调性,但事实并不是这样。。
attack
2019/03/11
4200
【第71题】说好的练习动态规划,结果确是拓扑排序,最大食物链计数
你知道食物链吗?Delia 生物考试的时候,数食物链条数的题目全都错了,因为她总是重复数了几条或漏掉了几条。于是她来就来求助你,然而你也不会啊!写一个程序来帮帮她吧。
小码匠
2023/08/31
1840
【第71题】说好的练习动态规划,结果确是拓扑排序,最大食物链计数
18级个人训练赛--2
B --Consecutive Integers AtCoder 5037 思路:水题,签到~
杨鹏伟
2020/09/11
3160
SDUT 2021 Winter Individual Contest – G
一辆车连司机可以坐5人,告诉你每个人开车从A到B或者从B到A花费的时间,一共有k辆车,问你让所有人从A到B花费的最少时间。车最终可以留在A地也可以留在B地,回程司机不能带人。
Here_SDUT
2022/08/08
3280
令人闻风丧胆的NEERC——被称为ICPC题目质量之最的比赛,究竟是怎样的难度
NEERC,ACM-ICPC Northeastern European Regional Contest,是欧洲地区的异常区域赛,因其题目质量高而闻名于ICPC。
ACM算法日常
2021/09/28
1.8K0
程序员进阶之算法练习(五十八)
题目链接 题目大意: 输入两个整数a和b,每次操作可以使得a=a+1; 问最少要几次操作,可以使得a可以整除b;
落影
2022/03/07
5200
CF1365D Solve The Maze,CF官网通过,洛谷提交失败
CF的接口返回Happy New Year!, 其实也是一种正常状态,但洛谷就蒙圈了。
小码匠
2024/01/14
3140
CF1365D Solve The Maze,CF官网通过,洛谷提交失败
几道暑期实习笔试题
DFS 回溯法,先判断组成三连对和组成顺子需要的次数,递归深度 k 就是次数。对于对子和单张的可以直接通过枚举数需要打多少次。可以在组成三连对和顺子的时候增加剪枝操作加快运算:如果构不成三连对或者顺子,则不用进行回溯。
echobingo
2020/08/28
1.3K0
几道暑期实习笔试题
SDUT 2021 Winter Team Contest – 1
本题定义加法为不进位加法,如 3 + 8 = 1 3 + 8 = 13+8=1,乘法按竖式乘法计算,不进位。给定n(1 \leq n \leq 10^{25}),求满足 a ∗ a = n 的最小的 a,无解输出 − 1。
Here_SDUT
2022/08/08
4240
相关推荐
哈理工2019新生赛解题报告
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验