首页 > 其他分享 >ABC G Ex 简要题解

ABC G Ex 简要题解

时间:2023-04-29 22:55:05浏览次数:46  
标签:ABC dist limits 题解 sum mid times Ex FWT

ABC212G Power Pair

推柿子题

\(\sum\limits_{x}^{P-1}\sum\limits_{y}^{P-1} \exists n \in \mathbb{N}\ x^n \equiv y(\bmod P)\)

\(1+\sum\limits_{x=1}^{P-1}\sum\limits_{y=1}^{P-1} \exists n \in \mathbb{N}\ x^n \equiv y(\bmod P)\)

考虑模 \(P\) 意义下的原根 \(g\) ,有 \(x=g^a,y=g^b\)

\(1+\sum\limits_{x=1}^{P-1}\sum\limits_{y=1}^{P-1} g^{an} \equiv g^{b} (\bmod P)\)

\(1+\sum\limits_{x=1}^{P-1}\sum\limits_{y=1}^{P-1} an \equiv b (\bmod P-1)\)

这个可以看成一个长度为 \(P-1\) 的环,我每次在上面走 \(a\) 步,求 \(b\) 的数量,这个是 \(\frac{P-1}{\gcd(a,P-1)}\) 个。

\(1+\sum\limits_{a=1}^{P-1}\frac{P-1}{\gcd(a,P-1)}\)

\(1+\sum\limits_{d|(P-1)} \frac{P-1}{d}\sum\limits_{a=1}^{P-1}[\gcd(a,P-1)=d]\)

\(1+\sum\limits_{d|(P-1)} \frac{P-1}{d}\varphi(\frac{P-1}{d})\)

现在就可以求了

\(1e12\) 以内的约数数最多的数有 \(6720\) 个约数,跑不满

code

ABC212H Nim Counting

可以说只要会 \(FWT\) 就可以切

题意:给定长度为 \(K\) 的数组 \(A\) ,给定 \(N\) ,现在你要选择 \([1,N]\) 堆石子,每一堆石子的数量 \(\in A\) ,现在玩 \(nim\) 游戏,求先手获胜的局面有多少种

其实就是满足在 \(x^a \times x^b=x^{a\ xor \ b}\) 下求 \([x^t]\sum\limits_{i=1}^{n}(f(x))^i\) 其中 \(t \in [1,值域]\)

因为 \(FWT(A+B)=FWT(A)+FWT(B),FWT(A\ xor \ B)=FWT(A) \times FWT(B)\)

所以可以首先先 \(FWT\) ,然后对 \(FWT\) 的每一项做 \(\sum\limits_{i=1}^{n}{a_x}^i=\frac{{a_x}^{n+1}-a}{a-1}\),然后 \(IFWT\)

code

ABC213G Connectivity 2

小清新计数题

看数据范围考虑状压

设 \(f_S\) 表示现在与一联通的子图点集是 \(S\) 的方案数,转移发现不好转移,所以正难则反,用总数减去不合法

