首页 > TAG信息列表 > SDOI2015

P3320 [SDOI2015]寻宝游戏 题解

题面 需要动态维护一个点集的极小联通子图边权和。可以发现,将点集 \(\{a_i\}\) 中的点按照 dfs 序从小到大排序之后,\(dist(a_1,a_2)+dist(a_2,a_3)+\ldots+dist(a_{k-1},a_k)+dist(a_k,a_1)\) 恰好等于我们要维护的那个边权和的两倍。所以就开一个 set,在加入和删除的时候加上或删

P3320 [SDOI2015]寻宝游戏(数剖+定理

#include<bits/stdc++.h> using namespace std; #define ll long long const int N=3e5+10; struct node{ int nxt,to;ll val; }d[N];int head[N],tot=0; void add(int a,int b,ll c){ d[++tot]={head[a],b,c};head[a]=tot; } int fa[N][18],depth[N],dfn[N],rd

SDOI2015 乱做

排序 dfs 题,肝败吓疯 寻宝游戏 一个比较 trivial 的 trick 吧,按照相邻 dfs 序维护就行了 序列游戏 如果是 \(\sum \equiv x\) 的话,就是正常的多项式快速幂 如果是 \(\prod \equiv x\) 的话,就是两边取对数之后快速幂 星际战争 二分时间,网络流,连边单位时间即可,最后判是否满流 约数个

SDOI2015 排序

SDOI2015 排序 今天看到这道题,没有一点思路,暴力都没的打。。。还是理解错题意了,操作不同位置不是说改不同的区间,而是不同操作的顺序。。。考场上如果知道这个的话最少暴力拿一半啊,因为正解本来就是暴力。。 DFS 题目问的是方案数,如果操作确定了是谁的话顺序是无所谓的,压一个A(n n)

搜索学习笔记

突然就咕了。 xzyxzy P4929 【模板】舞蹈链(DLX) P3208 [HNOI2010]矩阵 P2217 [HAOI2007]分割矩阵 P2476 [SCOI2008]着色方案 UVA1603 破坏正方形 Square Destroyer P5758 [NOI2000] 算符破译 P2567 [SCOI2010]幸运数字 P4397 [JLOI2014]聪明的燕姿 P2329 [SCOI2005]栅栏 P3322 [SDO

P3327 [SDOI2015]约数个数和

Label 莫比乌斯反演 Description 设 d ( x ) d(x) d(x)为 x

【数论】[SDOI2015]约数个数和

传送门: https://www.luogu.com.cn/problem/P3327 https://www.acwing.com/problem/content/1360/ 莫比乌斯反演 + 整除分块 分析 首先,我们给出一个结论: \[d(ij) = \sum_{x|i} \sum_{y|j} [(x, y) = 1] \]证明: 设 \(i\) 的分解式为 \(i = \prod p_k^{\alpha_k}\) ,类似地,\(j = \prod

[SDOI2015]序列统计

嘟嘟嘟 此题很可做。 首先从一个暴力的dp入手:令\(dp[i][j]\)表示第\(i\)个数为\(j\)时的数列个数,于是有\(dp[i][j *a[k] \% M] += dp[i - 1][j]\)。 但这个似乎只能拿10分。 一个显然的优化是改成倍增快速幂的形式,上述dp方程显然是可以合并的,即\(dp[x + y][i * j \% M] += dp[x][

P3324 [SDOI2015]星际战争

传送门:https://www.luogu.org/problemnew/show/P3324   首先瞅一眼数据范围,发现m, n都很小,所以就可以初步断定这是一道网络流的题。   因为题中说每一个武器只能***特定的机器人,所以可以想象成这把武器有一条指向该机器人的边,那流量是多少呢?这是不确定的,因为武器***机器人的策略

题解 P3322 [SDOI2015]排序

题解 仔细审题,我们会发现 小 \(A\) 认为两个操作序列不同,当且仅当操作个数不同,或者至少一个操作不同(种类不同或者操作位置不同)。 所以,对于一种操作,不管是交换哪两段,都算作同一种操作,只会对答案贡献一次。 引理 对于一个合法的操作序列,其中的操作可以互换位置,仍为合法序列。 可

[SDOI2015]约数个数和

iv.[SDOI2015]约数个数和 完蛋了,我们前几题里面都有\(\gcd(\dots)\),但是这道题没有,怎么办呢? 引理: \(\boxed{d(ij)=\sum\limits_{x|i}\sum\limits_{y|j}[\gcd(x,y)==1]}\) 换句话说,两个数\((i,j)\)积的因数个数,等于\(i\)的所有因数与\(j\)的所有因数中互质的对数。 简单证明(感谢sun

luogu P3327 [SDOI2015]约数个数和

题面传送门 考虑经典结论:\(d(i\times j)=\sum\limits_{a|i}{\sum\limits_{b|j}{[(a,b)==1]}}\) 代到原式里面去就是\(\sum\limits_{i=1}^{n}{\sum\limits_{j=1}^{m}{\sum\limits_{a|i}{\sum\limits_{b|j}{[(a,b)==1]}}}}\) 提前枚举\(a\)和\(b\)就有\(\sum\limits_{a=1}^{n}{\s

[SDOI2015]约数个数和

题意 求\(\sum\limits_i^n\ \sum\limits_j^m\ d(ij)\)其中\(d(x)\)为\(x\)的约数个数 想法 看到这个柿子想到的就是莫反了。 有这样一个结论 \( d(xy)= \sum\limits_{i|x} \ \sum\limits_{j|y}[gcd(i,j) == 1]  \) 所以变形原柿子(n > m) \(\sum\limits_i^n\ \sum\limits_j^m\ d(ij

[SDOI2015]星际战争 (网络流+二分答案)

题目描述 3333年,在银河系的某星球上,X军团和Y军团正在激烈地作战。 在战斗的某一阶段,Y军团一共派遣了N个巨型机器人进攻X军团的阵地,其中第i个巨型机器人的装甲值为Ai。当一个巨型机器人的装甲值减少到0或者以下时,这个巨型机器人就被摧毁了。 X军团有M个激光武器,其中第i个激光武器每

#网络流,二分#洛谷 3324 [SDOI2015]星际战争

题目 分析 二分答案,然后建图判断可行性 代码 #include <cstdio> #include <cctype> #include <queue> #define rr register using namespace std; typedef long long lll; const int N=111; lll sum,ans; struct node{int y; lll w; int next;}e[5300]; int dis[N],as[N],k=1

luogu P3327 [SDOI2015]约数个数和

题目链接 \[\begin{aligned} \sum\limits_{i=1}^n\sum\limits_{j=1}^m d(ij)&=\sum\limits_{i=1}^n\sum\limits_{j=1}^m\sum\limits_{x|i}\sum\limits_{y|j} [(x,y)=1]\\ &=\sum\limits_{x=1}^n\sum\limits_{y=1}^m[(x,y)=1]\lfloor \frac{n}{x}\r

洛谷 P3327 [SDOI2015]约数个数和

题意: $d(n)$为$n$的约数个数, 求$\sum_{i = 1} ^ {n}\sum_{j = 1}^{m}d(i * j)$ 思路:$d(i * j) = \sum_{x|i}\sum_{y|j}[gcd(x, y) = 1]$           $= \sum_{x | i}\sum{y | j}\sum{k | gcd(x, y)}\mu(k)$           $= \sum_{k}\mu(k)\sum_{x | i}\sum_{y | j}[k | x][

P3327 [SDOI2015]约数个数和 题解

博客园同步 原题链接 简要题意: 求 ∑i=1n∑j=1md(ij)\sum_{i=1}^n \sum_{j=1}^m d(ij)i=1∑n​j=1∑m​d(ij) 其中,d(x)d(x)d(x) 表示 xxx 的因数个数。 算法一 爆搜。 时间复杂度:O(Tnmnm)O(Tnm \sqrt{nm})O(Tnmnm​).(TTT 的飞起) 期望得分:0pt0pt0pt. 算法二 考虑每个数作为其

P3327 [SDOI2015]约数个数和 题解

CSDN同步 原题链接 简要题意: 求 \[\sum_{i=1}^n \sum_{j=1}^m d(ij) \]其中,\(d(x)\) 表示 \(x\) 的因数个数。 算法一 爆搜。 时间复杂度:\(O(Tnm \sqrt{nm})\).(\(T\) 的飞起) 期望得分:\(0pt\). 算法二 考虑每个数作为其它数因数所产生的贡献。 时间复杂度:\(O(T \times \min(n,m))\)

Luogu P3324 [SDOI2015]星际战争

二分+最大流 首先考虑二分答案 然后可以发现对于已知时间,判断是否可以将所有机器人摧毁可以用网络流 建立源点和汇点,源点向每一个激光武器连一条容量为$time*b[i]$的边,表示该激光武器在$time$时间下最多能产生的伤害为$time*b[i]$ 每一个机器人向汇点连一条容量为$a[i]$的边,表示每

[洛谷P3320] SDOI2015 寻宝游戏

问题描述 小B最近正在玩一个寻宝游戏,这个游戏的地图中有N个村庄和N-1条道路,并且任何两个村庄之间有且仅有一条路径可达。游戏开始时,玩家可以任意选择一个村庄,瞬间转移到这个村庄,然后可以任意在地图的道路上行走,若走到某个村庄中有宝物,则视为找到该村庄内的宝物,直到找到所有宝物并

异象石/[SDOI2015]寻宝游戏

AcWing 异象石 洛咕 寻宝游戏 题意:Adera是Microsoft应用商店中的一款解谜游戏. 异象石是进入Adera中异时空的引导物,在Adera的异时空中有一张地图. 这张地图上有\(N(N<=1e5)\)个点,有\(N-1\)条双向边把它们连通起来. 起初地图上没有任何异象石,在接下来的\(M(M<=1e5)\)个时刻中,每个

【SDOI2015】序列统计

题面 https://www.luogu.org/problem/P3321 题解 首先贡献是$f[a_ib_i]+=f1[a_i]\times f2[b_i]$,用原根变成$f[a_i+b_i]+=f1[a_i]\times f2[b_i]$,即形成一个新的映射。 开个桶,即求这个多项式的$n$次幂。 $NTT+$分治快速幂。 自己编的$NTT$口诀: 上倍增,中加二倍,下加加。 上界$1,0,0$

P3327 [SDOI2015]约数个数和

挺简单的数论题 主要要知道一个式子:\[d(i\times j)=\sum\limits_{x|i} \sum\limits_{y|j} [gcd(x,y)=1]\] 具体证明其实挺简单的,这里给出一个大佬的博客 那么我们需要求的式子就是:\[\sum\limits_{i=1}^N \sum\limits_{j=1}^M \sum\limits_{x|i} \sum\limits_{y|j} [gcd(x,y)=1]\]

P3321 [SDOI2015]序列统计

思路 首先有个挺显然的DP \[ dp[i][(j*k)\%m]+=dp[i-1][j]\times dp[i-1][k] \] 想办法优化这个DP 这个dp也可以写成这样 \[ dp[i][j]=\sum_{p*q=j}dp[i-1][p]\times dp[i-1][q] \] 看着一副卷积的样子 但是是乘法,可以考虑转化乘法为加法,有两种方式,取ln或者原根 注意到m是质数,所以