2024.7.8

2024.7.8 【追逐影子的人,自己就是影子 —— 荷马】

Monday 六月初三


讲的根本听不懂好吧!

目前只写了三道题(但是黑色

确实是没见过这么抽象的数据结构

Gregor and the Two Painters
Number of Components
Equal LCM Subsets

这个lcm确实让我印象深刻,

第一次把一个数学+数据结构写成这样

//2024.7.8
//by wite_ice
//Equal LCM Subsets
#include <bits/stdc++.h>
using namespace std;
const int N = 1001;
typedef pair<int, int> p;
typedef __int128 ll;int T, n, m;
int c[2], sz[2];
ll a[2][N], d[2][N];inline ll read(){ll ans = 0;char ch = getchar();while (ch < '0' || ch > '9')ch = getchar();while (ch >= '0' && ch <= '9'){ans = ans * 10 + (ch ^ 48);ch = getchar();}return ans;
}void write(ll n){if (n >= 10) write(n / 10);putchar(n % 10 + '0');}struct tree{ll s[N * 4], sum;void build(int x, int l, int r, ll a[]) {if(l == r) {s[x] = sum / __gcd(sum, a[l]);return ;}int mid = (l + r) >> 1;build(x << 1, l, mid, a);build(x << 1 | 1, mid + 1, r, a);s[x] = __gcd(s[x << 1], s[x << 1 | 1]);}void change(int x, int l, int r, int p) {if(l == r) {s[x] = 0;return ;}int mid = (l + r) >> 1;if(p <= mid) change(x << 1, l, mid, p);else change(x << 1 | 1, mid + 1, r, p);s[x] = __gcd(s[x << 1], s[x << 1 | 1]);}ll work() {return s[1];}
}t[2][N];int main() {cin >> T;while(T--) {cin >> n >> m;for(int i = 1; i <= n; ++i)a[0][i] = read(), d[0][i] = 0;for(int i = 1; i <= m; ++i)a[1][i] = read(), d[1][i] = 0;c[0] = c[1] = 0, sz[0] = n, sz[1] = m;queue <p> q;for(int k = 0; k <= 1; ++k) for(int i = 1; i <= sz[k]; ++i) {t[k][i].sum = a[k][i], t[k][i].build(1, 1, sz[k ^ 1], a[k ^ 1]);if(t[k][i].work() > 1) q.push({k, i}), d[k][i] = 1, ++c[k];}while(q.size()) {p x = q.front(); q.pop();int f = (x.first) ^ 1;for(int i = 1; i <= sz[f]; ++i) {if(!d[f][i]) {t[f][i].change(1, 1, sz[f ^ 1], x.second);if(t[f][i].work() > 1) q.push({f, i}), d[f][i] = 1, ++c[f];}}}if(c[0] == sz[0] || c[1] == sz[1]) cout << "NO" << endl;else {cout << "YES" << endl << sz[0] - c[0] << ' ' << sz[1] - c[1] << endl;for(int i = 1; i <= n; ++i) if(!d[0][i]) write(a[0][i]), putchar(' ');cout << endl;for(int i = 1; i <= m; ++i)if(!d[1][i]) write(a[1][i]), putchar(' ');cout << endl;}}
}

不过对线段树的理解加深了不少,理解了很多之前未曾设想的用法

理解了一些方法,比如钦定某个点为代表元,之后向四周遍历

或者使用类似染色的思想,简化问题

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

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

相关文章

医疗器械网络安全| 常见安全漏洞与防护措施

医疗器械网络安全顾问​https://link.zhihu.com/?targethttps%3A//www.wanyun.cn/Support%3Fshare%3D24315_ea8a0e47-b38d-4cd6-8ed1-9e7711a8ad5e 一、常见安全漏洞 医疗器械软件在现代医疗体系中扮演着至关重要的角色&#xff0c;然而&#xff0c;随着技术的不断发展&…

关于centos7自带的nginx1.20.1开启https后,XP系统的IE6和IE8无法显示网页的问题

CentOS7自带的nginx-1.20.1是支持HTTP/2和TLS1.3的。 软件包名称&#xff1a;nginx-1.20.1-10.el7.x86_64 CentOS7默认开启了HTTP/2&#xff0c;但没有开启TLS1.3&#xff0c;以及IE6和IE8的https访问。 开启方法&#xff1a; ssl_ciphers HIGH:!aNULL:!MD5;改为ssl_ciphers…

基于Scikit-learn的情感分析:智能客户反馈分析

基于Scikit-learn的情感分析示例&#xff0c;用于构建一个智能客户反馈分析系统。这个系统包括数据预处理、模型训练和预测步骤。 数据准备 首先&#xff0c;准备你的数据集。假设我们有一个CSV文件&#xff0c;其中包含客户反馈和相应的情感标签&#xff08;正面或负面&…

【Word】快速对齐目录

目录标题 1. 全选要操作的内容 → 右键 → 段落2. 选则制表位3. 配置制表符4. Tab键即可 1. 全选要操作的内容 → 右键 → 段落 2. 选则制表位 3. 配置制表符 4. Tab键即可

36.哀家要长脑子了!--前缀和差分

前缀和 1.一维的795. 前缀和 - AcWing题库 前缀和公式 s[i] a[1] a[2] a[3] ... a[i] 即 s[i] s[i-1] a[i] #include<iostream> using namespace std;const int N 1e5 10; int a[N], s[N];int main(){int m, n;cin >> n >> m;for(int i 1; i <…

Elasticsearch基础(三):Elasticsearch核心原理介绍

文章目录 Elasticsearch核心原理介绍 一、基本概念 1、集群&#xff08;cluster&#xff09; 2、节点&#xff08;node&#xff09; 3、索引&#xff08;index&#xff09; 4、类型&#xff08;type&#xff09; 5、映射&#xff08;mapping&#xff09; 二、 Elastic…

LabVIEW开发高灵敏静电计

开发了一套基于LabVIEW平台的高灵敏静电计控制软件&#xff0c;用于提升闪烁薄膜探测器在中子和伽马射线探测中的灵敏度标定精度。传统的标定方法存在数据准确性不高和操作复杂性高的问题&#xff0c;因此开发这款软件解决这些挑战&#xff0c;通过自动化控制和高效的数据处理&…

Windows下载、配置Java JDK开发环境的方法

本文介绍在Windows电脑中&#xff0c;安装JDK&#xff08;Java Development Kit&#xff09;&#xff0c;也就是Java开发工具包的详细方法。 JDK是Java软件开发的基础&#xff0c;由Oracle公司提供&#xff0c;用于构建在Java平台上运行的应用程序与组件等&#xff1b;其已经包…

[C++]入门基础(1)

Hello大家好&#xff0c;今天通过本篇文章&#xff0c;我们来初步学习C&#xff0c;C可以说是对C语言的一个升级&#xff0c;我们会一步一步的由浅入深的学习C。 目录 1.第一个C程序 2.命名空间 2.1 命名空间出现的意义 2.2 namespace的定义 2.3 命名空间的使用 3.C输入…

亚信安全:《2024云安全技术发展白皮书》

标签 云计算 安全威胁 云安全技术 网络攻击 数据保护 一句话总结 《云安全技术发展白皮书》全面分析了云计算安全威胁的演进&#xff0c;探讨了云安全技术的发展历程、当前应用和未来趋势&#xff0c;强调了构建全面云安全防护体系的重要性。 摘要 云安全威胁演进&#xff…

c#第五次作业

目录 1. 实现通用打印泛型类&#xff0c;可以打印各个集合中的值&#xff0c;方便调试 2. 计算遍历目录的耗时 3. 有哪些算术运算符&#xff0c;有哪些关系运算符&#xff0c;有哪些逻辑运算符&#xff0c;有哪些位运算符&#xff0c;有哪些赋值运算符 1&#xff09;算术运算…

电商数据仓库

目录 1.数据仓库的数据来源为业务数据库&#xff08;mysql&#xff09; 初始化脚本 2.通过sqoop将mysql中的业务数据导入到大数据平台&#xff08;hive&#xff09; 在hive中建立映射的数据库 导入数据 3.通过hive进行数据计算和数据分析 形成数据报表 补全用户信息表中的…

【密码学】流密码的基本概念

在介绍流密码之前&#xff0c;我们先来弄明白一个基础前置知识点——异或运算。 一、异或运算&#xff08;XOR&#xff09; 运算规则&#xff1a;相同为0&#xff0c;不同为1 特点&#xff1a;一个比特进行两次异或运算&#xff0c;可以恢复成原来的比特。 明文&#xff1a;110…

降Compose十八掌之『飞龙在天』| Layout

公众号「稀有猿诉」 原文链接 降Compose十八掌之『飞龙在天』| Layout 页面布局是GUI应用开发的核心&#xff0c;决定着一个UI具体如何实现。今天将延着路线图来练习『降Compose十八掌』的第二招式&#xff0c;学习一下如何使用Compose中的布局来构建页面。 基础骨架 基…

Android Gradle 开发与应用 (六): 构建优化与性能调优

目录 1. Gradle构建基础 2. 构建优化策略 3. 性能调优技术 4. 大型项目的构建优化 4.2.1 优化依赖管理 4.2.2 启用并行和守护进程 4.2.3 使用增量构建和缓存 5. 高级优化技巧 6. 常见问题和解决方案 7. 总结与展望 在Android开发中&#xff0c;Gradle是一个强大的构建…

Linux修改配置文件后无法使用命令或无法进入桌面

如果你是修改了配置文件&#xff0c;如 sudo vim /etc/profile重启无数次发现无法进入桌面&#xff0c;不要着急重装系统&#xff01;&#xff01;&#xff0c;怎么造成的怎么改就行了 以下方案需要root密码&#xff0c;忘记密码详见&#xff1a;Linux忘记root密码怎么办 一…

Jenkins教程-15-常用插件-Blue Ocean

上一小节我们学习了Jenkins定时任务构建的方法&#xff0c;本小节我们讲解一下Jenkins常用插件Blue Ocean的使用方法。 Blue Ocean 提供了一套可视化操作界面来帮助创建、编辑 Pipeline 任务。 Blue Ocean 特性&#xff1a; 流水线编辑器&#xff1a;用于创建贯穿始终的持续交…

游戏软件缺少d3dx9_42.dll怎么修复?五种方法助你轻松解决

D3DX9_42.dll的丢失是一种常见的操作系统异常问题&#xff0c;由于日常使用电脑时的不当操作&#xff0c;可能会导致一些dll文件的丢失&#xff0c;D3DX9_42.dll就是其中之一。对于这种情况&#xff0c;我们可以通过谨慎的修复来解决。以下是一种科学的解决D3DX9_42.dll丢失的方…

小白学C++(第一天)基础入门

温馨提醒&#xff1a;本篇文章&#xff0c;请各位c基础不行的童鞋不要贸然观看 C的第一个程序 第一个关键字namespace namespace 是定义空间的名字的关键字&#xff0c;使用格式格式如下&#xff1a; namespace 空间名 { } 其中{ }内的命名空间的成员&#xff0c;可以定义…

Ubuntu系统时间同步

输出当前系统时间命令 date查看时钟是否与互联网同步 timedatectl如果时钟不同步会显示&#xff1a; System clock synchronized: no重启服务&#xff08;需要sudo权限&#xff09; systemctl restart systemd-timesyncd.service