CCPC Harbin

news/2024/9/30 21:09:07

GYM 104813 B

题目描述

给定一个数列 \(A\),你要对每个 \(\sum \limits_{j=1}^i 2^{j-i}\cdot A_j\) 判断其正负性。

思路

首先我们可以让其变为 \(\sum \limits_{j=1}^i 2^{j-1}\cdot A_j\),这里介绍一种叫做平衡三进制的做法。

平衡三进制类似于二进制,不同的是,其中一位上可以是 \(-1\)。平衡三进制的优点是可以不用处理退位的问题,只需进位。我们用 set 记录哪些位上不为 \(0\) 和其值。判断正负性只需看最高位即可。

空间复杂度 \(O(N)\),时间复杂度 \(O(N\log N\log A_i)\)

思路

#include<bits/stdc++.h>
using namespace std;
using pii = pair<int, int>;const int MAXN = 100001;int n;
set<pii> s;void add(int p, int x) {auto it = s.lower_bound({p, -1});if(it != s.end() && it->first == p) {int v = it->second + x;s.erase(it);if(v == 2) {add(p + 1, 1);}else if(v == -2) {add(p + 1, -1);}}else {s.insert({p, x});}
}int main() {ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);cin >> n;for(int i = 1, x; i <= n; ++i) {cin >> x;for(int j = 0; j <= 30; ++j) {if((abs(x) >> j) & 1) {add(j + i - 1, max(-1, min(1, x)));}}if(s.empty()) {cout << 0;}else {int x = prev(s.end())->second;cout << (x > 0 ? '+' : '-');}}return 0;
}

GYM 104813 D

题目描述

我们定义正整数 \(x\) 的质因子数量为 \(\omega (x)\)。我们把正整数看做结点,那么结点 \(x,y\) 之间有一条边权为 \(\omega(\operatorname{lcm}(x,y))\) 的边。求仅包含结点 \(l,l+1,\dots,r\) 的子图的最小生成树。

思路

首先 \(\omega(\operatorname{lcm}(x,y))=\omega(x)+\omega(y)-\omega(\gcd(x,y))\)。所以我们可以枚举 \(\gcd=x\)。接着我们枚举 \(x\) 的倍数 \(y\),找到

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

[初中]我学不好语文,还能学好道法吗?

可以 首先放出我在同时期(八下期末)的语文和道法答题卡:看出来了吧,我的字不行 我觉得,道法像是“简单版”的语文 它也有答题模板,但使用的方法差异极大: 在道法中有一种口号类的题目,模板是做法+意义,这时只需根据材料内容,结合所学知识,默写出相关“为什么类”知识…

黄金

黄金这波涨势 要看3-5是否走完

『模拟赛』CSP-S模拟7(更新 T4

『模拟赛记录』CSP-S模拟5Rank 烂A. median 签。 你说得对,但是赛时嗯打 150 行 5k 代码超级分讨过了。 因为容斥做的不好,求总的然后减总会差点东西,所以直接分着加。发现如果中位数在这五个数中不止出现一次那么就会算重,所以分三种大情况考虑。 一,中位数只有一个。那么…

微积分快速入门5部分:基本算术、规律及花式算术

12 微积分的基本算术 12.1 加法12.2 乘法12.3 简单除法(倒数)你们原来的份额是 1/x(当 x=2 时,你有 1/2)。 有人进来 你的新份额变成1/(x+1)你的蛋糕数量是如何变化的?在求出总变化(及其恼人的代数)后,我们除以 dx,就得到了 “每 dx ”的变化:现在,我们去掉剩余的 d…

pbootcms常用的13个IF判断语句大全汇总

PBootCMS 提供了丰富的模板标签和条件判断功能,帮助开发者实现各种动态效果。以下是常用的 13 个 IF 判断语句及其具体应用示例。 1. 导航高亮 用途: 用于非首页的导航高亮。 语法:html{pboot:if([nav:scode]=={sort:tcode})}class="active"{/pboot:if}完整示例:…

残基和原子

从您提供的 aa_feature 类的截图信息来看,以下是对 aa_feature 类中各个属性的整理: 主要属性说明aa_embedding:residue_embedding: 一个嵌入层,形状为 (25, 64),用于表示氨基酸残基的嵌入。 res_pos_embedding: 一个嵌入层,形状为 (192, 64),用于表示氨基酸残基的位置嵌…

Windows下安装Nessus 10.8.3安装破解教程

1、下载: 下载地址:https://www.tenable.com/downloads/nessus 浏览器访问 https://127.0.0.1:8834 重点:Register offline,选择“Managed Scanner”, 再选择 “Tenable security center”,最后一步设置账号密码,账号密码没要求。 ​​ 2、获取插件包 2.1在命令行模式下(…