首页 > 其他分享 >CF1097F Alex and a TV Show 题解

CF1097F Alex and a TV Show 题解

时间:2024-04-16 16:34:28浏览次数:30  
标签:ch limits TV 题解 sum mu read bs CF1097F

题目链接

点击打开链接

题目解法

很牛的套路啊!

看到集合并,且只要求奇偶性的问题,第一个想到 \(bitset\)
\(1,2,4\) 操作都是好维护的,关键是第 \(3\) 个操作

看到 $\gcd $,首先想到莫反
令 \(c_{x,i}\) 为集合 \(x\) 中数 \(i\) 的出现次数
则 \(c_{x,i}=\sum\limits_{i|j}\sum\limits_{i|k}c_{y,j}c_{z,k}\times [(j,k)=i]\)
\(=\sum\limits_{j=1}\sum\limits_{k=1}c_{y,ij}c_{z,ik}\times \sum\limits_{d|j,d|k}\mu(d)\\ =\sum\limits_{d=1}\mu(d)\times (\sum\limits_{j=1}c_{y,idj})\times (\sum\limits_{k=1}c_{z,idk})\)
转化到这一步还是不好做

考虑不求 \(c_{x,i}\) 的奇偶性,而求 \(f(x,i)=\sum\limits_{i|d}c_{x,d}\) 的奇偶性
用一下莫反的基本公式,\(c_{x,i}=\sum\limits_{i|j}\mu(\frac{j}{i})f(x,j)\)
带入上面的式子可得 \(\sum\limits_{j=1}\mu(j)f(x,ij)=\sum\limits_{j=1}\mu(j)f(y,ij)f(z,ij)\)
不难推出,\(f(x,i)=f(y,i)f(z,i)\),直接按位与即可

时间复杂度 \(O(\frac{qv}{\omega})\)

#include <bits/stdc++.h>
#define F(i,x,y) for(int i=(x);i<=(y);i++)
#define DF(i,x,y) for(int i=(x);i>=(y);i--)
#define ms(x,y) memset(x,y,sizeof(x))
#define SZ(x) (int)x.size()-1
#define all(x) x.begin(),x.end()
#define pb push_back
using namespace std;
typedef long long LL;
typedef unsigned long long ull;
typedef pair<int,int> pii;
template<typename T> void chkmax(T &x,T y){ x=max(x,y);}
template<typename T> void chkmin(T &x,T y){ x=min(x,y);}
template<typename T> void read(T &FF){
    FF=0;int RR=1;char ch=getchar();
    for(;!isdigit(ch);ch=getchar()) if(ch=='-') RR=-1;
    for(;isdigit(ch);ch=getchar()) FF=(FF<<1)+(FF<<3)+ch-48;
    FF*=RR;
}
const int V=7010,N=100010;
int n,m;bool mu[V];
bitset<V> trans[V],g[V],bs[N];
int main(){
    read(n),read(m);
    int B=7000;
    F(i,1,B){
        mu[i]=1;
        F(j,2,i) if(i%(j*j)==0) mu[i]=0;
    }
    F(i,1,B) F(j,1,B/i) if(mu[j]) trans[i].set(i*j);
    F(i,1,B) F(j,1,B/i) g[i*j].set(i);
    while(m--){
        int op,x,y,z;read(op),read(x),read(y);
        if(op==1) bs[x].reset(),bs[x]=g[y];
        else if(op==2) read(z),bs[x]=bs[y]^bs[z];
        else if(op==3) read(z),bs[x]=bs[y]&bs[z];
        else putchar(((bs[x]&trans[y]).count()&1)+48);
    }puts("");
    return 0;
}

标签:ch,limits,TV,题解,sum,mu,read,bs,CF1097F
From: https://www.cnblogs.com/Farmer-djx/p/18138527

