bzoj3529 - 莫比乌斯反演

第一篇:常见CAN错误帧及其排查方向 在本文中主要阐述各类错误帧的形成原因以及在使用同星硬件设备出现错误帧时,应当 如何进行排查并消除错误帧。在 CAN 总线通信中,通常遇见的错误帧主要为以下五种,其 分别是:bit error、ACK error、stuff error、CRC error 以及 form error。 阅读详情

bzoj3529

参考PoPoQQQ神的莫比乌斯反演ppt

取模利用自然溢出int 最后再对2^31-1取与。不然会超时QAQ。
hello

写代码传参数的时候传炸了。。调试了极久

#include <bits/stdc++.h>

using namespace std;

typedef long long LL;


const int N = 1e5+10;
int M;
int prime[N],tot;
int mu[N];

void Mu()
{
    mu[1]=1;
    for (int i=2;i<N;i++){
        if (!prime[i]){
            prime[++tot] = i;
            mu[i]=-1;
        }
        for (int j=1;prime[j]*i<N;j++){
            prime[ prime[j]*i ] = 1;
            if (i%prime[j]==0){
                mu[ prime[j]*i ] = 0;
                break;
            }
            mu[ prime[j]*i ] = -mu[i];
        }
    }
    //for (int i=1;i<100;i++) printf("%d %d\n",i,mu[i]);
}
struct Node{
    int v;
    int id;
    Node(){}
    Node(int id,int v):id(id),v(v){}
    bool operator <(const Node&a)const{
        return v<a.v;
    }
};
struct Query{
    int n,m;
    int a;
    int ans;
    int id;
    Query(){}
    Query(int n,int m,int a,int id):n(n),m(m),a(a),id(id){}
};
bool cmp1(Query a,Query b){return a.a<b.a;}
bool cmp2(Query a,Query b){return a.id<b.id;}
Query Q[N];
Node f[N];
int T[N];
void getF(){
    for (int i=1;i<N;i++){
        for (int j=i;j<N;j+=i){
            f[j].v+=i;
        }
        f[i].id=i;
    }
    //for (int i=1;i<10;i++) printf("%d %d\n",i,f[i]);
}
void add_T(int x,int v)
{
    for (;x<N;x+=x&(-x)) T[x]+=v;
}
void add(int id,int v)
{
    for (int x=id;x<N;x+=id){
        add_T(x,v*mu[x/id]);
    }
}
int sum_T(int x){
    int ans=0;
    for (;x;x-=x&(-x))ans+=T[x];
    return ans;
}
int calc(int n,int m){
    if (n>m)swap(n,m);
    int last=0;
    int ans=0;
    for (int i=1;i<=n;i=last+1){
        last=min(n/(n/i),m/(m/i));
        ans+=(n/i)*(m/i)*(sum_T(last)-sum_T(i-1));
    }
    return ans;
}
int main()
{
    freopen("1.txt","r",stdin);
    freopen("test.txt","w",stdout);
    for (int i=0;i<=30;i++) M = M | (1<<i);
    Mu();getF();
    int Case;scanf("%d",&Case);
    for (int i=1;i<=Case;i++){
        scanf("%d%d%d",&Q[i].n,&Q[i].m,&Q[i].a);
        Q[i].id = i;
    }
    sort(Q+1,Q+Case+1,cmp1);
    sort(f+1,f+N);

    int fn=1;
    int ans=0;
    for (int i=1;i<=Case;i++){
        while (fn<N && (f[fn].v <= Q[i].a)){
            add(f[fn].id,f[fn].v);
            fn++;
        }
        Q[i].ans=calc(Q[i].n,Q[i].m);
    }
    sort(Q+1,Q+Case+1,cmp2);
    for (int i=1;i<=Case;i++)  printf("%d\n",Q[i].ans&M);
    return 0;
}
TSMC65nm工艺下Virtuoso仿真gm-id曲线的保姆级教程(含ADE设置详解) 本文提供了一份在TSMC 65nm工艺下使用Cadence Virtuoso绘制gm-id曲线的详细教程。内容涵盖从理解gm/id方法学、搭建仿真环境、深度解析ADE设置,到运行DC仿真、提取数据并生成对数坐标曲线的完整流程。教程重点解析了Virtuoso ADE中的关键设置与常见避坑点,旨在帮助模拟集成电路设计初学者快速掌握这一核心设计工具,为高性能电路设计奠定基础。 阅读详情

