ZYXzyx123

 

AtCoder_ABC_412

A

若Bi>Ai 则符合要求。

B

用桶把T中的每个字符存下来,遍历S中除S1外的每个字符,若Si为大写,则看T中有没有Si-1

C

贪心,将S2至Sn-1排序,从S1开始,每个骨牌都推倒能推倒的最大骨牌,直到当前骨牌Si能推倒Sn

D

数据范围很小,直接暴搜,考虑每两个点之间是否加减边。

E

若Ai与Ai+1不等,则i+1不是Ai的因子。
问题就变成了在[l+1,r]中找qk(p为质数,k为正整数)的数量。

F

DP,dpi表示当袜子i在外面时的期望次数。
AC++,令tot=ΣAi

  • Ai>Aj:保留i,贡献Aj*dpi/(tot-1)
  • Aj>Ai:保留i,贡献Aj*dpj/(tot-1)
  • Ai=Aj:贡献0,成功
    dpi=1+Σj=1->i-1Ajdpi/(tot-1)+Σj=i+1->NAjdpj/(tot-1)
    (1-Σj=1->i-1Aj/(tot-1))dpi=1+Σj=i+1->NAjdpj/(tot-1)
    (tot-1-Σj=1->i-1Aj)dpi=tot-1+Σj=i+1->NAj
    dpj
    用两个变量记录Σj=1->i-1Aj和Σj=i+1->NAj*dpj
sort(a+1,a+1+n);
for(int i=n;i>=1;i--){
	sum=(sum+a[i])%mod;
	dp[i]=(tot+sum2)%mod*f(sum-1,mod-2)%mod;
	sum2=(sum2+a[i]*dp[i]%mod)%mod;
}

费马小定理:一个数x在模k时的逆元为xk-2

G

G为无向图,Σdi为偶数。由于di与Ai奇偶性相同,ΣAi为偶数时才有解

令H为一个包含ΣAi个点的图,其中Ai个点标签为i,若标签相等,则连一条边权为0的边,否则当且仅当(i,j)属于G,连一条边权为1的边。
最终求解H的最小完全图匹配即可。

posted on 2025-07-01 22:25  ZYXzyx123  阅读(29)  评论(0)    收藏  举报

导航