AtCoder Beginner Contest 363
A - Piling Up
题意
不同的分数段有不同的^数量,Takahashi想要使得他的^数量增加,问他所需要的最少分数增幅。
思路
我们只需要找到下一阶段的下限。
a / 100 是本阶段
+1 变成下一阶段,再 * 100变成下限,再与原来的相减即可。
代码
inline void solve() {int a; cin >> a;cout << (a / 100 + 1) * 100 - a << endl;return;
}
B - Japanese Cursed Doll
题意
有n个人,每个人的头发长度每天都会增加1,问至少有p个人的头发长度大于等于T的最小天数。
思路
我们只需要找到第k头发长的人。
如果他已经比T大了,就说明一开始就满足,输出0
否则找到他与T的差值,就是最小天数
代码
inline void solve() {int n, t, p; cin >> n >> t >> p;vector<int> a(n + 1);for (int i = 1; i <= n; i ++ ) cin >> a[i];nth_element(a.begin() + 1, a.begin() + n - p + 1, a.end());cout << max(t - a[n - p + 1], 0) << endl;return;
}
C - Avoid K Palindrome 2
题意
给你一个字符串,你可以任意改变其中的字符位置,问不包含长度为k的回文子串的字符串数量有多少个。
思路
数据范围很小,最差阶乘的复杂度,直接暴力模拟即可。
代码
inline void solve() {int n, k; cin >> n >> k;string s; cin >> s;vector<int> a(n);for (int i = 0; i < n; i ++ ) a[i] = s[i] - 'a';sort(a.begin(), a.end());function<bool()> check = [&]() {for (int i = 0; i <= n - k; i ++ ) {int c = i + k - 1;bool flag = true;for (int j = i; j < c; j ++ , c -- ) {if (a[j] != a[c]) {flag = false;}}if (flag) return true;}return false;};int ans = 0;do {if (!check()) ans += 1;} while (next_permutation(a.begin(), a.end()));cout << ans << endl;return;
}
D - Palindromic Number
题意
求第N小的回文数
思路
首先我们可以观察对于i位所含的回文数的数量,这可以帮助我们找到第N个在哪
1位 10个
2位 9个
3位 90个
4位 90个
5位 900个
其实也很好推,对于1和2位,自己手玩就可以知道了。
然后对于位数为奇数的,相当于在之前位数为偶数的中间插入0~9
xx0xx
xx1xx
...
所以奇数位所含的回文数数量是上一位的10倍
而偶数位与上一位所含相同
因为
111 --必须是-> 1111
121 --必须是-> 1221
那我们只要一开始减1,然后按此操作 -9 -9 - 90 -90 -900 ...就可以知道它有几位了。
然后,回文的进位和正常的进位的区别不就在于它是向两边进位吗,所以我们只需观察中间。
比如
191 --> 202
1991 --> 2002
又我们观察到的数据是1e18,输入可以是ll,但是输出要是字符串。
所以我们可以用字符串维护一个前缀。
然后奇数位的话会影响到到下一位的数量
4位有90个回文数,5位有900个
偶数位的话会影响到前缀
代码
inline void solve() {ll x; cin >> x;x -= 1;string pre;ll nd = -1;for (int d = 1; ; d ++ ) {if (d & 1) {if (nd == -1) nd = 9;else nd *= 10;if (x <= nd) {if (!pre.size()) return cout << x << endl, void();x -= 1;ll num = stoll(pre) + x / 10;string pre = to_string(num);string s = pre + to_string(x % 10);reverse(pre.begin(), pre.end());s += pre;cout << s << endl;return;}x -= nd;}else {if (x <= nd) {if (!pre.size()) return cout << x << x << endl, void();x -= 1;ll num = stoll(pre) + x / 10;string pre = to_string(num);string s = pre + to_string(x % 10 * 11);reverse(pre.begin(), pre.end());s += pre;cout << s << endl;return;}x -= nd;if (!pre.size()) pre = "1";else pre += "0";}}return;
}
E - Sinking Land
题意
当地段高度小于等于海平面的时候就可以称之为沉没,海平面每年升高1,问今后的Y年中各有多少个地段没有沉没?
思路
模拟题,我用了优先队列优化的bfs,我们只需要把跟海接触的放到queue里面,然后一直判断即可。
代码
int dx[] = {-1, 1, 0, 0}, dy[] = {0, 0, -1, 1};
struct node {int x, y, v;bool operator > (const node& a) const {return v > a.v;}
};
inline void solve() {int n, m, k; cin >> n >> m >> k;vector<vector<int>> a(n + 1, vector<int>(m + 1)), vis(n + 1, vector<int>(m + 1));priority_queue<node, vector<node>, greater<node>> q;for (int i = 1; i <= n; i ++ ) {for (int j = 1; j <= m; j ++ ) {cin >> a[i][j];if (i == 1 || i == n || j == 1 || j == m) q.push({i, j, a[i][j]}), vis[i][j] = 1;}}int ans = n * m;for (int i = 1; i <= k; i ++ ) {while (q.size() && q.top().v <= i) {node T = q.top(); q.pop();int x = T.x, y = T.y, v = T.v;ans -= 1;for (int i = 0; i < 4; i ++ ) {int x1 = x + dx[i], y1 = y + dy[i];if (x1 < 1 || x1 > n || y1 < 1 || y1 > m || vis[x1][y1]) continue;q.push({x1, y1, a[x1][y1]});vis[x1][y1] = 1;}}cout << ans << endl;}return;
}
相关文章:
AtCoder Beginner Contest 363
A - Piling Up 题意 不同的分数段有不同的^数量,Takahashi想要使得他的^数量增加,问他所需要的最少分数增幅。 思路 我们只需要找到下一阶段的下限。 a / 100 是本阶段 1 变成下一阶段,再 * 100变成下限,再与原来的相减即可…...
Protel DXP 面试题详解及参考答案(4万字长文)
解释Protel DXP的基本工作流程。 Protel DXP(现已更名为Altium Designer)是一款用于电子设计自动化(EDA)的软件,主要应用于印刷电路板(PCB)设计。其基本工作流程通常包括以下几个阶段: 项目创建与配置: 开始一个新的设计项目时,首先需要创建一个项目文件,在这个文件…...
雪花算法 集群uid重复问题 uid-generator-spring-boot-starter
1、在生成环境 在某个业务使用该插件生成uid,由于业务整合了 mybatis-plus模块 2、该业务是分部署集群部署以及使用的多线程获取uid,使用中发现唯一建冲突,生成的uid有重复。 然后查看日志发现 workerId 始终为0 怀疑是生成workerId出了问题。 查看跟…...
【AutoDL】AutoDL+Xftp+Xshell+VSCode配合使用教程
身边没有显卡资源或不足以训练模型时,可以租赁服务器的显卡。 1、AutoDL Step :注册账号->选择显卡->选择环境->开机启动 1.1 首先打开AutoDL官网,注册账号 1.2 租赁自己想要的显卡资源 1.3 选择基础环境。 此处,我们让其自动配置…...
使用minio cllient(mc)完成不同服务器的minio的数据迁移和mc基本操作
minio client 前言使用1.拉取minio client 镜像2.部署mc容器3.添加云存储服务器4.迁移数据1.全量迁移2.只迁移某个桶3.覆盖重名文件 5.其他操作1.列出所有alias、列出列出桶中的文件和目录1.1.列出所有alias1.2.列出桶中的文件和目录 2.创建桶、删除桶2.1.创建桶2.2.删除桶 3.删…...
Vue3分段控制器(Segmented)
效果如下图:在线预览 APIs Segmented 参数说明类型默认值必传block是否将宽度调整为父元素宽度,同时所有选项占据相同的宽度booleanfalsefalsedisabled是否禁用booleanfalsefalseoptions选项数据string[] | number[] | SegmentedOption[][]falsesize控…...
SpringSecurity如何正确的设置白名单
在SpringSecurity中,往往需要对部分接口白名单访问,而大部分在使用Security中就有一个误区,那就是免鉴权访问和白名单的区别。 大部分的Security文章包括官方文档给出免鉴权访问都是使用.permitAll()去对相应路径进行免鉴权访问,但实际上这仅仅只表示该资源不需要相应的权限访问…...
【Langchain大语言模型开发教程】评估
🔗 LangChain for LLM Application Development - DeepLearning.AI 学习目标 1、Example generation 2、Manual evaluation and debug 3、LLM-assisted evaluation 4、LangChain evaluation platform 1、引包、加载环境变量; import osfrom dotenv imp…...
Python爬虫小项目实战
1.自动获取小说多个章节内容 2.获取英雄联盟里面的全部英雄 3. 简单地自动抽奖系统 4. 简单地点赞系统 5. 制作查询手机号工具 6. 制做登录系统 7. 操作excel办公自动化 8. 自动批量保存图片 9. 获取NBA数据 10. 获取彩票信息 11. 获取房地产信息 12. 获取小说…...
PHP Filesystem 简介
PHP Filesystem 简介 PHP 是一种广泛使用的开源服务器端脚本语言,特别适用于网页开发。在 PHP 中,Filesystem 是一个功能丰富的库,提供了一系列用于文件系统操作的函数。这些函数允许开发者读取、写入、修改和删除文件和目录,以及执行其他与文件系统相关的任务。 PHP Fil…...
源代码加密软件哪家好?五款企业级加密软件推荐
随着软件开发行业的快速发展,源代码作为核心资产,面临着越来越大的安全威胁。保护源代码不被泄露或盗用,是每个开发团队和企业都需要高度重视的问题。源代码加密软件通过对代码进行加密处理,确保其在传输和存储过程中保持机密性。…...
Redis常见的数据类型及操作方式
一、通用命令 1)获取redis中所有key keys * 2)删除一个或多个key del key1 key2 ... 3)判断key是否存在 exists key 4)给key添加过期时间 expire key time 5)查看key剩余过期时间 ttl key 6) 查看redis内存…...
谷粒商城实战笔记-55-商品服务-API-三级分类-修改-拖拽数据收集
文章目录 一,拖拽后结点的parentCid的更新二,拖拽后结点的父节点下所有结点的sort排序属性的变化更新排序的逻辑代码分析 三,拖拽后结点及其子节点catLevel的变化判断是否需要更新 catLevel获取拖动后的新节点 更新 catLevel完整代码 这一节的…...
AI绘画入门实践|Midjourney:使用 --seed 制作情侣头像与漫画
在 Midjourney 中,seed 是指一个种子,用于生成图像时的起点或基础。 使用格式:--seed 获取的seed值 获取 seed 值 使用 seed 生成图像 a cute boys avatar, background with blue sky and white cloud, Ghibli Studio style, Hayao Miyazaki…...
笔记:Enum中FlagsAttribute特性的用法
一、目的:分享Enum中FlagsAttribute特性的用法 在C#中,Enum(枚举)类型可以使用[Flags]属性来表示一个枚举可以存储多个值。这是通过按位运算符(如|(或)和&(与)&#…...
QWidget如何切换ui
在Qt中,QWidget及其子类用于构建图形用户界面。如果你想要在不同的UI之间切换,可以使用QStackedWidget,它可以管理一组QWidget,并且每次只显示其中一个。 以下是一个简单的例子,展示如何使用QStackedWidget切换UI&…...
web网站组成
web网站由四部分组成:浏览器 前端服务器 后端服务器 数据库服务器 流程: 1.浏览器输入网站后,向前端服务器发送请求,前端服务器响应,静态的数据给浏览器。 2.前端代码中script中有url,这个是向后台发送请求的网…...
带您详细了解安全漏洞的产生和防护
什么是漏洞? 漏洞是 IT、网络、云、Web 或移动应用程序系统中的弱点或缺陷,可能使其容易受到成功的外部攻击。攻击者经常试图寻找网络安全中的各种类型的漏洞来组合和利用系统。 一些最常见的漏洞: 1.SQL注入 注入诸如 SQL 查询之类的小代…...
【接口测试】params传参与body传参区别
文章目录 一.params传参二.body传参三.两者区别说明 一.params传参 params传参一般用于get请求 params传参时,参数会附于URL后面以问号形式展示。 示例: http://ip地址:端口号/login?usernamexm&pwd111二.body传参 body传参一般用于post请求 body传参时需…...
【docker】部署证书过期监控系统mouday/domain-admin
证书过期了再去部署证书容易被骂,就找了一个开源的证书过期系统来部署一下 过程 官方文档:https://domain-admin.readthedocs.io/zh-cn/latest/manual/install.html#docker 直接下载镜像是超时的,切换一下文档推荐的镜像源 新建docker配置…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...
Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...
微服务商城-商品微服务
数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...
CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...
Java数值运算常见陷阱与规避方法
整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...
vulnyx Blogger writeup
信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...
LLMs 系列实操科普(1)
写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...
