codeforce round951 div2

A guess the maximum

问题:

翻译一下就是求所有相邻元素中max - 1的最小值

代码:

#include <iostream>
#include <algorithm>using namespace std;const int N = 5e4;int a[N];
int n;void solve() {cin >> n;int ans = 0x3f3f3f3f;for(int i = 1; i <= n; i ++ ) cin >> a[i];for(int i = 1; i <= n - 1; i ++ ) {int k = max(a[i], a[i + 1]) - 1;ans = min(ans, k);}cout << ans << endl;
}int main() {int t;cin >> t;while(t -- ) {solve();}return 0;
}

B Xor sequences

题目:

思路:guess题,就是求两个数的lowbit

代码:

#include <iostream>
#include <algorithm>using namespace std;const int N = 5e4;int a[N];
int n;void solve() {int x, y;cin >> x >> y;int ans = 1;for(int i = 0; i <= 30; i ++ ) {int xx = x >> i & 1;int yy = y >> i & 1;if(xx == yy) ans *= 2;else break;}cout << ans << endl;
}int main() {int t;cin >> t;while(t -- ) {solve();}return 0;
}

C earning on bets

题目:

思路:

以下为不严谨证明

假设有n = 3 

k1 k2 k3

x1 x2 x3

满足x1 * k1 > x1 + x2 + x3

        x2 * k2 > x1 + x2 + x3

        x3 * k3 > x1 + x2 + x3

变形后有sigma 1/k < 1

由于分数的精度不好计算,因此考虑乘上所有k的lcm

即 lcm * sigma 1/k < lcm

这个是判断条件,如果成立给每个1/k乘上lcm即可

代码:

#include <iostream>using namespace std;const int N = 2e5 + 10;int k[N];int _gcd(int a, int b) {return b? _gcd(b, a % b): a;
}int lcm(int a, int b) {return a * b / _gcd(a, b);
}void solve() {int n;cin >> n;for(int i = 1; i <= n; i ++ ) cin >> k[i];int L = 1;for(int i = 1; i <= n; i ++ ) {L = lcm(L, k[i]);} int sum = 0;for(int i = 1; i <= n; i ++ ) {sum += L / k[i];}if(sum >= L) cout << -1;else for(int i = 1; i <= n; i ++ ) {cout << L / k[i] << " ";}
}int main() {int t;cin >> t;while( t-- ) {solve();}
}

D fixing a binary string

题目:

思路:对原操作进行化简,实际上就是把前p个字符翻转,并且接到原字符串的后面,则此时我们的答案串实际上是已知的如果第p个字符是1,那么答案串就是以1结尾的k pop串,反之则是以0

结尾的k pop串,既然答案已知我们遍考虑枚举p,之后在o1内用哈希字符串比较。注意到还要对原串翻转,因此还要倒着求一遍哈希

这题没有卡哈希

代码:

