2024.3.17 训练记录(19)

写一下下午校赛的部分题目

文章目录

  • ATC ABC150D Semi Common Multiple
  • ATC ABC144E Gluttony
  • ATC dp题单Q Flowers

ATC ABC150D Semi Common Multiple

题目链接

下午不知道怎么糊出来的做法,可以转换成x一定要是a/2的奇数倍,所以输入a的时候先把都除以2,然后找lcm,判断lcm是不是所有数的奇数倍,是的话答案就是m以内的所有lcm的奇数倍

#include <bits/stdc++.h>using namespace std;#define int long long
using i64 = long long;typedef pair<int, int> PII;
typedef pair<int, char> PIC;
typedef pair<double, double> PDD;
typedef pair<int, PII> PIII;const int N = 1e5 + 10;
const int mod = 1e9 + 7;
const int maxn = 1e6 + 10;
const int mod1 = 954169327;
const int mod2 = 906097321;
const int INF = 0x3f3f3f3f3f3f3f3f;int lcm(int a, int b)
{return a * b / __gcd(a, b);
}void solve()
{int n, m;cin >> n >> m;vector<int> a(n);int res = 1;for (int i = 0; i < n; i ++ ){cin >> a[i];a[i] /= 2;res = lcm(res, a[i]);}bool flag = false;for (int i = 0; i < n; i ++ ){if ((res / a[i]) % 2 == 0) flag = true;}if (res > m || flag){cout << 0 << '\n';return;}cout << (m / res + 1) / 2 << '\n';
}signed main()
{ios::sync_with_stdio(false);cin.tie(0), cout.tie(0);int t = 1;// cin >> t;while (t--){solve();}
}

ATC ABC144E Gluttony

题目链接

二分+贪心,小的a一定配大的b

#include <bits/stdc++.h>using namespace std;#define int long longsigned main()
{int n, k;cin >> n >> k;vector<int> a(n), b(n);for (int i = 0; i < n; i ++ ) cin >> a[i];for (int i = 0; i < n; i ++ ) cin >> b[i];sort(a.begin(), a.end());sort(b.begin(), b.end(), greater<int>());int l = 0, r = 1e15;auto check = [&](int x){int kk = k;for (int i = 0; i < n; i ++ ){if (a[i] * b[i] > x){int tmp = x / b[i];kk -= a[i] - tmp;if (kk < 0) return false;}}return true;};while (l < r){int mid = (l + r) >> 1;if (check(mid)) r = mid;else l = mid + 1;}cout << r << '\n';
}

ATC dp题单Q Flowers

题目链接

本来想了很久单调栈单调队列优化dp的,但是发现还是没办法处理,之后想到可以用线段树来维护区间最大值,然后就愉快ac

#include <bits/stdc++.h>using namespace std;#define int long longconst int N = 2e5 + 10;int h[N], a[N];
int dp[N]; // dp[i] gaodu i jiewei de ansstruct Node
{int l, r;int maxx;
} tr[N * 4];void pushup(Node& u, Node& l, Node& r)
{u.l = l.l, u.r = r.r;u.maxx = max(l.maxx, r.maxx);
}void pushup(int u)
{pushup(tr[u], tr[u << 1], tr[u << 1 | 1]);
}void build(int u, int l, int r)
{tr[u] = {l, r};if (l == r) return;int mid = (l + r) >> 1;build(u << 1, l, mid);build(u << 1 | 1, mid + 1, r);
}void modify(int u, int pos, int x)
{if (tr[u].l == pos && tr[u].r == pos){tr[u].maxx = x;return;}int mid = tr[u].l + tr[u].r >> 1;if (pos <= mid) modify(u << 1, pos, x);else modify(u << 1 | 1, pos, x);pushup(u);
}Node query(int u, int l, int r)
{if (tr[u].l >= l && tr[u].r <= r) return tr[u];int mid = tr[u].l + tr[u].r >> 1;if (r <= mid) return query(u << 1, l, r);else if (l > mid) return query(u << 1 | 1, l, r);else{Node res;auto lt = query(u << 1, l, mid);auto rt = query(u << 1 | 1, mid + 1, r);pushup(res, lt, rt);return res;}
}signed main()
{int n;cin >> n;build(1, 1, n);for (int i = 1; i <= n; i ++ ) cin >> h[i];for (int i = 1; i <= n; i ++ ) cin >> a[i];for (int i = 1; i <= n; i ++ ){auto res = query(1, 0, h[i] - 1);dp[h[i]] = res.maxx + a[i];modify(1, h[i], dp[h[i]]);}int ans = 0;for (int i = 1; i <= n; i ++ ) ans=  max(ans, dp[i]);cout << ans << '\n';
}

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

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

