2024.2.5 寒假训练记录(19)
文章目录
- 牛客 寒假集训2A Tokitsukaze and Bracelet
- 牛客 寒假集训2B Tokitsukaze and Cats
- 牛客 寒假集训2D Tokitsukaze and Slash Draw
- 牛客 寒假集训2E Tokitsukaze and Eliminate (easy)
- 牛客 寒假集训2F Tokitsukaze and Eliminate (hard)
- 牛客 寒假集训2I Tokitsukaze and Short Path (plus)
- 牛客 寒假集训2J Tokitsukaze and Short Path (minus)
- 牛客 寒假集训2K Tokitsukaze and Password (easy)
牛客 寒假集训2A Tokitsukaze and Bracelet
题目链接
模拟
#include <bits/stdc++.h>using namespace std;#define int long long
using i64 = long long;typedef pair<int, int> PII;
typedef pair<double, double> PDD;
typedef pair<int, PII> PIII;const int N = 1000010;void solve()
{int n;cin >> n;while (n -- ){int a, b, c;cin >> a >> b >> c;int ans = 0;if (a == 150) ans ++ ;else if (a == 200) ans += 2;if (b == 34 || b == 36 || b == 38 || b == 40) ans ++ ;else if (b == 45) ans += 2;if (c == 34 || c == 36 || c == 38 || c == 40) ans ++ ;else if (c == 45) ans += 2;cout << ans << '\n';}
}signed main()
{ios::sync_with_stdio(false);cin.tie(0), cout.tie(0);int t = 1;// cin >> t;while (t -- ){solve();}
}
牛客 寒假集训2B Tokitsukaze and Cats
题目链接
定义一个表示边界的坐标就可以了
#include <bits/stdc++.h>using namespace std;#define int long long
using i64 = long long;typedef pair<int, int> PII;
typedef pair<double, double> PDD;
typedef pair<int, PII> PIII;const int N = 1000010;void solve()
{int n, m, k;cin >> n >> m >> k;vector<bool> h(n * m + m), s(n * m + n);int ans = 0;while (k -- ){int x, y;cin >> x >> y;if (h[(x - 1) * m + y] == false) ans ++ , h[(x - 1) * m + y] = true;if (h[x * m + y] == false) ans ++ , h[x * m + y] = true;if (s[(y - 1) * n + x] == false) ans ++, s[(y - 1) * n + x] = true;if (s[y * n + x] == false) ans ++ , s[y * n + x] = true;}cout << ans << '\n';
}signed main()
{ios::sync_with_stdio(false);cin.tie(0), cout.tie(0);int t = 1;// cin >> t;while (t -- ){solve();}
}
牛客 寒假集训2D Tokitsukaze and Slash Draw
题目链接
想dp想了好久,本来打算如果所有状态都没变化就break,结果t了,原来是队列bfs,可以记住的trick
#include <bits/stdc++.h>using namespace std;#define int long long
using i64 = long long;typedef pair<int, int> PII;
typedef pair<double, double> PDD;
typedef pair<int, PII> PIII;const int N = 1000010;
const int mod = 1e9 + 7;void solve()
{int n, m, k;cin >> n >> m >> k;vector<PII> info(m);vector<int> ans(n, 0x3f3f3f3f3f3f3f3f);ans[0] = 0;for (int i = 0; i < m; i ++ ) cin >> info[i].first >> info[i].second; queue<int> q;q.push(0);while (q.size()){auto t = q.front();q.pop();for (int j = 0; j < m; j ++ ){int tmp = (t + info[j].first) % n;if (ans[tmp] > ans[t] + info[j].second){ans[tmp] = ans[t] + info[j].second;q.push(tmp);}}}if (ans[n - k] == 0x3f3f3f3f3f3f3f3f) cout << -1 << '\n';else cout << ans[n - k] << '\n';
}signed main()
{ios::sync_with_stdio(false);cin.tie(0), cout.tie(0);int t = 1;cin >> t;while (t -- ){solve();}
}
牛客 寒假集训2E Tokitsukaze and Eliminate (easy)
题目链接
牛客 寒假集训2F Tokitsukaze and Eliminate (hard)
题目链接
两道题一起说,从后往前的贪心,用set存出现过的颜色,所有颜色都出现一遍了就ans++
#include <bits/stdc++.h>using namespace std;#define int long long
using i64 = long long;typedef pair<int, int> PII;
typedef pair<double, double> PDD;
typedef pair<int, PII> PIII;const int N = 1000010;void solve()
{int n;cin >> n;vector<int> a(n);map<int, int> mp;int sum = 0;for (int i = 0; i < n; i ++ ){cin >> a[i];if (mp[a[i]] == 0) mp[a[i]] ++ , sum ++ ;else mp[a[i]] ++ ;}int ans = 0;int tmp = 0;set<int> st;int lst = n - 1;for (int i = n - 1; i >= 0; i -- ){if (st.find(a[i]) == st.end()) tmp ++ , st.insert(a[i]);if (tmp == sum){ans ++ ;for (int j = i; j <= lst; j ++ ){mp[a[j]] -- ;if (mp[a[j]] == 0) sum -- ;}st.clear();tmp = 0;lst = i - 1;}}if (!st.empty()) ans ++ ;cout << ans << '\n';
}signed main()
{ios::sync_with_stdio(false);cin.tie(0), cout.tie(0);int t = 1;cin >> t;while (t -- ){solve();}
}
牛客 寒假集训2I Tokitsukaze and Short Path (plus)
题目链接
大的点先算,然后就没有了
#include <bits/stdc++.h>using namespace std;#define int long long
using i64 = long long;typedef pair<int, int> PII;
typedef pair<double, double> PDD;
typedef pair<int, PII> PIII;const int N = 1000010;void solve()
{int n;cin >> n;vector<int> a(n);int minn = 0x3f3f3f3f3f3f3f3f;int cnt = 0;for (int i = 0; i < n; i ++ ) cin >> a[i];int tmp = 0;int ans = 0;sort(a.begin(), a.end(), greater<int>());for (int i = 0; i < n; i ++ ) ans += (n - tmp - 1) * 4 * a[i], tmp ++ ;cout << ans << '\n';
}signed main()
{ios::sync_with_stdio(false);cin.tie(0), cout.tie(0);int t = 1;cin >> t;while (t -- ){solve();}
}
牛客 寒假集训2J Tokitsukaze and Short Path (minus)
题目链接
小点的先算
#include <bits/stdc++.h>using namespace std;#define int long long
using i64 = long long;typedef pair<int, int> PII;
typedef pair<double, double> PDD;
typedef pair<int, PII> PIII;const int N = 1000010;void solve()
{int n;cin >> n;vector<int> a(n);int minn = 0x3f3f3f3f3f3f3f3f;int cnt = 0;for (int i = 0; i < n; i ++ ) cin >> a[i];sort(a.begin(), a.end());int ans = 0;for (int i = 0; i < n; i ++ ){if (a[i] * 2 <= a[0] * 4) ans += (n - 1 - i) * a[i] * 2 * 2;else ans += (n - 1 - i) * a[0] * 4 * 2;}cout << ans << '\n';
}signed main()
{ios::sync_with_stdio(false);cin.tie(0), cout.tie(0);int t = 1;cin >> t;while (t -- ){solve();}
}
牛客 寒假集训2K Tokitsukaze and Password (easy)
题目链接
直接dfs
#include <bits/stdc++.h>using namespace std;#define int long long
using i64 = long long;typedef pair<int, int> PII;
typedef pair<double, double> PDD;
typedef pair<int, PII> PIII;const int N = 1000010;
const int mod = 1e9 + 7;void solve()
{int n;cin >> n;string s;int y;cin >> s >> y;if (s.size() == 1 && s[0] == '0'){cout << 1 << '\n';return;}if (s[0] == '0'){cout << 0 << '\n';return;}vector<vector<int>> mp(5);for (int i = 0; i < n; i ++ ){if ((s[i] >= 'a' && s[i] <= 'd') || s[i] == '_'){if (s[i] != '_') mp[s[i] - 'a'].push_back(i);else mp[4].push_back(i);}}int ans = 0;auto get = [&](string x){int res = 0;for (int i = 0; i < x.size(); i ++ ){res += pow(10, (x.size() - i - 1)) * (x[i] - '0');}return res;};vector<bool> st(11);function<void(int, string)> dfs = [&](int u, string ss){if (u == 5){int res = get(ss);if (ss[0] == '0' && ss.size() != 1) return;if (res % 8 == 0 && res <= y) ans = (ans + 1) % mod;return;}if (mp[u].size() == 0) dfs(u + 1, ss);else{string tmp = ss;for (int i = 0; i < 10; i ++ ){// if (mp[u][0] == 0 && i == 0) continue;if (u != 4 && st[i]) continue;if (u != 4) st[i] = true;for (auto t : mp[u]){tmp[t] = '0' + i;}dfs(u + 1, tmp);if (u != 4) st[i] = false;}}};dfs(0, s);cout << ans << '\n';
}signed main()
{ios::sync_with_stdio(false);cin.tie(0), cout.tie(0);int t = 1;cin >> t;while (t -- ){solve();}
}
相关文章:
2024.2.5 寒假训练记录(19)
文章目录 牛客 寒假集训2A Tokitsukaze and Bracelet牛客 寒假集训2B Tokitsukaze and Cats牛客 寒假集训2D Tokitsukaze and Slash Draw牛客 寒假集训2E Tokitsukaze and Eliminate (easy)牛客 寒假集训2F Tokitsukaze and Eliminate (hard)牛客 寒假集训2I Tokitsukaze and S…...

游戏服务器租赁多少钱一台?26元,服不服?
游戏服务器租用多少钱一年?1个月游戏服务器费用多少?阿里云游戏服务器26元1个月、腾讯云游戏服务器32元,游戏服务器配置从4核16G、4核32G、8核32G、16核64G等配置可选,可以选择轻量应用服务器和云服务器,阿腾云atengyu…...
wpf 引入本项目的图片以及引入其他项目的图像资源区别及使用方法
在WPF项目中引入本项目的图片和引入其他项目的图像资源,两者的主要区别在于资源的位置以及如何通过URI引用它们。以下是详细说明及使用方法: 一、引入本项目的图片资源: 将图片文件(如PNG, JPG等)放入你的WPF项目…...
jsp页面,让alert弹出信息换行显示
第一种方式:后端拼接上换行符前端显示 1,java后端将信息封装成字符串时,在需要换行的地方拼接上一个换行符, 显示在HTML中的换行,通常需要用<br>标签替代\n,如下: String javaString &…...

【IC设计】Windows下基于IDEA的Chisel环境安装教程(图文并茂)
Chisel环境安装教程 第一步 安装jdk,配置环境变量第二步 安装sbt,不用配置环境变量第三步 安装idea社区版第四步 离线安装scala的idea插件第五步 配置sbt换源1.切换目录2.创建repositories文件3.配置sbtconfig.txt文件 第六步 使用chisel-tutorial工程运…...

IF=82.9!高分文献解读|吉西他滨联合顺铂化疗激活肿瘤免疫新机制
鼻咽癌(nasopharyngeal carcinoma, NPC)是一种发生于鼻咽部上皮细胞的恶性肿瘤,且高发于中国。吉西他滨联合顺铂(GP)化疗作为鼻咽癌的一种全球标准治疗方案,然而治疗的具体机制目前尚不清楚。中山大学肿瘤防…...
【QT+QGIS跨平台编译】之二十八:【Protobuf+Qt跨平台编译】(一套代码、一套框架,跨平台编译)
文章目录 一、Protobuf介绍二、文件下载三、文件分析四、pro文件4.1 libprotobuf4.2 libprotobuf-lite4.3 libprotoc4.4 protocApp五、编译实践一、Protobuf介绍 Protocol Buffers(简称 Protobuf)是由 Google 开发的一种数据序列化协议,就像 XML 或 JSON 一样,但是它更小、…...
代码解析:list.stream().filter(Objects::nonNull).collect(Collectors.toList())
这段Java代码是使用了Java 8引入的流(Stream) API来处理集合(比如List)。这个特定的例子展示了如何从一个列表中过滤掉所有的null值,并返回一个新的列表,其中不包含任何null元素。下面是对这段代码的逐步解析: 代码解…...

代驾应用系统(ssm)
登录首页 管理员界面 代驾司机界面 普通用户界面 前台页面 1、系统说明 (1) 框架:spring、springmvc、mybatis、mysql、jsp (2) 系统分为前台系统、后端管理系统 2、欢迎留言联系交流学习讨论:qq 97820625…...
技术栈面试综合整理
Git命令详解 设计模式看了又忘,忘了又看 Linux命令 Java集合Map Java基础 JVM面试题 JVM原理最全、清晰、通俗讲解,五天40小时吐血整理_小爷欣欣-CSDN博客_jvm原理 IO 计算机网络 计算机网络2 jsp 多线程 多线程2 大厂 JAVA 高频面试题 Ja…...
Java中的static关键字
静态变量(类变量)、静态方法(类方法):static声明的属性与方法。 静态变量/静态方法生命周期和类相同,在整个程序执行期间都有效。它有如下特点: 为该类的公用变量,属于类࿰…...
SpringBoot日志插件log4J和slf4J的使用和比较含完整示例
点击下载《SpringBoot日志插件log4J和slf4J的使用和比较含完整示例》 1. 前言 本文主要介绍了在 Spring Boot 框架中如何使用 Log4j 和 Slf4j,并通过对比分析它们的优缺点,帮助读者更好地选择合适的日志记录工具。文章中提供了完整的示例代码ÿ…...

我的世界Java版服务器如何搭建并实现与好友远程联机Minecarft教程
文章目录 1. 安装JAVA2. MCSManager安装3.局域网访问MCSM4.创建我的世界服务器5.局域网联机测试6.安装cpolar内网穿透7. 配置公网访问地址8.远程联机测试9. 配置固定远程联机端口地址9.1 保留一个固定tcp地址9.2 配置固定公网TCP地址9.3 使用固定公网地址远程联机 本教程主要介…...

如何进行游戏服务器的负载均衡和扩展性设计?
在进行游戏服务器的负载均衡和扩展性设计时,需要考虑多个方面,以确保服务器的稳定性和可扩展性。以下是一些关键的步骤和考虑因素: 负载均衡的需求分析 在进行负载均衡设计之前,需要深入了解游戏服务器的负载特性和需求。这包括…...

机器学习数学基础
机器学习基础 1、标量、向量、矩阵、张量2、概率函数、概率分布、概率密度、分布函数3、向量的线性相关性4、最大似然估计5、正态分布(高斯分布)6、向量的外积(叉积)7、向量的内积(点积)8、超平面(Hyperplane)9、广义线性模型(GLM)10、伯努利分布与二项分布11、凸函数…...

SpringBoot注解--04--01--注解@Mapper在IDEA中自动注入警告的解决方案
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 问题原因 解决方案方法1:为 Autowired 注解设置required false方法2:用 Resource 替换 Autowired方法3:在Mapper接口上加上Repo…...

【Java八股面试系列】JVM-垃圾回收
目录 垃圾回收 堆空间的基本结构 内存分配和回收原则 分代收集机制 Minor GC 流程 空间分配担保 老年代 大对象直接进入老年代 长期存活的对象将进入老年代 GC的区域 对象存活判定算法 引用计数法 可达性分析算法 finalize() 字符串常量判活 类判活 垃圾回收算…...

Elasticsearch:集群故障排除和优化综合指南
Elasticsearch 是一个强大的搜索和分析引擎,是许多数据驱动应用程序和服务的核心。 它实时处理、分析和存储大量数据的能力使其成为当今快节奏的数字世界中不可或缺的工具。 然而,与任何复杂的系统一样,Elasticsearch 可能会遇到影响其性能和…...

初识C语言·编译与链接
1 翻译环境和运行环境 C语言标准ANSI C 实现C语言代码的时候 一般需要经过两种环境,一是翻译环境,二是运行环境,计算机能识别的是二进制的指令,人写完代码后通过翻译环境,使代码变成计算机能读懂的可执行的机器指令&a…...
堆与滑动窗口的结合(算法村第十六关黄金挑战)
滑动窗口最大值 239. 滑动窗口最大值 - 力扣(LeetCode) 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大…...

地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...

label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...
3403. 从盒子中找出字典序最大的字符串 I
3403. 从盒子中找出字典序最大的字符串 I 题目链接:3403. 从盒子中找出字典序最大的字符串 I 代码如下: class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...
鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南
1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...