#include <iostream>
#include <algorithm>using namespace std;const int N = 2e5 + 10;
const int P = 131;typedef unsigned long long ULL;int n, k;
char s[N], str[N];
ULL ansh[N], h[N], p[N], reh[N];
/*
re (n - p + 1 , n) == ans (n - p + 1, n);
h p + 1, n == ans 1, n - p
*/
bool check(int x) {if(reh[n] - reh[n - x] * p[x] == ansh[n] - ansh[n - x] * p[x]) {if(h[n] - h[x] * p[n - x] == ansh[n - x] - ansh[0] * p[n - x]) {return true;}       }return false;
}void solve() {cin >> n >> k;for(int i = 1; i <= n; i ++ ) cin >> s[i];p[0] =  1;int c = s[1] - '0';for(int i = n, cnt = 1, judge = 1; i; i --, judge ++ ) {if(cnt & 1) str[i] = c + '0';else str[i] = !c + '0';if(judge % k == 0) cnt ++;}for(int i = 1; i <= n; i ++ ) p[i] = p[i - 1] * P;for(int i = 1; i <= n; i ++ ) h[i] = h[i - 1] * P + s[i];for(int i = 1; i <= n; i ++ ) ansh[i] = ansh[i - 1] * P + str[i];reverse(s + 1, s + n + 1);for(int i = 1; i <= n; i ++ ) reh[i] = reh[i - 1] * P + s[i];for(int i = 1; i <= n; i ++ ) {if(check(i)) {cout << i << endl;return;}}cout << -1 << endl;
}int main() {int t;cin >> t;while(t -- ) {solve();}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/25799.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基础数据结构 -- 堆

1. 简介 堆可以看做是一种特殊的完全二叉树&#xff0c;它满足任意节点的值都大于或小于其子节点的值。 2. 功能 插入元素&#xff1a;插入新元素时&#xff0c;先将元素放至数组末尾&#xff0c;然后通过上浮算法自底向上调整&#xff0c;使堆保持性质。删除堆顶元素&#xff…

Node安装配置

一、下载 Node官网下载地址&#xff1a;https://nodejs.org/en/ 二、安装 双击上面的msi扩展安装包开始安装&#xff0c;基本一路Next就行了 推荐安装目录自定义&#xff0c;最好不要放在C盘 检查安装是否成功 Win R 快捷键&#xff0c;输入 cmd 打开命令窗口输…

基于Java的超市进销存管理系统

开头语&#xff1a; 你好呀&#xff0c;我是计算机学长猫哥&#xff01;如果有相关需求&#xff0c;文末可以找到我的联系方式。 开发语言&#xff1a; Java 数据库&#xff1a; MySQL 技术&#xff1a; Java JSP Servlet JavaBean 工具&#xff1a; IDEA/Eclipse、…

Elasticsearch 管道查询语言 ES|QL 现已正式发布

作者&#xff1a;Costin Leau, George Kobar 今天&#xff0c;我们很高兴地宣布 ES|QL&#xff08;Elasticsearch 查询语言&#xff09;全面上市&#xff0c;这是一种从头开始设计的动态语言&#xff0c;用于转换、丰富和简化数据调查。在新的查询引擎的支持下&#xff0c;ES|Q…

大模型训练的艺术:从预训练到增强学习的四阶段之旅

文章目录 大模型训练的艺术&#xff1a;从预训练到增强学习的四阶段之旅1. 预训练阶段&#xff08;Pretraining&#xff09;2. 监督微调阶段&#xff08;Supervised Finetuning, SFT&#xff09;3. 奖励模型训练阶段&#xff08;Reward Modeling&#xff09;4. 增强学习微调阶段…

2- 简易版-日记写作软件(java)-涉及的技术点简述

环境&#xff1a; Ubuntu LinuxJDK1.8Eclipse 项目文件结构&#xff1a; 0. 涉及的技术点 1)view 包&#xff08;GUI&#xff09;&#xff1a; Eclipse SwingEclipse WindowBuilderJFileChooser(用于弹出文件选择对话框&#xff0c;进行文件或目录的选择)FileNameExtension…

【SQLAlChemy】filter过滤条件如何使用?

filter 过滤条件 生成 mock 数据 # 创建 session 对象 session sessionmaker(bindengine)()# 本地生成mock数据 for i in range(6):# 生成随机名字, 长度为4到7个字符name .join(random.choice(string.ascii_letters) for _ in range(random.randint(4, 7)))# 生成随机年龄…

Java 请求头加header

Java 请求头加header 通常情况下&#xff0c;java的http请求接口可以无需加header&#xff0c;但也有的第三方接口强制要求将accesstoken放在请求头中&#xff0c;而不能作为普通参数传递&#xff0c;这样就需要在请求头中加header&#xff0c;这里写了几个http请求工具类的方法…

矩阵杯2024 Re wp 前两题

1. packpy UPX壳&#xff0c;但不能直接脱&#xff0c;应该是修改了头文件&#xff08;l_info) 改一下就能脱了 脱完是个elf文件 进IDA看一眼 明显的Py打包标志&#xff0c;用pyinstxtractor解包出来&#xff08;最好用对应的python3.8&#xff09; 可以得到packpy.pyc文件&a…

Prov-GigaPath:新型数字病理基础模型|顶刊精析·2024-06-10

小罗碎碎念 顶刊精析&#xff5c;2024-06-10 首先祝各位老师、师兄师姐、师弟师妹们端午节快乐&#xff01;&#xff01;小罗是社恐&#xff0c;所以就不一一发消息问候了&#xff0c;哈哈。 今天这篇推文是昨天下午写完的&#xff0c;想着时间有点晚了&#xff0c;所以就放到…

java发送http请求工具类-简单易懂

简介 在Java开发中&#xff0c;我们经常需要发送HTTP请求来获取数据或与外部系统进行交互。Hutool是一个Java工具类库&#xff0c;提供了丰富的工具方法&#xff0c;其中包括发送HTTP请求的工具类。使用Hutool发送HTTP请求非常简单&#xff0c;不仅可以发送GET和POST请求&#…

作业07 递推算法2

作业&#xff1a; #include <iostream> using namespace std; int main(){int a[110][110]{0},b[110][110]{0},n;cin>>n;for(int i1;i<n;i){for(int j1;j<i;j){cin>>a[i][j];}}for(int in-1;i>1;i--){for(int j1;j<i;j){a[i][j]a[i][j]max(a[i1]…

SpringBoot中实现一个通用Excel导出功能

SpringBoot中实现一个通用Excel导出功能 文章目录 SpringBoot中实现一个通用Excel导出功能这个导出功能的特色看效果代码解析1、依赖2、Excel 入参(ExcelExportRequest)3、Excel 出参(ExcelExportResponse)4、ExcelExportField5、ExcelExportUtils 工具类6、ExcelHead 头部…

0元白嫖阿里云4G内存云服务器——感谢伟大的CSDN和阿里云

&#x1f9f8;欢迎来到dream_ready的博客&#xff0c;&#x1f4dc;相信您对博主首页也很感兴趣o (ˉ▽ˉ&#xff1b;) 学生邮箱白嫖/免费安装JetBrains全家桶(IDEA/pycharm等) —— 保姆级教程-CSDN博客 目录 1、学生认证领取300元优惠券 ​2、购买云服务器 1、学生认证领取…

深度学习500问——Chapter10:迁移学习(1)

文章目录 11.1 迁移学习基础知识 11.1.1 什么是迁移学习 11.1.2 为什么需要迁移学习 11.1.3 迁移学习的基本问题有哪些 11.1.4 迁移学习有哪些常用概念 11.1.5 迁移学习与传统机器学习有什么区别 11.1.6 迁移学习的核心及度量准则 11.1.7 迁移学习与其他概念的区别 11.1.8 什么…

【Python】高阶函数

高阶函数 高阶函数是接受另一个函数作为参数&#xff0c;并返回一个函数作为结果的函数。 这种类型的函数是函数式编程的核心&#xff0c;因为它们允许对行为进行抽象和复用&#xff0c;使得代码更加简洁和灵活。 def apply_function(func, value):return func(value)def sq…

MySQL 存储函数及调用

1.mysql 存储函数及调用 在MySQL中&#xff0c;存储函数&#xff08;Stored Function&#xff09;是一种在数据库中定义的特殊类型的函数&#xff0c;它可以从一个或多个参数返回一个值。存储函数在数据库层面上封装了复杂的SQL逻辑&#xff0c;使得在应用程序中调用时更加简单…

tcp协议中机制的总结

目录 总结 分析 三次握手 总结 分析 其中,序列号不止用来排序,还可以用在重传时去重 确认应答是机制中的核心 因为都需要依靠应答来拿到协议字段,从而判断是否触发机制 保证可靠性的策略也可以提高效率,比如: 流量控制,可以根据多个因素来动态调整数据发送量拥塞控制也是,让…

揭开FFT时域加窗的奥秘

FFT – Spectral Leakage 假设用于ADC输出数据分析的采样点数为N&#xff0c;而采样率为Fs&#xff0c;那我们就知道&#xff0c;这种情况下的FFT频谱分辨率为δf&#xff0c;那么δfFs/N。如果此时我们给ADC输入一个待测量的单频Fin&#xff0c;如果此时Fin除以δf不是整数&a…

Follow Carl To Grow|【LeetCode】235. 二叉搜索树的最近公共祖先,701.二叉搜索树中的插入操作,450.删除二叉搜索树中的节点

【LeetCode】235. 二叉搜索树的最近公共祖先 题意&#xff1a;给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为&#xff1a;“对于有根树 T 的两个结点 p、q&#xff0c;最近公共祖先表示为一个结点 x&#xff0c;满足 x 是 p、q…