code(这里 \(f\) 为了卡常没有点 \(1\)

ABC214G Three Permutations

个人感觉非常困难

详细写了题解

ABC214H Collecting

洛谷题解全是扯淡的

首先发现可以直接建图流,但是这样时间复杂度是 \(O(nmk)\) 的,\(\%114514\) 过不了,考虑优化

发现有一个东西是 \(Dijsktra\) 求最小费用流,时间复杂度是 \(O(nm+km\log m)\) 的,时间复杂度瓶颈在一开始要求一遍 \(spfa\) ,考虑怎么建出来图没有负权边,之前的建图要建负权边是因为我要求的是最大费用最大流,发现这玩意就是最小浪费代价最大流,这玩意要怎么弄呢,首先缩点成为一个 \(dag\) ,按 \(dag\) 层数标号,我要是从一个编号为 \(i\) 的点到一个编号为 \(j\) 点的话中间的肯定选不上,要是走到这里就不走了说明后面的全选不了,这样就可以做了

code

ABC215G Colorful Candies 2

挺傻逼的一道题

但是我降智没想出来/ng

退役算了/cf

假设现在有 \(m\) 种颜色,你选 \(x\) 个球,那么选颜色 \(i\) 的概率就是 \(\frac{{n \choose x} - {n-sum_i \choose x}}{n \choose x}\)

这样就可以 \(O(n^2)\) 了

然后发现本质不同的 \(sum_i\) 个数时 \(\sqrt n\) 级别的,所以可以 \(O(n\sqrt n)\) 做了

ABC215H Cabbage Master

学习到的很多

很容易联想到二分图,每一个球是左部点,每一个盒子是右部点(当然做的时候不用建出来,不然就寄了,所以下面说的左部点都是对于颜色,右部点都是对于盒子),求完美匹配

考虑霍尔定理

\(n<=20\) 可以直接枚举,但是发现右部点的权值不好算,所以可以改一下枚举的定义,即我选了一些右部点,他们所有可达的左部点集合为 \(S\) ,这样就可以 \(FWT\) 算右部点权值了

假设现在我选的左部点权值是 \(x\) ,右部点权值是 \(y\) ,第一问答案就是 \(cnt=min\{y-x+1\}\)

将不用删点特判掉之后考虑求方案数

当一个左部点集合 \(S\) 删去 \(cnt\) 个点时没有完美匹配当且仅当 \(\exists \ T \ S \in T\) 且 \(T\) 的 \(y-x+1=cnt\) ,为了不算重,我们钦定 \(S\) 里面包含的颜色都至少被删去一个球。

至于怎么求,考虑容斥

先提前算出不钦定的值,然后外层枚举现在处理到第几个颜色,内层枚举集合 \(S\) 现在等于时颜色编号小于 \(S\) 的都已经钦定选了,然后你减去把现在枚举的颜色去掉的 \(dp\) 值,仔细想想发现很正确

code

ABC219H Candles

可能?是套路题

但是我不会/ng

因为我不能记时间,所以可以考虑费用提前计算

首先先思考假如蜡烛可以燃烧到负数,发现这就是 P1220 关路灯 ,但是现在不能燃烧到负数,也就是 \(\max(0,a_i)\) ,于是就有一个思路就是在第 \(i\) 根蜡烛的时候把 \(a_i\) 和 \(0\) 都转移一遍,因为是取 \(\max\) ,所以最后答案是正确的

现在我不知道有多少蜡烛是没到就会燃尽,所以我区间 \(dp\) 多记一维表示当前区间外有 \(i\) 根蜡烛未燃尽,这样就可以实现上述转移了

设 \(f_{l,r,i,0/1}\) 表示在区间 \([l,r]\) ,区间外有 \(i\) 根蜡烛在燃烧,现在在 左/右 端点时的燃烧掉的最小值

\(f_{l,r+1,i,0}=\min\{f_{l,r,i,0/1}+i \times dist+a_{r+1},f_{l,r,i+1,0/1}+i \times dist\}\) 其他转移同理

\(\min\) 中前面的就是 \(r+1\) 的熄灭了,后面的时没熄灭的

code

ABC298Ex - Sum of Min of Length

挺神秘的一道题

题意:给你一棵树,多次询问,每次询问给定两个点 \(x,y\),求 \(\sum\limits_{u=1}^{n} \min(dist(u,x),dist(u,y))\)

如果只有一个点发现非常好求,直接换根 \(dp\) 就好了,现在考虑两个点怎么做

首先肯定是要找出 \(u\) 到 \(v\) 的中点 \(mid\) 的

其中以 \(mid\) 为子树的点肯定是到 \(u\) , 而剩下的节点是到 \(v\)

现在把式子列出来:

设集合 \(S\) 包含以 \(mid\) 为子树的的节点(黄色方框包含的节点),集合 \(T\) 包含剩下的节点(绿色方框包含的节点)

\(ans=\sum\limits_{u \in S} dist(u,x)+\sum\limits_{u \in T} dist(u,y)\)

\(ans=\sum\limits_{u=1}^{n} (dist(u,x)+dist(u,y))-(\sum\limits_{u \in S} dist(u,y)+\sum\limits_{u \in T} dist(u,x))\)

\(ans=\sum\limits_{u=1}^{n} (dist(u,x)+dist(u,y))-(\sum\limits_{u \in S} dist(u,mid)+\sum\limits_{u \in T} dist(u,mid)+sz_{mid} \times dist(mid,y)+(n-sz_{mid}) \times dist(mid,x))\)

\(ans=\sum\limits_{u=1}^{n} (dist(u,x)+dist(u,y)-dist(u,mid))-sz_{mid} \times dist(mid,y)-(n-sz_{mid}) \times dist(mid,x))\)