相关推荐

Multisim的探针(Probe)及数字电路的一些调试技巧的应用

Multisim的探针(Probe)及数字电路的一些调试技巧的应用 --EE Bang   By  WRS 上图为555方波发生器,根据R1,R2,C2参数的配置可产生频率为46.3KHZ,占空比50%的方波信号,如果用示波器查看波形参数的话需要用两个坐标轴做差,操作不便,另外如果要修改电路将上述电阻换成滑动变阻器的话,使其产生可变频率

Agent Christmas的博客 3万+

bzoj3529(莫比乌斯反演+树状数组)

Description 有一张 n×m 的数表,其第 i 行第 j 列(1 &amp;amp;amp;lt;= i &amp;amp;amp;lt;= n, 1 &amp;amp;amp;lt;= j &amp;amp;amp;lt;= m)的数值为 能同时整除 i 和 j 的所有自然数之和。给定 a , 计算数表中不大于 a 的数之和。 Input 输入包含多组数据。 输入的第一行一个整数Q表示测试点内的数据组数 接下来Q行,每行三个整数n,m,a(|a| &a

a1035719430的博客 319

Win10家庭版如何添加本地用户和组

在众多Windows版本中,Windows 10以其丰富的功能和卓越的性能吸引了大量用户。然而,对于使用Win10家庭版的用户来说,他们可能会遇到一些功能上的限制,特别是在用户和组管理方面。虽然家庭版在某些高级功能上有所缩减,但我们仍然可以通过一些技巧来实现对本地用户和组的管理。本文将详细介绍如何在Win10家庭版中添加本地用户和组,以便用户能够更好地管理计算机资源。

nntxthml的博客 4555

BZOJ3529: [Sdoi2014]数表

对一个没问题的程序看半天才发现公式打错了我怎么又把×打成+了…. Mod 2^31 可以利用int的自然溢出,最后&(2^31-1)—–PoPoQQQ 这题我公式好像有多种推法但是能保证不大于a的条件的好像只有一种离线处理询问,要计算不大于a的,将询问按a排序,推出一个和每个位置权值有关的函数按照从小到大插值 先不考虑a的限制,但最后推得的式子要有方法能确保对于每个询问计算的是不大于a的和

L_0_Forever_LF的专栏 522

oh-my-zsh详细安装与主题插件配置

使用Linux的小伙伴都知道默认shell是bash,但是对于喜欢折腾,喜欢酷炫的我们bash怎能够用。zsh的作为一种shell,功能更强大,但是配置复杂。后来,有大佬创建了一个名为oh-my-zsh的开源项目,使用方便,功能强大。 下面就去oh-my-zsh的配置。 ①安装zsh 想要安装oh-my-zsh,首先得安装zsh,输入命令 sudo apt-get install zsh 界面如下 ②查看是否安装成功 输入命令 zsh --version 可以查看安装zsh的版本..

惜洛-Jankin的博客 2万+

领域驱动设计整理——实体和值对象设计

实体引言在领域驱动设计里,实体的设计可以说是通用语言的核心,也是最开始在模型划分中需要考虑的。怎么样设计实体和怎么样划分限界上下文同样重要。实体的概念就是要保证通用语言的完整性。领域驱动让设计实体的关注点从数据的属性和表的关联转化到了富有行为的领域概念上。 实体是具有可变性的,这是一个和值对象比较明显的区分,也即实体是可以持续得变化,持续得修改,并且具有唯一的标识。在设计实体的时候需要跳出CRUD的

马猴烧酒└(┐卍^o^)卍ドゥルルル~楪詩月「YUZURIHA SHIZUKI」 2万+

BZOJ 3529 数表 (莫比乌斯反演+树状数组)*

题目链接:https://cn.vjudge.net/problem/HYSBZ-3529 #include&lt;bits/stdc++.h&gt; using namespace std; #define debug puts("YES"); #define rep(x,y,z) for(int (x)=(y);(x)&lt;(z);(x)++) #define read(x,y) sc...

满月照亮的路 285

Mission Planner连接Autopilot保姆级教程:从USB到无线全搞定

本文提供Mission Planner连接Autopilot的全面指南,涵盖USB直连、无线数传、蓝牙适配等多种连接方案。详细讲解驱动安装、波特率匹配、性能优化等关键步骤,并分享多链路冗余配置与故障转移的高阶技巧,助你快速解决连接问题。

weixin_28455801的博客 376

BZOJ3529

来自蒟蒻XXJ的做题记录 日常%%%%PoPoQQQ dalao dalao ppt 传送门:http://wenku.baidu.com/view/fbec9c63ba1aa8114431d9ac.html PS:我下次再写错 位运算 就吃X #include<bits/stdc++.h> using namespace std; const int MAXN=100010; int...

weixin_30556959的博客 214

Windows Server安装Intel I219-V网卡驱动完整教程

在Windows Server系统上安装Intel I219-V网卡驱动的方法。

小白成长历程 5172

Simulink仿真模块-Signal Generator

Signal Generator:生成各种波形 所在的位置库为:Simulink / Sources 模型为: 说明 Signal Generator模块可以产生四种不同波形: 正弦波 方波 锯齿波 随机 可以使用 hertz 或 rad/sec 为单位表示信号参数。双击模型可以选择需要生成的波形,如图所示: 使用默认参数值,可以获得下列波形之一: 波形 波形输出 正弦波 ...

jk_101的博客 2652

【BZOJ3529】数表(莫比乌斯反演,树状数组)

题解首先不管AA的范围的限制 要求的东西是 ∑i=1n∑j=1mσ(gcd(i,j))\sum_{i=1}^n\sum_{j=1}^m\sigma(gcd(i,j)) 其中σ(x)\sigma(x)表示xx的约数之和约数之和是一个积性函数,可以线性筛 具体的做法请参考皮皮亮的Blog根据常见的套路 把gcdgcd给提出来 ∑d=1nσ(d)∑i=1n∑j=1m[gcd(i,j)=d]\s

小蒟蒻yyb的博客 311

第15章 AI 产品原型设计 —— 让 AI 成为你的产品经理

理解产品需求- 将模糊的想法转化为具体的原型方案生成高质量原型- 输出符合设计规范的 HTML 原型提供设计建议- 基于 UX 最佳实践给出优化建议维护原型文档- 自动更新原型说明和变更记录。

快乐的修补匠的专栏 502

BZOJ3529: [Sdoi2014]数表 莫比乌斯反演_树状数组

BZOJ3529: [Sdoi2014]数表 莫比乌斯反演_树状数组 Code: #include &lt;cstdio&gt; #include &lt;algorithm&gt; #include &lt;cstring&gt; #define ll long long #define setIO(s) freopen(s"...

EM LGH 178

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

【BZOJ3529】[Sdoi2014]数表 莫比乌斯反演+树状数组

【BZOJ3529】[Sdoi2014]数表 Description 有一张N×m的数表,其第i行第j列(1 < =i < =礼,1 < =j < =m)的数值为能同时整除i和j的所有自然数之和。给定a,计算数表中不大于a的数之和。 Input 输入包含多组数据。 输入的第一行一个整数Q表示测试点内的数据组数,接下来Q行,...

aodanchui1057的博客 165

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

bzoj3529: [Sdoi2014]数表 莫比乌斯反演

bzoj3529: [Sdoi2014]数表 Description 有一张N×m的数表,其第i行第j列(1 < =i < =礼,1 < =j < =m)的数值为 能同时整除i和j的所有自然数之和。给定a,计算数表中不大于a的数之和。 Input 输入包含多组数据。 输入的第一行一个整数Q表示测试点内的数据组数,接下来Q行,每行三个整数n,m,a(|a| < =10^9)描述一

maxtir的博客 327

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Bzoj 3529. [Sdoi2014]数表(莫比乌斯反演)

题目大意: 题目链接 有一张 n×m 的数表,其第 i 行第 j 列(1 <= i <= n, 1 <= j <= m)的数值为能同时整除 i 和 j 的所有自然数之和。给定 a , 计算数表中不大于 a 的数之和。 多组询问 题目思路: 写题时看的是这篇博客:BZOJ 3529 SDOI2014 数表 莫比乌斯反演+树状数组 令F[i]F[i]F[i]为iii的约数和,num[i]num[i]num[i]为最大公约数为iii的个数 如果不看aaa的限制,其实这道题,计算的仅仅是an

trouble_的博客 156

BZOJ3529 SDOI2014 数表 莫比乌斯反演+树状数组

题意:T组询问,每组询问给出N,M,a,有一张N×m的数表,其第i行第j列(1≤i≤N,1≤j≤M)的数值为能同时整除i和j的所有自然数之和。给定a,计算数表中不大于a的数之和。 题解: 首先我们预处理出来所有数的约数和,也就是F函数,定义g(i)=1到N和1到M中gcd含有i这个因子的组数,这玩意等于啥我就不多提了,不知道的话建议去做一下2301。 接下来就全是套路了——枚举因数...

a18700013354的博客 197

[BZOJ3529][Sdoi2014]数表 && 莫比乌斯反演+树状数组

因为这个好好地复习了一下莫比乌斯反演 结果才发现这是自己的第一篇莫比乌斯反演 具体内容太长了 写了两页草稿纸 想看就去orz一下PoPoQQQ大爷吧 传送门http://blog.youkuaiyun.com/popoqqq/article/details/42076231 #include #include #include #include #include #define SF scanf #de

shiyukun1998的专栏 619

【BZOJ3529】数表,莫比乌斯反演+BIT

.

xiaoyimi的博客 668

[BZOJ3529][莫比乌斯反演][树状数组]SDOI2014:数表

BZOJ3529 要求的是约数和 如果没有a的限制,直接反演就完了 有a的限制的话,把询问按a排序,用树状数组维护约数和乘上μ\muμ的前缀和即可 Code: #include<bits/stdc++.h> #define mod 2147483648 #define ll long long using namespace std; inline int read(){ int r...

romiqi 226

【BZOJ3529】[SDOI2014] 数表(莫比乌斯反演)

点此看题面 大致题意: 规定一个\(n*m\)数表中每个数为\(\sum_{d|i,d|j}d\),求数表中不大于\(a\)的数之和。 不考虑限制 我们先不考虑限制,来推一波式子。 首先,易知数表中第\(i\)行第\(j\)列的数应该是\(\sigma(gcd(i,j))\)。 则和就为: \[\sum_{d=1}^{min(n,m)}\sigma(d)\sum_{i=1}^{\lfl...

weixin_30394251的博客 120

【莫比乌斯反演】[BZOJ3529]数表

http://www.lydsy.com/JudgeOnline/problem.php?id=3529 让我膜拜一会儿PoPoQQQ谢谢!#include <cstdio> #include <iostream> #include <cstring> #include <climits> #include <algorithm> using namespace std; const int MA

JeremyGJY的专栏 1077

BZOJ 3529 莫比乌斯反演+树状数组

Description     有一张N×m的数表,其第i行第j列(1 能同时整除i和j的所有自然数之和。给定a,计算数表中不大于a的数之和。 Input     输入包含多组数据。     输入的第一行一个整数Q表示测试点内的数据组数,接下来Q行,每行三个整数n,m,a(|a| Output     对每组数据,输出一行一个整数,表示答案模2^31的

Life 341

[BZOJ3529] [SDOI2014] 数表 - 莫比乌斯反演 - 树状数组

具体怎么反演的请看POPOQQQ大爷的莫比乌斯反演论文TATATAT 然后注意,当用到函数F(i)的时候再将函数筛入树状数组里。。 时间复杂度O(n log^2 n+q√n log n) 如果不自然溢出会慢很多TAT #include "stdio.h" #include "iostream" #include "algorithm" #include "stdlib.h" #includ

whzzt的博客 400
上一篇: BZOJ 2440 完全平方数 - 莫比乌斯反演
下一篇: 动态规划【3】之多重背包
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值