相关文章

  • 如何写好一篇题解?
    为什么要写题解?首先要清楚知道一点,写题解不仅是帮助别人在做题遇到困难时指明方向,更是提升自己的最快途径。经常有人问我:“如何提升自己的程序设计能力”。我都会回答:“写题解”。写题解可以帮助你彻底掌握某一个知识点。无论一道题目是否是你独立写出来的,你都应该去尝试写题解......
  • 取胜 题解
    很厉害的题,记录下题意是随机一棵无根树,随一个根,每条边存在(能走通)的概率为\(p\),以根为起点,每次一方选择当前点的一个能走通的儿子走过去,问先手必胜的概率.容易发现可以当成有根树.用\(F(x)\)和\(G(x)\)表示必胜树和必败树的egf,有\[\begin{cases}F(x)=xe^{F(x)}\le......
  • 开机后mysql服务未启动问题解决
    问题:mysql的启动类型设置了自动,但是电脑开机后还是需要手动启动。 解决方法:一、Win+R快捷键弹出运行框 二、输入regedit后回车 三、地址栏内输入计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control后回车 四、找到Control入径后,新建一个名称为ServicesPipe......
  • [题解][2021-2022年度国际大学生程序设计竞赛第10届陕西省程序设计竞赛] Type The Str
    题目描述给定n个字符串,有以下几种操作:打出一个字符,花费1。删除一个字符,花费1。复制并打出一个之前打出过的字符串,花费k。求打出所有n个字符串的最小花费。(注意,打出顺序和字符串输入的顺序不必相同)题解显然,操作3需要算字符串的最长公共子序列来处理。这个问题可以转换为......
  • P4298 [CTSC2008] 祭祀 题解
    P4298[CTSC2008]祭祀题解给定DAG,求最长反链长度,最长反链方案,有多少个点可以成为反链上的点。Case1熟知Dilworth定理:偏序集的最长反链的长度等于最小链划分。因为偏序集有传递性,所以我们也需要对DAG做一遍传递闭包。这样可以套用Dilworth定理,最小链划分等于点数减......
  • [题解][2021-2022年度国际大学生程序设计竞赛第10届陕西省程序设计竞赛] Hash
    题目描述给定字符串T,要求求字符串S,满足以下条件:S是T的前缀S和T运行某段代码的哈希值相同(代码见下)T只包含小写字母S和T的长度差不超过50哈希代码://LanguageC++14longlongmod=5999993;longlonggethas(strings){longlongret=0;for(charc:s)ret=......
  • PGSQL 问题解决
    1服务无法启动 这里更改安装目录bin下面例如E:\WorkingSoftware\PostgreSql\16\bin更改权限,下面都改下 2  安装时提示database出错,就初始化下执行以下命令E:\WorkingSoftware\PostgreSql\16\bin\pg_ctl.exe-DE:\WorkingSoftware\PostgreSql\16\dat......
  • 2024小学组AHOI赛后题解
    观看建议调成浅色模式(右下角图标)写前扯一下这次省赛可谓是人才辈出啊。结束前一个半小时就交卷,可见这次考试的难度。后我问他们是不是很有信心AKXX:做了前两题,后两题崩溃了。。。好吧,其实第三题没那么难,不过AK的真没有,听说没有一个人做对。接下来带大家看看这几题。(记得,看......
  • CF1253F Cheap Robot 题解
    首先建立一个超级点\(S\),对于每一个可以充电的点\(u\)都建立一条从\(S\tou\)的边权为\(0\)的有向边。从这个超级点\(S\)开始跑一遍最短路算法,就可以得到每一个点\(u\)至少需要花费多少的电量才可以走到一个充电点。令\(D_i\)表示\(i\)号点最少花费多少可以到一个......
  • LlamaIndex 常见问题解答(FAQ)
     提示:如果您尚未完成,请安装LlamaIndex并完成起步教程。遇到不熟悉的术语时,请参考高层次概念部分。在这个章节中,我们将从您为起步示例编写的代码开始,展示您可能希望针对不同应用场景对其进行的常见定制方法:python fromllama_index.coreimportVectorStoreIndex,Simp......