Codeforces Round 870 (Div. 2)【A、B、C、D】
文章目录
- A. Trust Nobody(暴力)
- B. Lunatic Never Content(数学)
- C. Dreaming of Freedom(数学、暴力)
- D. Running Miles(前缀、后缀)
传送门
A. Trust Nobody(暴力)
题意:给出n个人的陈述,每个人陈述至少有ai个人说谎,让你求出可能是说谎人数。
思路:(废话,可以不看,本来我考虑一种贪心的方法,假定xxx说的是真的,然后检验,发现wa2),我们可以观察到n很小,我们只需枚举说谎的情况即可,然后统计说谎人数是否符合,时间复杂度为n2,这题卡了很多人,主要还是思维定势,其实没什么难的。
#include <bits/stdc++.h>
#define ll long long
#define inf 0x3f3f3f3f
#define eps 1e-9
using namespace std;
const int N = 105;
int a[N];
void solve() {int n;cin >> n;for (int i = 1; i <= n; i++) cin >> a[i];for (int i = 0; i <= n; i++) {int cnt = 0;for (int j = 1; j <= n; j++) cnt += (i < a[j]);if (i == cnt) {cout << i << '\n';return;}}cout << -1 << '\n';
}
int main() {ios::sync_with_stdio(false);cin.tie(0);int T = 1;cin >> T;while (T--) {solve();}return 0;
}
B. Lunatic Never Content(数学)
题意:给你一个数组,让你找到一个最大的模数x,对每一个数取模x,使得这个数组具有回文特性,找不到就输出0。
思路:首先什么时候没有最大的x,如果说已经符合回文特性的话,就可以取无穷大。如果不符合回文特性的话。我们考虑每一对对称不同的数。
推导:此处al为对称轴左侧,ar为对称轴有侧的数,r为余数,k1,k2为整数,x是模数。
a l ≡ r ( m o d x ) a_l\equiv r(mod~x) al≡r(mod x)
a r ≡ r ( m o d x ) a_r\equiv r(mod~x) ar≡r(mod x)
a l = k 1 x + r a_l=k_1x+r al=k1x+r
a r = k 2 x + r a_r=k_2x+r ar=k2x+r
a l − a r = ( k 1 − k 2 ) x a_l-a_r=(k_1-k_2)x al−ar=(k1−k2)x
x ∣ a l − a r x|a_l-a_r x∣al−ar
x是每对不同的差的因子,所以直接求最大公约数即可。
#include <bits/stdc++.h>
#define ll long long
#define inf 0x3f3f3f3f
#define eps 1e-9
using namespace std;
const int N = 1e5 + 5;
int a[N];
void solve() {int n;cin >> n;for (int i = 1; i <= n; i++) cin >> a[i];int gcd = 0;int l = 1, r = n;while (l < r) {if (a[l] != a[r]) {int d = abs(a[l] - a[r]);if (d) {if (!gcd) gcd = d;else gcd = __gcd(gcd, d); }}l++;r--;}cout << gcd << '\n';
}
int main() {ios::sync_with_stdio(false);cin.tie(0);int T = 1;cin >> T;while (T--) {solve();}return 0;
}
C. Dreaming of Freedom(数学、暴力)
题意:n个人每人投一票,给m个算法,每次保留票数最多的算法,判断能否保证最后必定留下一个算法。
思路:总票数不变都是n,如果说当前剩下x种算法, n % x != 0 的话,说明至少会有一种算法会被淘汰,可以继续减少,如果说 n % x == 0,可以把票数平均分配,这样就全部保留了。我们考虑最坏的情况,(投票人故意每次投 n / x ,剩下一个 n % x,一个个淘汰),就必须保证,n 不会被 2~m的数整除。我们考虑根号分治,枚举因子。时间复杂度为tsqrt(n)。其实就是找到最小的质因子。
#include <bits/stdc++.h>
#define ll long long
#define inf 0x3f3f3f3f
#define eps 1e-9
using namespace std;
const int N = 1e5 + 5;
void solve() {int n, m;cin >> n >> m;for (int i = 2; i * i <= n; i++) {if (n % i == 0 && i <= m) {cout << "NO\n";return;}}if (n <= m && n > 1) {cout << "NO\n";return;}cout << "YES\n";
}
int main() {ios::sync_with_stdio(false);cin.tie(0);int T = 1;cin >> T;while (T--) {solve();}return 0;
}
D. Running Miles(前缀、后缀)
题意:给出一个数组,你可以选取一个长度大于等于3的区间,value为区间内三个最大的值减去(r-l)。
关键:首先左右两端必定是最大的值中的两个。
证明:如果说左右区间两端不是最大值的两个,我们覆盖的区间更大,那么我们可以减去这两个最大的值外的值,增量不变,但是 r- l变小了,总的值更大了。
思路:上面可以表示为,value=a[l]+a[mid]+a[r]-r+l=a[mid]+a[r]-r+a[l]+l。只需预处理一下mid右侧的a[r]-r的情况,mid左侧a[l]+l的情况
#include <bits/stdc++.h>
#define ll long long
#define inf 0x3f3f3f3f
#define eps 1e-9
using namespace std;
const int N = 1e5 + 5;
int l[N], r[N], a[N];
void solve() {int n;cin >> n;for (int i = 1; i <= n; i++) cin >> a[i];l[1] = a[1] + 1;r[n] = a[n] - n;for (int i = 2; i <= n; i++) l[i] = max(l[i - 1], a[i] + i);for (int i = n - 1; i >= 1; i--) r[i] = max(r[i + 1], a[i] - i);int ans = -inf;for (int i = 2; i < n; i++) {ans = max(ans, a[i] + l[i - 1] + r[i + 1]);}cout << ans << '\n';
}
int main() {ios::sync_with_stdio(false);cin.tie(0);int T = 1;cin >> T;while (T--) {solve();}return 0;
}
相关文章:
Codeforces Round 870 (Div. 2)【A、B、C、D】
文章目录 A. Trust Nobody(暴力)B. Lunatic Never Content(数学)C. Dreaming of Freedom(数学、暴力)D. Running Miles(前缀、后缀) 传送门 A. Trust Nobody(暴力) 题意:给出n个人的陈述,每个人陈述至少有ai个人说谎,让你求出可能是说谎人数…...
BetaFlight统一硬件AOCODARC H7DUAL配置文件讨论
BetaFlight统一硬件AOCODARC H7DUAL配置文件讨论 1. 源由2. Review配置3. 分析整理3.1 生产商信息3.2 磁力计3.3 气压计3.4 陀螺仪3.5 串口RxTx3.6 板载Flash3.7 模拟OSD MAX74563.8 PPM接收机3.9 伺服器3.10 LED灯带3.11 蜂鸣器3.12 电机 X83.13 ADC(电压/电流/RSSI信号强度/空…...
力扣题库刷题笔记682-棒球比赛
1、题目如下: 2、个人Python代码实现如下: 代码如下: class Solution: def calPoints(self, operations: List[str]) -> int: i 0 #用于遍历元素的下标 while i < len(operations): …...
SpringCloud------Eureka修改实例显示信息、服务发现Discovery、自我保护(六)
SpringCloud------Eureka修改实例显示信息、服务发现Discovery、自我保护(六) 1.actuator微服务信息完善 2.服务发现Discovery 3.Eureka自我保护 actuator微服务信息完善 web和actuator依赖用于图形化监控 1.主机名称:服务名称修改 新增…...
Java 远程debug,IDEA 远程 Debug 调试
有时候我们需要进行远程的debug,本文研究如何进行远程debug,以及使用 IDEA 远程debug的过程中的细节。看完可以解决你的一些疑惑。 配置 远程debug的服务,以SpringBoot微服务为例。 首先,启动SpringBoot需要加上特定的参数。 …...
将webrtc的音频模式改为共享模式
修改音频设备模式:打开文件modules/audio_device/include/audio_device.h,将AudioDeviceModule::kPlatformDefaultAudioProcessing为true改为false。这将禁用默认的音频处理,使得可以修改音频设备模式。 修改音频设备模式的初始化:打开文件modules/audio_device/audio_dev…...
电脑cpu占用率高?怎么办?1分钟快速解决!
案例:电脑cup过高怎么办? 【我的电脑运行缓慢,导致我学习和工作的效率很低。刚刚查看了一下电脑,发现它的cpu占用率很高。有没有小伙伴知道如何解决此电脑cpu过高的问题?】 电脑是我们生活中不可缺少的工具ÿ…...
使用JPA自动生成代码(轻松上手看了就会版)
目录 背景:方案概念:JPA 的主要作用 jpa简单使用(Springboot项目)jpa进阶使用总结 背景: 项目需要自动生成sql代码,不需要写sql语句,能够自动进行查询,我想到了JPA。 方案 概念&a…...
jdk动态代理
jdk动态代理:基于反射动态生成代理对象 pwp动态代理的步骤比较复杂,无需特别深入的理解,在jdk中固定的步骤,只需要知道这些步骤即可,不必钻牛角尖 动态代理涉及到的三个反射包类 InvocationHandlerMethodProxy 1. InvocationHand…...
备忘录模式
备忘录模式 备忘录模式定义使用场景1、撤销操作:2、游戏进度保存:3、定时器:4、浏览器历史记录:5、购物车状态保存:6、场景总结 角色定义Originator 发起人角色:Memento 备忘录角色:Caretaker 备忘灵管理员角色:需求背…...
问题解决:跨域访问错误
今天做前端页面渲染的时候遇到一个问题, 因为我使用的wsl开发,windows直接访问不了wsl中的文件,还要改其他配置没成功,索性就不改了,粘贴在桌面上用浏览器打开调试 然后所有使用apifox通过测试的路径全部报错 Ensure CORS response header values are validA cross-origin reso…...
程序员应该怎么自学才能入门 ?我来聊聊自己的经历
当你想成为一名程序员,如何自学入门是一个非常重要的问题。在这里我分享一下我的经验,希望能对你有所帮助。 首先,为了制定好你的学习路线,你可以在网上的培训机构网站找到一张基础路线图。这张路线图必须是跟行业对标的…...
听我一句劝,别去外包,干了6年,废了....
先说一下自己的情况,大专生,18年通过校招进入湖南某软件公司,干了接近6年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了6年的功能测试&…...
leetcode 88 合并两个有序数组
题目描述: 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意:最终&am…...
软件项目成本控制的5大关键点 不得不重视
软件项目成本一般分为运营成本和项目成本。而运营成本比较固定,压缩和削减的余地不大。而在项目成本中,最主要的成本是人工成本。那么如何提高项目开发效率,节约人工成本,对成本管理至关重要。 我们从以下几个影响项目成本的主要因…...
CSS样式更改:边框Border的另类用法
CSS样式更改——字体设置Font&边框Border 随着互联网技术的不断发展,网页设计已经成为了一项非常重要的工作。在网页设计中,字体设置和边框Border是两个非常常见的CSS样式,可以通过这两个样式对网页的外观进行设置。下面,我们…...
shell的灵活运用 (函数,关联数组,循环,awk,sed等)
题目 提示:没有基础请先看看基础部分的讲解,否则看不懂 1,编写函数,实现判断是否无位置参数,如无参数,提示错误 代码: #bash/bin function a() {b$# #判断传入的参数个数 # echo $b…...
大疆无人机 MobileSDK(遥控器/手机端)开发 v4版<1>
大疆无人机飞控开发 大疆无人机SDK开发包功能概述飞行控制相机实时视频流传感器数据下载媒体文件遥控器,电池和无线链路连接应用程序和产品 v4版sdk 二次开发注册成为DJI开发者生成 App KeyAndroid 示例代码配置Android Studio项目集成创建一个新的应用配置Gradle 脚…...
mysql数据库之事务
1.事务的概念 事务是一种机制、一个操作序列,包含了一组数据库操作命令,并且把所有的命令作为一个 整体一起向系统提交或撤销操作请求,即这一组数据库命令要么都执行,要么都不执行。 事务是一个不可分割的工作逻辑单元…...
安装运行Hyperf
安装运行Hyperf 上回讲到,我们对一个普通的 Laravel 框架进行了改造,让它可以在 Swoole 环境下使用,不过其中会有很多问题可能我们一时考虑不到,就会造成程序的稳定性出现问题。那么,今天我们就来学习一个原生的 Swoo…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...
【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...
Java 8 Stream API 入门到实践详解
一、告别 for 循环! 传统痛点: Java 8 之前,集合操作离不开冗长的 for 循环和匿名类。例如,过滤列表中的偶数: List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...
解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...
12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...
自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
