洛谷题面传送门 首先很明显题目暗示我们先求出符合条件的戒指数量,再计算出由这些戒指能够构成的项链的个数,因此考虑分别计算它们.首先是计算符合条件的戒指数量,题目中"可以通过旋转重合的戒指视作相同"可以让我们联想到 Polya 定理,具体来说根据 Polya 那套理论,符合条件的戒指个数就是 \(C=\dfrac{1}{m}\sum\limits_{d\mid n}R^d\varphi(\dfrac{n}{d})\),\(\mathcal O(\sqrt{n})\) 地枚举因子并计算 \…
题目大意:给一个$n$个点的环染色,有$n$中颜色,问有多少种涂色方案是的旋转后本质不同 题解:$burnside$引理:$ans=\dfrac1{|G|}\sum\limits_{g\in G}A_g$ 对于环,有$Polya$定理:$ans=\dfrac1{|G|}\sum\limits_{g\in G}m^{c(g)}$($m$为颜色数,在这道题中$m=n$,$c(g)$为置换$g$中循环个数) 因为是循环相同,所以$|G|=n$,当$g=\left(\begin{smallmatrix}…
题目描述 恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变.守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上.为了杀死守望者,尤迪安开始对这个荒岛施咒,这座岛很快就会沉下去.到那时,岛上的所有人都会遇难.守望者的跑步速度为17m/s,以这样的速度是无法逃离荒岛的.庆幸的是守望者拥有闪烁法术,可在1s内移动60m,不过每次使用闪烁法术都会消耗魔法值10点.守望者的魔法值恢复的速度为4点/s,只有处在原地休息状态时才能恢复. 现在已知守望者的魔法初值M,他所在的初始…
题目大意: 给定一个DAG,求起点到终点的路径长度期望 根据题意可以知道每一条边都有一定概率被走到 那么\(\displaystyle\begin{aligned} Ans = \sum_{e \in E} f_ew_e\end{aligned}\),其中\(E\)是边的集合,\(f_e\)是经过边\(e\)的期望次数,\(w_e\)是边\(e\)的边权 这样我们只需要求经过每一条边的期望次数 对于每一条边,经过这条边的期望次数就是经过这条边起点的期望次数除以这条边起点的出度 这样我们就只需要求…
传送门 思路 很明显的一个思路:先搞出有多少种珠子,再求有多少种项链. 珠子 考虑这个式子: \[ S3=\sum_{i=1}^a \sum_{j=1}^a\sum_{k=1}^a [\gcd(i,j,k)==1] \] 显然可以莫比乌斯反演一波,但这个是对的吗? 当有两个数字相同时只被算了3遍,而三个都相同的只被算了一遍. \[ S2=\sum_{i=1}^a\sum_{j=1}^a [\gcd(i,j)==1] \] 显然有\(S1=1\),那么就会得到最终答案: \[ ans=\frac…
P3807 [模板]卢卡斯定理 洛谷智推模板题,qwq,还是太弱啦,组合数基础模板题还没做过... 给定n,m,p($1\le n,m,p\le 10^5$) 求 $C_{n+m}^{m}\ mod\ p$ $lucas$定理: $C_{n}^{m}=C_{n\%p}^{m\%p}\times C_{n/p}^{m/p}\mod p$ 相当于把$n,m$写成$p$进制数($A_1,A_2\dotso A_k$),($B_1,B_2\dotso B_k$) $C_{n}^{m}=C_{A_1}^{…
题目大意:一串项链由n个戒指组成,对于每个戒指,一共有M个点,R种颜色,且旋转后相同的戒指是相同的,然后一串项链又由N个戒指组成,同时要满足相邻的两个戒指不能相同,这串项链上某个位置插入了一个特殊的东西,且如果特殊的东西插入的地方不同,即使戒指都是相同的,这两串项链也是不同的,求一共有多少不同的爱之项链. 思路:首先可以求出一共有多少种不同的戒指,又由于有那个特殊的东西,相当于这串项链即使旋转后相同,但特殊的东西插入的位置也肯定是不同的,因此即不考虑旋转,只考虑相邻位置不同的爱之项链的方案数.…
洛谷链接 BZOJ链接 看到这样不用修改的题目,应该佷容易就联想到了离线来处理. 我们发现若将询问按照r来排序,排完后每次对答案有贡献的仅是每个颜色最后出现的位置 我们用next[i]表示i处颜色之前出现的位置,我们利用树状数组维护每个数最后一次出现的位置小于j的个数,每次的答案就是树状数组l到r这一段的和 显然,next[i]处对答案已经不会产生贡献了,我们就可以将这个贡献减掉 然后再将i处对答案的贡献加入 # include<iostream> # include<cstdio>…
1002: [FJOI2007]轮状病毒 Time Limit: 1 Sec Memory Limit: 162 MB Submit: 3543 Solved: 1953 [Submit][Status][Discuss] Description 给定n(N<=100),编程计算有多少个不同的n轮状病毒. Input 第一行有1个正整数n. Output 将编程计算出的不同的n轮状病毒数输出 Sample Input 3 Sample Output 16 HINT 基尔霍夫矩阵Matrix-Tr…
听说这题不公开.. 那就不贴题意了 首先要用burnside引理求出戒指的种数,那么对于一个顺时针旋转$k$个位置的置换就相当于连上一条$(i,(i+k)%R)$的边,每个环颜色必须相同 环的个数为$gcd(k,R)$,所以这样的方案数就有$R^{gcd(k,R)}$种 然后dp求项链的方案数,设$g_{i,0}$表示$1$和$i$不同,中间相邻不同的方案数,$g_{i,1}$表示$1$和$i$相同,中间相邻不同的方案数 那么有如下推导: $$g_{i,0}=(i-1)g_{i-1,1}+(i-…