首页 > TAG信息列表 > Sdoi2014
洛谷P3312 [SDOI2014]数表
洛谷P3312 [SDOI2014]数表 有 \(Q\) 组询问,每次询问给定 \(n,m,a\),求 \[\sum_{i=1}^n\sum_{j=1}^m[\sigma(\gcd(i,j))\le a]\sigma(\gcd(i,j)) \]其中 \(\sigma(n)\) 为 \(n\) 的所有正因子之和。 答案对 \(2^{31}\) 取模。 \(1\le Q\le 2\times10^4,1\le n,m\le 10^5,|a|\le 10^【动态开点线段树&树链剖分】【[SDOI2014]旅行】
【动态开点线段树&树链剖分】【[SDOI2014]旅行】 题目传送门 写篇题解巩固一下动态开点线段树和树链剖分,并附上模板 一、动态开点线段树 在某些题目中我们不需要把线段树的所有节点都建立出来,而是当用到某个节点时才建立该节点,从而节省空间。 用到动态开点线段树的题,一般有几个特[SDOI2014]数表
题意:数表 有一个表,其中\(val(i,j)=\sigma(gcd(i,j))\)给出\(n,m,a\)求所有\(val\)不超过\(a\)的和。 思路: 假如没有\(a\)的限制: \(\sum\limits_{d=1}^n\sigma(d)\sum\limits_{i=1}^n\sum\limits_{j=1}^m[gcd(i,j)==d]\) \(\sum\limits_{d=1}^n\sigma(d)\sum\limits_{i=1}^{\l『题解』Luogu-P3312 [SDOI2014]数表
P3312 [SDOI2014]数表 Description 多测,\(Q\) 组数据。 有一张 \(n\times m\) 的数表,其第 \(i\) 行第 \(j\) 列(\(1\le i\le n, 1\le j\le m\))的数值为能同时整除 \(i\) 和 \(j\) 的所有自然数之和。给定 \(a\),计算数表中不大于 \(a\) 的数之和模 \(2^{31}\) 的值。 \(1\le n, m\l【洛谷P3313】[SDOI2014]旅行
题意 题目描述 S国有N个城市,编号从1到N。城市间用N-1条双向道路连接,满足从一个城市出发可以到达其它所有城市。每个城市信仰不同的宗教,如飞天面条神教、隐形独角兽教、绝地教都是常见的信仰。 为了方便,我们用不同的正整数代表各种宗教, S国的居民常常旅行。旅行时他们总会走最短题解 P3317 [SDOI2014]重建
题解 前置芝士:深度理解的矩阵树定理 矩阵树定理能求生成树个数的原因是,它本质上求的是: \[\sum_T \prod_{e\in T} w_e \]其中 \(w_e\) 是边权,那么我们会发现其实当边权是 \(1\) 时,本式所求即为生成树个数。 那么回到这题来,这题让求的是 \[\sum_{T}\prod_{e\in T}w_e\prod_{e\notinBZOJ3529: [Sdoi2014]数表(莫比乌斯反演 树状数组)
题意 题目链接 Sol 首先不考虑\(a\)的限制 我们要求的是 \[\sum_{i = 1}^n \sum_{j = 1}^m \sigma(gcd(i, j)) \] 用常规的套路可以化到这个形式 \[\sum_{d = 1}^n \sigma (d) \sum_{k = 1}^{\frac{n}{d}} \mu(k) \frac{n}{kd} \frac{m}{kd} \] 设\(kd = T\) 那么 \(\sum_{TP3308 [SDOI2014]LIS
【题意】 【分析】 LIS部分和网络流24题中的P2766 最长不下降子序列问题一致 主要是多了一个输出方案,这个就需要用到贪心退流的方式了 【代码】 #include<bits/stdc++.h> using namespace std; #define INF 1e9 const int M=1000000; const int N=1500; int tot,nxt[题解[SDOI2014]数表
P3312 [SDOI2014]数表 令 \(g(i)\) 表示 \(i\) 的所有约数和 题目要求的是 \(\sum\limits_{i=1}^n\sum\limits_{j=1}^mg(gcd(i,j)),g(gcd(i,j))\le a\) 令 \(f(i)=\sum\limits_{x=1}^n\sum\limits_{y=1}^m[gcd(x,y)=i],F(i)=\sum\limits_{x=1}^n\sum\limits_{y=1}^m[i|gcd(xluogu P3312 [SDOI2014]数表
https://www.luogu.com.cn/problem/P3312 就是要求 ∑ i = 1P3312 [SDOI2014]数表
题意描述: 洛谷 有一个 \(n\times m\) 的表格,第 \(i\) 行第 \(j\) 列的权值为 \(\sigma(\gcd(i,j))\) , 有 \(Q\) 组询问,每次问你一个 \(n\times m\) 的表格中,不大于 \(a\) 的数字之和。 数据范围: \(n,m\leq 10^5, Q\leq 2e4\) 前置芝士: 1.线性筛约数个数 设 \(n = p_1^{k_1}p_2^{kLuogu3308 [SDOI2014]LIS
Luogu3308 [SDOI2014]LIS 网络流 很容易构建网络流模型,对于所有\(i\)满足存在以\(i\)开头的最长上升子序列,由源点\(S\)向\(i\)连边。 对于所有\(i\)满足存在以\(i\)结尾的最长上升子序列,由汇点\(T\)向\(i\)连边。 对于\(i,j,a_j<a_i,dp_i=dp_j+1\),连边\(i \rightarrow j\),保证两点P3311 [SDOI2014] 数数
P3311 [SDOI2014] 数数 感觉我太不自信了,其实思路都是对的,就是不敢写,想到了也不写。 这题综合了一些东西。 首先非常套路对于所有模式串建AC自动机,维护出 \(Trie\) 图上哪些点不能到达 如何限制 \(\le n\) ?这就很像数位dp了,dp状态多一维 \(0/1\) 表示是否顶到上界 我开心地写完了P3317 [SDOI2014]重建
题目链接 \[\sum_{所有情况} \prod 树边出现的概率 \prod 非树边未出现的概率 \]根据套路,先将非树边未出现的概率同一乘一下,树边出现记得除掉。转化成: \[\prod_{e}(1-p_e)\sum_{所有情况} \prod_{e在树边里} \frac{p_e}{1-p_e} \]可以直接基尔霍夫矩阵树定理搞掉。 然后会发现 WABZOJ 3529. [Sdoi2014]数表
$$\sum_{i=1}^{n}\sum_{j=1}^{m}\sigma_{1}(\gcd(i, j))[\sigma_1(\gcd(i,j))\leq a]$$首先忽略 $\sigma_1(\gcd(i,j))\leq a$ 的限制即求$$\sum_{i=1}^{n}\sum_{j=1}^{m}\sigma_{1}(\gcd(i, j))$$$$=\sum_{d=1}^{\min\{n,m\}}\sigma_{1}(d)\sum_{i=1}^{n}\sum_BZOJ 3530: [Sdoi2014]数数 AC自动机+dp
思路不难,但是细节还是挺多的,要格外注意一下. code: #include <cstdio> #include <queue> #include <cstring> #include <algorithm> #define N 2005 #define ll long long #define mod 1000000007 #define setIO(s) freopen(s".in","rP3313 [SDOI2014]旅行
题目链接(洛谷) 题目链接(bzoj) 题解: 对于每一种宗教都维护一棵线段树,每次在对应的线段树上查询和与最大值即可。修改的话同样如此。剩下便是树剖干的事情。 #include<bits/stdc++.h>using namespace std;const int maxn=1e6+7;struct node{ int nxt,to;}edge[maxn*2];int head[mp3317 [SDOI2014]重建
分析 代码 #include<bits/stdc++.h>using namespace std;#define lb doubleconst lb eps = 1e-8;lb g[110][110],res=1.0;int n;inline lb gs(){ int i,j,k; lb ans=1.0; for(i=1;i<=n;i++){ int mx=i; for(j=1;j<=n;j++) if(g[mx][i]<BZOJ 3529: [Sdoi2014]数表
3529: [Sdoi2014]数表 思路: 莫比乌斯反演+整除分块+树状数组维护前缀和 代码: #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize(4) #include<bits/stdc++.h> using namespace std; #define y1 y11 #define fi first #define se second #define pi acos(-1.@loj - 2196@「SDOI2014」Lis
目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定序列 A,序列中的每一项 Ai 有删除代价 Bi 和附加属性 Ci 请删除若干项,使得 A 的最长上升子序列长度减少至少 1,且付出的代价之和最小,并输出方案。 如果有多种方案,请输出将删去项的附加属性排序之「SDOI2014」旅行(信息学奥赛一本通 1564)(洛谷 3313)
题目描述 S国有N个城市,编号从1到N。城市间用N-1条双向道路连接,满足从一个城市出发可以到达其它所有城市。每个城市信仰不同的宗教,如飞天面条神教、隐形独角兽教、绝地教都是常见的信仰。 为了方便,我们用不同的正整数代表各种宗教, S国的居民常常旅行。旅行时他们总会走最短路,并且为洛谷$P3308\ [SDOI2014]LIS$ 网络流
正解:网络流 解题报告: 传送门$QwQ$ 恩先不考虑关于那个附加属性的限制,考虑这题怎么做? 首先这题从名字开始就让人忍不住联想起网络流24题里的那个最长不下降子序列?于是同样考虑预处理一个$f$呗 然后再一看,长得就很最小割嘛,于是拆点,能构成最长不下降子序列的之间就连权值为$in[SDOI2014]数表
[SDOI2014]数表 在一张\(n\times m\)数表中,第i行第j列的数字为即能整除i又能整除j的自然数之和,Q组询问,询问这张数表中不大于a的数之和,1 < =n.m < =10^5 , 1 < =Q < =2*10^4。 解 转换为约数计数问题,不难有 \[ans=\sum_{i=1}^n\sum_{j=1}^m\sigma(gcd(i,j))\] 因为限制数表中的数不大P3317 [SDOI2014]重建(Matrix-tree+期望)
P3317 [SDOI2014]重建 详情看这位神犇的blog 剩下的注释在code里吧....... #include<iostream>#include<cstdio>#include<cstring>#include<cmath>using namespace std;typedef double db;const db eps=1e-7;db d[55][55],ans=1.0;int n;db det(){//矩阵树定理板子,计算行列式 dBZOJ3532 SDOI2014 LIS
题目链接 (其实主要并不是写题解,只是记录一下网络流的一些……结论?) 1.「边u->v处于割集中」<=>「跑完最大流的残量网络上,u->v无路径」 (敲黑板划重点,不是u->v这条边为空就完事了,WA了好几次......) (写网络流总是忘记反向边影响的我