当前位置: 首页 > news >正文

【刷题笔记】cf808f

CF803F

场上死磕无法战胜,原来是个绿题吗哈哈。
考虑到跟序列的顺序无关,直接在值域上做。我们设 \(f_i\) 表示 \(\gcd = i\) 的方案数。那么有

\[f_i = 2^{g_i} - 1 - \sum_{i | d \land i \ne d} f_d \]

\(g_i\) 是原序列中是 \(i\) 倍数的个数。那么调和级数 \(O(V\log V)\) 预处理 \(g\),同复杂度计算 \(f\),答案是 \(f_1\)

#include<bits/stdc++.h>
#define _fo(a, b, c) for(int b = a; b >= c; b--)
#define fo(a, b, c) for(int b = a; b <= c; b++)
#define mod 1000000007
#define N 100010
using namespace std;
int cnt[N], a[N], n, p[N], f[N], Max;
int main(){ios::sync_with_stdio(0);cin.tie(0); cout.tie(0);cin >> n;fo(1, i, n) cin >> a[i], cnt[a[i]]++, Max = max(Max, a[i]);p[0] = 1;fo(1, i, n) p[i] = p[i - 1] * 2 % mod;_fo(Max, i, 1){int sum = 0;for(int j = i; j <= Max; j += i) sum += cnt[j];f[i] = (p[sum] - 1 + mod) % mod;for(int j = i * 2; j <= Max; j += i) f[i] = (f[i] - f[j] + mod) % mod;}cout << f[1];return 0;
}
http://www.rkmt.cn/news/3130.html

相关文章:

  • C# 操作 DXF 文件指南
  • 玩转n8n测试自动化:核心节点详解与测试实战指南
  • (笔记)多项式基础 FFT
  • MySqlException: Incorrect string value: \xE6\x99\xBA\xE8\x83\xBD... for column FieldName at row 1
  • Burp Suite Professional 2025.9 发布 - Web 应用安全、测试和扫描
  • 征稿倒计时3天/武汉科技大学主办/医学人工智能/现可享优惠
  • 生成更智能,调试更轻松,SLS SQL Copilot 焕新登场!
  • NOI linux使用教程
  • springboot 文件处理框架
  • 将 seata 2.5 发布到私服
  • 一些感悟
  • 五款免费低代码平台深度横评:斑斑、简道云、宜搭、氚云、织信如何选?
  • 从需求出发:教你判断选斑斑还是织信
  • python如何在函数中使用全局变量?
  • C++ - STL - 键值对pair
  • 第四天学习:LSTM
  • MATLAB的稀疏自编码器实现
  • 题解:P2157 [SDOI2009] 学校食堂
  • vue3 与 element-plus
  • 第二周作业
  • 代码随想录算法训练营第一天| 704.二分查找、27.移除元素、977.有序数组的平方
  • 强制横屏 ios
  • 张量链式法则(下篇):揭秘Transpose、Summation等复杂算子反向传播,彻底掌握深度学习求导精髓!
  • 美客分销商城小程序系统介绍
  • C++ - STL - 静态数组array
  • C++ - STL - 集合set(元素具有排他性)
  • 批量删除所有 LXC 容器以及用户名
  • C++ - STL - 动态数组vector(矢量)
  • mt_12
  • 完整教程:【QT】-怎么实现瀑布图