相关文章

CornerStone.js之点数据获取相关函数

向后端导出点的坐标数据&#xff1a;由于piexlData是Float32Arrat数据类型&#xff0c;传递给后端 会报错&#xff0c;于是将其转换为二维数组&#xff0c;然后传递给后端即可&#xff0c;后端将其写入txt文件中 二维数组表示是512*512的一个数组&#xff0c;元素值只有0和1

AI基础知识(3)--神经网络,支持向量机,贝叶斯分类器

1.什么是误差逆传播算法&#xff08;error BackPropagation&#xff0c;简称BP&#xff09;&#xff1f; 是一种神经网络学习算法。BP是一个迭代学习算法&#xff0c;在迭代的每一轮使用广义的感知机学习规则对参数进行更新估计。基于梯度下降&#xff08;gradient descent&am…

linux学习之Socket

目录 编写socket-udp 第一步&#xff0c;编写套接字 第二步&#xff0c;绑定端口号 第三步&#xff0c;启动服务器&#xff0c;读取数据 第四步&#xff0c;接收消息并发回信息给对方 编写socket-Tcp 第一步&#xff0c;编写套接字 第二步&#xff0c;绑定端口号 第三步…

等保测评的知识

结合自己所学的知识和网络上的一些知识做个小总结。 目录 一、概念&#xff1a; 二、等级划分&#xff1a; 三、技术要求&#xff1a; 四、管理要求&#xff1a; 五、等保测评实施过程&#xff1a; 六、典型的网络架构&#xff1a; 一、概念&#xff1a; 全称为信息安全等级保…

【涨薪技术】0到1学会性能测试 —— 参数化关联

前言 上一次推文我们分享了性能测试工作原理、事务、检查点&#xff01;今天给大家带来性能测试参数化&#xff0c;检查点知识&#xff01;后续文章都会系统分享干货&#xff0c;带大家从0到1学会性能测试&#xff0c;另外还有教程等同步资料&#xff0c;文末免费获取~ 01、性…

【基础】倒水 c++

描述 在一个桌子上摆放了n个杯子&#xff0c;每个杯子中有一定量的水。小A同学负责向杯子中倒水&#xff0c;他总共倒了k次&#xff0c;每次会向从第L个杯子到第R个杯子中添加P毫升的水&#xff08;注意&#xff1a;水只可能增加&#xff0c;不可能减少&#xff09;。 请问小A…

编译libkml-1.3.0报错:minizip/crypt.h:没有那个文件或目录

完整的报错信息如下&#xff1a;/root/libkml-1.3.0/src/kml/base/contrib/minizip/unzip.c:183:10: 致命错误&#xff1a;minizip/crypt.h&#xff1a;没有那个文件或目录 #include <minizip/crypt.h> ^~~~~~~~~~~~~~~~~ 编译中断。 原因分析:yum install m…

【R3F】13. 碰撞反馈 impulse

