首页 > TAG信息列表 > Ahoi2005

[AHOI2005]约数研究

嘟嘟嘟   暴力啊,统计当前数 i ,对是 i 的倍数的约数的贡献。 1 #include<cstdio> 2 #include<iostream> 3 #include<cmath> 4 #include<algorithm> 5 #include<cstring> 6 #include<cstdlib> 7 #include<cctype> 8 #include<vector> 9 #

[BFS]luogu P2536 [AHOI2005]病毒检测

题面 https://www.luogu.com.cn/problem/P2536 分析 考虑建一个像trie的东西,即向下一个节点连代表字母的边 那么对于 AGCT 就直接向下一个节点连边 对于 ? 则可以向下一个节点连所有字母的边 对于 * ,我们采用对通配符的惯用操作,向自己连所有字母的边,即构造自环,表示匹配的时候可以

洛谷题解P1403 [AHOI2005]约数研究

Description 给定 \(n\) ,规定 \(f(n)\) 表示 \(n\) 的约数个数,求 \(\sum_{i=1}^n f(i)\) Solution 20pts 数据范围小,直接求即可。 Code #include<iostream> #include<cstdio> using namespace std; inline void read(int &x){ int f=1; char ch=getchar(); x=0; wh

P2542 [AHOI2005] 航线规划

题意描述: 洛谷 有 一个 \(n\) 个点 \(m\) 条边的无向图,还有若干个操作。定义 \(u,v\) 的关键路径为删除这条边之后, \(u,v\) 不连通的边。 操作1: 询问 \(u\) 和 \(v\) 之间的关键路径的个数。 操作2: 断开 \(u\) 和 \(v\) 之间的边。 保证任意时刻两点之间都能互相到达。 数据范围

Luogu P2536 [AHOI2005]病毒检测

题意 给一个有通配符的模式串和 \(n\) 个文本串,其中 ? 可以匹配任意字符,* 可以匹配 \(0\) 或任意多个字符,求 \(n\) 个文本串中无法与模式串匹配的数量。 \(\texttt{Data Range:}1\leq n\leq 500\) 题解 非确定性有限状态决策自动机。 首先考虑对模式串建一个自动机。对于每一位我

「题解」洛谷 P1403 [AHOI2005]约数研究

题目 P1403 [AHOI2005]约数研究 简化题意 \(f(x)\) 表示 \(\sum\limits_{i = 1} ^ {x} [i\mid x]\) 求 \(\sum\limits_{i = 1}^{n} f(i)\)。 思路 整除分块。 一个数 \(i\) 在 \(1 \sim n\) 中它的倍数一共有 \(\left\lfloor \dfrac{n}{i} \right\rfloor\) 个,即 \(i\) 对答案的贡

P2536 [AHOI2005]病毒检测

目录题意描述算法分析代码实现结语 题意描述 太复杂了,自己去看吧[AHOI2005]病毒检测。 下面是闲聊部分,忙人请直接看到算法分析。 嗯,这是一道细节很多的题目,关键是...它卡常,所以我是靠吸氧过的...。 当然了,这不重要,重要的是这道题让我的解题有了新思路:在 \(trie\) 上跑 DFS/BFS。

P1403 [AHOI2005]约数研究

题目描述 科学家们在Samuel星球上的探险得到了丰富的能源储备,这使得空间站中大型计算机“Samuel II”的长时间运算成为了可能。由于在去年一年的辛苦工作取得了不错的成绩,小联被允许用“Samuel II”进行数学研究。 小联最近在研究和约数有关的问题,他统计每个正数N的约数的个数,并

BZOJ1968: [Ahoi2005]COMMON 约数研究 线性筛

Code: #include <cstdio> #include <algorithm> #define N 1000004 #define setIO(s) freopen(s".in","r",stdin) using namespace std; int tot; int f[N],prime[N],vis[N],sum[N];int main() { //setIO("input");

[AHOI2005]航线规划(树链剖分+时间倒流)

传送门 练一下树剖的板子,运用一下时间倒流和下放边权的思想。 题中所谓“关键航线”其实就是桥。 删边操作桥不好维护,但如果是加边,每加一条边,两点作为端点的这条路径就都不再是桥----->考虑时间倒流。 从后往前,每删除一条边,现在就是加边,该路径上所有边都不是桥(打上标记)。 可以先求

luogu 2542 [AHOI2005]航线规划

题目链接:luogu2542 先考虑没有修改操作应该如何完成询问:使用\(Tarjan\)对点双进行缩点,答案就是缩完点后两点之间的距离 再考虑有修改的情况,注意到修改只有删除一种操作,于是可以考虑倒序加边 使用\(LCT\)维护这个加边的过程,考虑每一次加边对图中点双的影响:如果连成了一个环,那么就将

P1403 [AHOI2005]约数研究

很简单的数学题啦 推一下就知道f(i) = n / i啦 AC代码: 1 #include<bits/stdc++.h> 2 #define pi acos(-1) 3 typedef long long ll; 4 typedef unsigned long long ull; 5 using namespace std; 6 7 namespace io { 8 const int SIZE = 1e7 + 10; 9 char inbuff[SIZE]

P2536 [AHOI2005]病毒检测(记忆化搜索)

题目描述 科学家们在Samuel星球上的探险仍在继续。非常幸运的,在Samuel星球的南极附近,探险机器人发现了一个巨大的冰湖!机器人在这个冰湖中搜集到了许多RNA片段运回了实验基地。 科学家们经过几个昼夜的研究,发现这些RNA片段中有许多是未知的病毒! 每个RNA片段都是由A、C、T、G组成的

[BZOJ1969] [AHOI2005]LANE 航线规划

Description 对Samuel星球的探险已经取得了非常巨大的成就,于是科学家们将目光投向了Samuel星球所在的星系——一个巨大的由千百万星球构成的Samuel星系。 星际空间站的Samuel II巨型计算机经过长期探测,已经锁定了Samuel星系中许多星球的空间坐标,并对这些星球从1开始编号1、2、3……

P2542 [AHOI2005]航线规划 LCT维护双连通分量

\(\color{#0066ff}{ 题目描述 }\) 对Samuel星球的探险已经取得了非常巨大的成就,于是科学家们将目光投向了Samuel星球所在的星系——一个巨大的由千百万星球构成的Samuel星系。 星际空间站的Samuel II巨型计算机经过长期探测,已经锁定了Samuel星系中许多星球的空间坐标,并对这些星球从

洛谷 P2054 [AHOI2005]洗牌

逆元是积性函数,这道题还用了一个mul函数,防止爆long long #include<bits/stdc++.h> using namespace std; typedef long long ll; ll N,M,L; ll MOD; ll mul(ll a, ll b) { ll ret = 0; while (b) { if (b & 1) ret = (ret + a) % MOD; a = (a + a) % MOD; b >>