哈哈,非常神奇的我们就可以做了

时间复杂度 \(O(n\log n)\)

标签:ABC,dist,limits,题解,sum,mid,times,Ex,FWT
From: https://www.cnblogs.com/lnyx/p/17364605.html

相关文章

  • WordPress extended XML-RPC MetaWeblog API
    XML-RPCMetaWeblogAPI«WordPressCodexWordPress.orgWordPress.orgPluginsThemesPatternsLearnSupportDocumentationForumsNewsAboutGetInvolvedFivefortheFutureShowcaseMobileHostingOpenverseGetWordPressSearch......
  • AT_abs300_e 题解
    一、题目描述:你有一个骰子,数字1~6可以被等概率扔到。初始时有一个数$ans=1$。当扔到数字$x$时,$ans=ans\timesx$。给你一个数字$n$,求$ans$能等于$n$的概率。$n<=1e18$。答案对$998244353$取模。 二、解题思路:当扔到$1$时,相当于......
  • MFC-GetItemText获取文本
     CStringstr1=mylist4.GetItemText(1,1);//获取文本/*参数1:intnItem行号参数2:intnSubItem列号*/OutputDebugString(str1);   ......
  • MFC-GetExtendedStyle获取扩展样式
     DWORDExStyles=mylist4.GetExtendedStyle();//获取扩展样式DWORDoldstyle=mylist4.SetExtendedStyle(ExStyles|LVS_EX_FULLROWSELECT);//设置扩展样式/*指定的扩展样式LVS_EX_GRIDLINES//绘制表格LVS_EX_SUBITEMIMAGES//......
  • 皇后游戏 题解
    luoguP2123题目描述皇后有\(n\)位大臣,每位大臣的左右手上面分别写上了一个正整数。恰逢国庆节来临,皇后决定为\(n\)位大臣颁发奖金,其中第\(i\)位大臣所获得的奖金数目为第\(i-1\)位大臣所获得奖金数目与前\(i\)位大臣左手上的数的和的较大值再加上第\(i\)位大臣右手......
  • 题解
    D.RangeandPartition1800思维https://codeforces.com/contest/1631/problem/D题解:由于严格大于,故其最终前缀和s[n]>=k,而当s[n]>=k,s[0]=0,每步至多下降1,故其中必有至少k个点满足s[i]=x(1<=x<=k),故符合题意,故只需双指针找出最小的满足题意的区间即可。#include<bits/stdc++......
  • 4 月 27 日测试题解
    4月27日测试题解最短路专场T1\({\color{green}{\text{100pts}}}\text{/100pts}\)题意给出\(m\)个变量与\(n\)个约束,每个约束形如以下三种中的一种;\(x_i-x_j\lew\)\(x_i-x_j\gew\)\(x_i-x_j=w\)有\(q\)个询问,每个询问为形如\((x_i,x_j)\)的二元......
  • 4 月 21 日测试题解
    4月21日测试题解T1\({\color{green}{\text{100pts}}}\text{/100pts}\)题意给出平面上的两条线段,求线段之间的距离。\(\text{|线段端点坐标|}\le10^4\)。思路一开始想的是分讨,但是又怕自己写挂了,所以就写了三分套三分。至少这个不怕少讨论一个情况。既然是三分套三分,......
  • 问题解决:Component name "xxx" should always be multi-word vue/multi-word-compone
    如题,原因是单个单词命名时语法检测无法通过,可以在导出组件时通过name属性给组件名加一个后缀,比如Component。<script>exportdefault{//当组件名为一个单词时,语法检查是无法通过的,可以设置name的值为2个单词来规避检查。name:'HomeComponent'}<......
  • IdentityServer4 问题解决
    RedirectUris={"https://localhost:7098/signin-oidc"},PostLogoutRedirectUris={"https://localhost:7098/signout-callback-oidc"},服务端添加这个 RequirePkce=false,添加这一句......