首页 > 其他分享 >2022.10.27

2022.10.27

时间:2024-10-22 14:22:32浏览次数:8  
标签:lfloor 27 frac limits sum rfloor right 2022.10

CSP-S寄了,被 COVID-19 定点打击。

练习情况

P1402 酒店之王

P1231 教辅的组成

P2891 [USACO07OPEN]Dining G

最大流,关键在建图,以 P1402 为例。

一开始我是这样建的。

源点 -> 房间 -> 客人 -> 菜品 -> 汇点

看起来没有问题,但实际上这有很大问题。

如:

这样的图,一个人就贡献了 2 次。

所以我们将人拆成入点与出点。

Code:

P1402


P3455 [POI2007]ZAP-Queries

莫比乌斯反演入门第一题。

求: \(\displaystyle\sum\limits_{i=1}^a\sum\limits_{j=1}^b[\gcd(i,j)=d]\)

开始推柿子。

我们设 \(a\le b\) 。

\(\displaystyle\sum\limits_{i=1}^a\sum\limits_{j=1}^b[\gcd(\frac{i}{d},\frac{j}{d})=1]\)

\(\displaystyle\sum\limits_{i=1}^{\left\lfloor\frac{a}{d}\right\rfloor}\sum\limits_{j=1}^{\left\lfloor\frac{b}{d}\right\rfloor}[\gcd(i,j)=1]\)

运用反演 \(\ \ \displaystyle[\gcd(i,j)=1]=\sum\limits_{d\mid\gcd(i,j)}\mu(d)\)

\(\displaystyle\sum\limits_{i=1}^{\left\lfloor\frac{a}{d}\right\rfloor}\sum\limits_{j=1}^{\left\lfloor\frac{b}{d}\right\rfloor}\sum\limits_{k\mid\gcd(i,j)}\mu(k)\)

枚举 \(k\) 得

\(\displaystyle\sum\limits_{k=1}^{\left\lfloor\frac{a}{d}\right\rfloor}\mu(k) * \left\lfloor\frac{a}{dk}\right\rfloor * \left\lfloor\frac{b}{dk}\right\rfloor\)

后面一坨可以用数论分块降低复杂度。

Code:

#include<bits/stdc++.h>
using namespace std;
#define LL long long
#define Ld long double
const int N = 50005,M=1000005;

LL t,a,b,d,prime[N],vis[N],cnt,mu[N],sum[N];

void mobius(LL n){
    mu[1]=1;
    for(LL i=2;i<=n;i++){
        if(!vis[i]) prime[++cnt]=i,mu[i]=-1;
        for(int j=1;prime[j]<=n/i;j++){
            vis[prime[j]*i]=1;
            if(i%prime[j]==0){
                break;
            }
            mu[i*prime[j]]=-mu[i];
        }
    }
    for(int i=1;i<=n;i++){
        sum[i]=sum[i-1]+mu[i];
    }
    return ;
}

int main(){
    t=read();
    mobius(N-5);
    while(t--){
        a=read(),b=read(),d=read();
        LL ans=0;
        a/=d,b/=d;
        if(a>b) swap(a,b);
        for(LL l=1,r;l<=a;l=r+1){
            r=min(a/(a/l),b/(b/l));
            ans+=(a/l)*(b/l)*(sum[r]-sum[l-1]);
        }
        print(ans);
    }
    return 0;
}

标签:lfloor,27,frac,limits,sum,rfloor,right,2022.10
From: https://www.cnblogs.com/xingke233/p/18492626

相关文章

  • 2022.10.20
    练习情况P3601签到题有意思的题目,先筛出\(10^6\)的质数,每个质数对\(l\)~\(r\)的贡献。每个质数在\(l\)~\(r\)下界是\((\dfrac{(l-1)}{P}+1)P\)可以用分块思想理解Code:for(LLi=1;prime[i]*prime[i]<=r;i++){for(LLj=((l-1)/prime[i]+1)*prime[i];j<=......
  • 2022.10.17
    练习情况P1040[NOIP2003提高组]加分二叉树区间dp,枚举区间加子树的根并记录。Code:P1040P4933大师\(O(n^2)\)的dp,枚举在\(i\)之前的\(j\)与其的公差。公差为负的情况,将所有公差加上一个正数。Code:P4933P2832行路难一眼最短路,结果假了。正解\(BFS\)加......
  • CVE-2023-2766
    一.漏洞描述泛微E-Office是一款企业级的全流程办公自动化软件,它包括协同办公、文档管理、知识管理、工作流管理等多个模块,涵盖了企业日常工作中的各个环节。该产品configfile存在信息泄露二.漏洞影响版本E-Office9.5三.网络空间测绘查询fofaapp="泛微-Eoffice"四.......
  • Pyrene-PEG3-Propargyl|cas:2752164-04-6|Propargyl PEG3 Pyrene|芘甲酰胺-三聚乙二醇-
    Pyrene-PEG3-Propargyl,中文名称为芘甲酰胺-三聚乙二醇-丙炔,以下是对其的详细介绍:一、基本信息英文名称:Pyrene-PEG3-Propargyl别名:PropargylPEG3PyreneCAS号:2752164-04-6分子式:C26H25NO4分子量:415.49纯度:通常95%,适用于科研实验外观:淡黄色或白色固体,具体形态可能因PEG分子量......
  • 历年CSP-J初赛真题解析 | 2017年CSP-J初赛完善程序(27-36)
    学习C++从娃娃抓起!记录下CSP-J备考学习过程中的题目,记录每一个瞬间。附上汇总贴:历年CSP-J初赛真题解析|汇总_热爱编程的通信人的博客-CSDN博客(快速幂)请完善下面的程序,该程序使用分治法求x......
  • LeetCode题练习与总结:区间和的个数--327
    一、题目描述给你一个整数数组 nums 以及两个整数 lower 和 upper 。求数组中,值位于范围 [lower,upper] (包含 lower 和 upper)之内的 区间和的个数 。区间和 S(i,j) 表示在 nums 中,位置从 i 到 j 的元素之和,包含 i 和 j (i ≤ j)。示例1:输入......
  • 10.21 ~ 10.27
    10.21Day-4快CSP啦……话说真的应该这么早就开始记“Dayx”吗为啥这几天这么冷啊要冻死了......
  • 27. 移除元素
    题目这道题通过是通过了,但是有很多可以改进的地方:附上本人第一次写通过的代码:/*slow的作用:作为慢指针,职责是找到val所在的位置quick的作用:作为快指针,职责是找到第一个可以和slow所指的元素互换位置的元素*/classSolution{public:intremoveElement(vector<int>......
  • 讲解LeetCode第227题:基本计算器||(完整代码)
    LeetCode第227题:基本计算器||题目介绍方法一:数组模拟栈完整代码展示核心原理演示代码片段解释片段一:片段二:片段三:片段四:片段五:......
  • 2024-2025-1 20241327 《计算机基础与程序设计》第四周学习总结
    作业信息|2024-2025-1-计算机基础与程序设计)||--|-|2024-2025-1计算机基础与程序设计第四周作业)||快速浏览一遍教材计算机科学概论(第七版),课本每章提出至少一个自己不懂的或最想解决的问题并在期末回答这些问题|作业正文|https://www.cnblogs.com/shr060414/p/18440575|教......