bzoj4891: [Tjoi2017]龙舟】的更多相关文章

对给定模数分解质因数后约分即可.依然常数巨大过不了. #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> #include<cstring> #include<algorithm> using namespace std; #define ll long long #define N 10010 ')) c=getchar();return c;}…
Description 加里敦大学有一个龙舟队,龙舟队有n支队伍,每只队伍有m个划手,龙舟比赛是一个集体项目,和每个人的能力息息相关,但由于龙舟讲究配合,所以评价队伍的能力的是一个值c = (b1*b2...*bm)/(a1*a2...*am),其中bi表示第i个位置标准能力值,ai表示在队伍中第i个位置的划手的能力值.最 后通过约分,我们会得到c= B/A,其中gcd(B,A)=1,即A, B是互质的, 但是由于比赛现场的情况不一样,我们认为在现场压力为M的情况下,队伍最后的表现情况认为是C=…
求$\frac{b_1b_2b_3...b_m}{a_1a_2a_3...a_m}\%M$ M<=1e18,m<=100000,数据组数<=50 用pollard-rho分解M的质因数,提取出$b_i,a_i$与M不互质的部分处理一下 #include<cstdio> #include<algorithm> typedef long long i64; typedef long double ld; ],*ptr=buf+; int G(){ ==ptr)frea…
[BZOJ4891][TJOI2017]龙舟(Pollard_rho) 题面 BZOJ 洛谷 题解 看了半天题....就是让你求\(\frac{b}{a}\)在模\(M\)意义下的值... 首先把\(M\)分解,把\(a,b\)中的这些质因子全部分解出来,剩下的部分和\(M\)互质,直接求逆就行了,分解出来的部分如果分母大于分子,显然无逆,输出-1就行了. #include<iostream> #include<cstdio> #include<cstdlib> #in…
BZOJ_4892_[Tjoi2017]dna_哈希 Description 加里敦大学的生物研究所,发现了决定人喜不喜欢吃藕的基因序列S,有这个序列的碱基序列就会表现出喜欢吃藕的 性状,但是研究人员发现对碱基序列S,任意修改其中不超过3个碱基,依然能够表现出吃藕的性状.现在研究人员 想知道这个基因在DNA链S0上的位置.所以你需要统计在一个表现出吃藕性状的人的DNA序列S0上,有多少个连续子 串可能是该基因,即有多少个S0的连续子串修改小于等于三个字母能够变成S. Input 第一行有一个数T…
bzoj4892 [TJOI2017]DNA 给定一个匹配串和一个模式串,求模式串有多少个连续子串能够修改不超过 \(3\) 个字符变成匹配串 \(len\leq10^5\) hash 枚举子串左端点,hash 求 lcp 枚举断点,接着跳过断点,记作一次修改,最多修改 \(3\) 次.特判修改 \(3\) 次后剩余部分是否相等. 时间复杂度 \(O(n\log n)\) 代码 #include <bits/stdc++.h> using namespace std; typedef unsi…
[BZOJ4890][TJOI2017]城市(动态规划) 题面 BZOJ 洛谷 题解 数据范围都这样了,显然可以暴力枚举断开哪条边. 然后求出两侧直径,暴力在直径上面找到一个点,使得其距离直径两端点的最大距离最小. 然后我用线段树求的直径,就跑得很快了. #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include&…
[BZOJ4887][TJOI2017]可乐(矩阵快速幂) 题面 BZOJ 洛谷 题解 模板题??? #include<iostream> #include<cstdio> #include<cstring> using namespace std; #define MAX 35 #define MOD 2017 inline int read() { int x=0;bool t=false;char ch=getchar(); while((ch<'0'||c…
题目如下: 现在正在举行龙舟比赛,我们现在获得了最后冲刺时的俯视图像,现在你要输出各条龙舟的名次. 这张图像由r行c列的字符组成,每行的最左边的字符表示起点,所以字符为'S',最右边的字符为'F'.并且确定在9行里有数字字符1..9,来表示每条龙舟的编号,保证包含数字的行里,只包含连续的相同的3个数字.其余地方都是字符'.'. 具体看样例.越靠近右边的龙舟排名越靠前.如果有并列的,那么他们的名次相同. 输入: 10 15 S..........222F S.....111.....F S...3…
[BZOJ4888][TJOI2017]异或和(树状数组) 题面 BZOJ 洛谷 题解 考虑每个位置上的答案,分类讨论这一位是否存在一,值域树状数组维护即可. #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<algorithm> #include<vector> using na…