点击反馈 注册点击事件 import React, { useRef } from react import { Debug, Physics, RigidBody } from "@react-three/rapier" const cube = useRef() const cubeJump = () => {cube.current.applyImpulse({ x: 0, y: 2, z: 0 })cube.current.applyTorqueImpu…

c++希尔排序

希尔排序&#xff08;Shell Sort&#xff09;是一种插入排序的改进版本&#xff0c;它是非稳定排序算法。希尔排序的基本思想是将待排序的元素分成若干个小组&#xff0c;对每组进行插入排序&#xff0c;然后逐步减小增量&#xff0c;继续按组进行插入排序操作&#xff0c;直至…

2024.03.18作业

封装一个动物的基类&#xff0c;类中有私有成员&#xff1a;姓名&#xff0c;颜色&#xff0c;指针成员年纪 再封装一个狗类&#xff0c;共有继承于动物类&#xff0c;自己拓展的私有成员有&#xff1a;指针成员腿的个数&#xff0c;共有成员函数&#xff1a;叫 要求&#xf…

PyTorch学习笔记之激活函数篇(四)

4、 Leaky ReLU 函数 4.1 公式 Leaky ReLU函数的公式&#xff1a; f ( x ) { x , x > 0 λ x , x < 0 , λ ∈ ( 0 , 1 ) f(x) \begin{cases} x&,x>0 \\ \lambda x&,x<0,\lambda \in(0,1) \end{cases} f(x){xλx​,x>0,x<0,λ∈(0,1)​ Leakly R…

JavaScript做一个贪吃蛇小游戏,无需网络直接玩。

用JavaScript做一个贪吃蛇小游戏&#xff0c;无需网络 > 打开即可玩。 html代码&#xff1a; <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><title>Title</title><style>#game{width: 344p…

Mysql 死锁案例4-delete 相邻记录导致死锁

死锁复现 CREATE TABLE t (id int(11) NOT NULL,c int(11) DEFAULT NULL,d int(11) DEFAULT NULL,PRIMARY KEY (id),KEY c (c) ) ENGINEInnoDB DEFAULT CHARSETutf8;/*Data for the table t */insert into t(id,c,d) values (0,0,0),(5,5,5),(10,10,10),(15,15,15) 事务1事…

第二十三章 Web 网关的配置基础知识

文章目录 第二十三章 Web 网关的配置基础知识Web 网关配置和日志文件自动路由到IRIS 的文件类型从 IRIS 提供静态文件表示字符编码 启用服务文件选项配置 Web 服务器以允许 IRIS 提供静态文件从 Web 服务器提供静态文件在高可用性解决方案的硬件负载均衡器上启用粘性会话启用脚…

“先干后看”式循环

题目&#xff1a;计算 &#xff0c;直到最后一项小于 。 注意题目要求&#xff1a;计算到最后一项小于 。也就是这一项是要参与到计算中的&#xff0c;计算完这一项才能触发循环停止条件。 这种先运算后判断的情况很对do-while循环的胃口。 do就是做嘛&#xff0c;while就是…

代码随想录算法训练营第二十七天(二十六填休息) | 39. 组合总和、40、组合总和 II、131. 分割回文串

代码随想录算法训练营第二十七天&#xff08;二十六填休息&#xff09; | 39. 组合总和、40、组合总和 II、131. 分割回文串 39. 组合总和题目解法 40、组合总和 II题目解法 131. 分割回文串题目解法substr()用法 感悟 39. 组合总和 题目 解法 初始解法&#xff1a;出现重复组…

Faust勒索病毒:了解最新变种[nicetomeetyou@onionmail.org].faust,以及如何保护您的数据

导言&#xff1a; 在一个快节奏的数字世界中&#xff0c;我们经常忽视数据安全的重要性。然而&#xff0c;最新的勒索病毒——[nicetomeetyouonionmail.org].faust、[support2022cock.li].faust、[tsai.shenmailfence.com].faust 、[Encrypteddmailfence.com].faust、[Deciphe…

哪些业务行为是否属于数据出境?

国家互联网办公室出台的《数据出境安全评估申报指南&#xff08;第一版&#xff09;》明确了“数据出境活动”的定义&#xff0c;即包括三种情况&#xff1a; &#xff08;一&#xff09;数据处理者将在境内运营中收集和产生的数据传 输、存储至境外&#xff1b; &#xff08…

Vue打包问题汇总:legacy、runtime.js

问题一&#xff1a;Vue3.x的版本中build后dist文件中出现legacy的js文件 解决办法是添加兼容的浏览器 package.json "browserslist": ["> 1%","last 2 versions","not dead","not ie 11" ]参考 Vue3.x的版本中build后…

Java学习笔记18——深入学习字符串

任何语言&#xff0c;编写的所有应用&#xff0c;大概都会用到大量字符串&#xff0c;以及对字符串进行处理&#xff0c;Java语言中&#xff0c;对与字符串的处理和Python等语言中不同。昨天学习JDBC内容&#xff0c;编写的一个类中比较两个字符串变量值&#xff0c;没有注意到…