codeforces604div2E 有一列nnn个镜子,一个人走到第iii个镜子是快乐的概率是p[i]p[i]p[i],如果他快乐,那么他会走到下一个镜子,如果不快乐他会回到第111个镜子,问他走完nnn面镜子的期望步数.令f[i]f[i]f[i]为从第iii面镜子走完所有镜子的期望步数所以f[i]=1+p[i]⋅f[i]+1+(1−p[i])⋅f[1]f[i]=1+p[i]⋅f[i]+1+(1−p[i])⋅f[1]f[i]=1...
codeforces609div2C 有一个长度为n(1<=n<=200000)的数字,求一个最小的数字,使得它比该数字大,且循环节为k.前k个数字可以决定整个数字,如果构造出的数字比原数字小,考虑贪心使数字变大,即给第k个数字加上1.#include <iostream>#include <cstdio>#include <algorithm>using namespace ...
Codeforces#614 B 题意你有若干个1,2,3,4问是否可以用这些数构成一个数列,使得该数列相邻元素差的绝对值不超过1题解当只有三种数时前两种数可以任意构成数列可以发现波浪型数列可以用最小的代价消耗第三种数的个数那么有四种数时最优解一定是某种波浪数列构造即可#include <iostream>#include <cstdio>#include <cstring>...
Codeforces Educational Codeforces Round 77 D 题意:有一条线段,整数点标号为0-n+1在这条线段上有一些陷阱,你要带领一些士兵穿过这些陷阱每个陷阱有一个危险值,每个士兵也有一个能力值能力值小于陷阱危险值的士兵不能经过陷阱你可以通过移动到固定点解除陷阱,陷阱与固定点的关系由一条线段来描述你在线段上移动和你带着士兵在线段上移动消耗一单位时间,解除陷阱不消耗时间问你在固定时间内,最多带领多少士兵穿过线段题解注意到线段上的每个点都不...
割点的距离分层解法 割点定义在图中去掉该点使图变为非连通图的点叫做割点割点可以将图分为易于分开处理并且易于合并问题的子图平面图的距离分层在平面图中将所有点按距一个点的距离进行分层可以高效的处理割点性质令平面图中距源点距离为x的点的层数为x在平面图中,层数为x的点只能由层数为x-1的点到达若某个层数只有一个点,且图为连通图,那么该点一定为该图的割点ProblemCodeforces583D...
bzoj3944sum 传送门 杜教筛 可以知道∑ni=1∑d|iφ(d)==n∗(n+1)/2\sum_{i=1}^{n}\sum_{d|i}\varphi(d)==n*(n+1)/2 把式子转化成∑ni=1∑⌊n/i⌋d=1φ(d)\sum_{i=1}^n\sum_{d=1}^{\lfloor n/i \rfloor}\varphi(d) 这样的话每个φ(d)\varphi(d)都被算了多次 容斥一下 式子
[NOI2015]品酒大会 传送门 先对这个字符串求一下SA 考虑SA数组中第i位,暴力计算贡献就是向后枚举,然后计算枚举到的位与第i位之间height的最小值,然后对r==min(height)的贡献就是这一对数并且可以用他们的权值之积可以更新最大值 考虑height较大的是不会对height较小的有贡献,就可以从height大的到height小的依次计算 可以保证height较大的形成的集合通过当前height连在
[NOI2014]魔法森林 题目描述 为了得到书法大家的真传,小 E 同学下定决心去拜访住在魔法森林中的隐 士。魔法森林可以被看成一个包含 n 个节点 m 条边的无向图,节点标号为 1,2,3,…,n,边标号为 1,2,3,…,m。初始时小 E 同学在 1 号节点,隐士则住在 n 号节点。小 E 需要通过这一片魔法森林,才能够拜访到隐士。魔法森林中居住了一些妖怪。每当有人经过一条边的时候,这条边上的妖怪 就会对其发起攻击。幸
Codeforces Round #452 (Div. 2)划水报告 A. Splitting in Teams 贪心 先把二人组和一人组配对 然后一人组单独组成3个#include <iostream>#include <cstdio>using namespace std;int main(){ //freopen("a.in","r",stdin); //freopen("a.out","w",stdout); int n;
Codeforces Round #451 (Div. 2) 划水报告 A.Rounding 题意:给出一个数x,求出和x差值绝对值最小的,%10==0的数 贪心向上取整向下取整即可#include <iostream>#include <cstdio>#include <cstring>using namespace std;int A[200000+10];int main(){ //freopen("a.in","r",stdin);
[FJOI2014]最短路径树问题 Description给一个包含n个点,m条边的无向连通图。从顶点1出发,往其余所有点分别走一次并返回。往某一个点走时,选择总长度最短的路径走。若有多条长度最短的路径,则选择经过的顶点序列字典序最小的那条路径(如路径A为1,32,11,路径B为1,3,2,11,路径B字典序较小。注意是序列的字典序的最小,而非路径中节点编号相连的字符串字典序最小)。到达该点后按原路返回,然后往其他点走,
Codeforces Educational Round 34划水报告 A到E题 A. Hungry Student Problem 题意:给n个数,问这些数能不能拆成3∗x+7∗y(x>=0,y>=0)3*x+7*y(x>=0,y>=0)的形式 直接暴力枚举3的倍数计算#include <iostream>#include <cstdio>using namespace std;const int maxn=100000+10;int A[maxn];
FFT详解 多项式乘法:C[i]=A[j]∗B[i−j]C[i]=A[j]*B[i-j] 可以在O(n*m)时间内求出多项式点值表示n次多项式可以用n+1个二维平面上的点(x,y)来唯一表示证明设f(n)为一个n次多项式,g(n)为另一个1次多项式,且其点值表示相同 设其点值表示为x[n+1] 那么有f(x[i])-g(x[i])==0 令l(i)为f(i)-g(i) 可知l(i)零点有n+1个,与代
luoguP2279 [HNOI2003]消防局的设立 题目描述2020年,人类在火星上建立了一个庞大的基地群,总共有n个基地。起初为了节约材料,人类只修建了n-1条道路来连接这些基地,并且每两个基地都能够通过道路到达,所以所有的基地形成了一个巨大的树状结构。如果基地A到基地B至少要经过d条道路的话,我们称基地A到基地B的距离为d。由于火星上非常干燥,经常引发火灾,人类决定在火星上修建若干个消防局。消防局只能修建在基地里,每个消防局有能
[AHOI2009]中国象棋 题目描述这次小可可想解决的难题和中国象棋有关,在一个N行M列的棋盘上,让你放若干个炮(可以是0个),使得没有一个炮可以攻击到另一个炮,请问有多少种放置方法。大家肯定很清楚,在中国象棋中炮的行走方式是:一个炮攻击到另一个炮,当且仅当它们在同一行或同一列中,且它们之间恰好 有一个棋子。你也来和小可可一起锻炼一下思维吧!输入输出格式输入格式:一行包含两个整数N,M,之
bzoj2243: [SDOI2011]染色 Description给定一棵有n个节点的无根树和m个操作,操作有2类:1、将节点a到节点b路径上所有点都染成颜色c;2、询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段),如“112221”由3段组成:“11”、“222”和“1”。请你写一个程序依次完成这m个操作。Input第一行包含2个整数n和m,分别表示节点数和操作数;第二行包
bzoj1026: [SCOI2009]windy数 Description windy定义了一种windy数。不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。 windy想知道,在A和B之间,包括A和B,总共有多少个windy数?Input 包含两个整数,A B。Output 一个整数Sample Input【输入样例一】1 10【输入样例二】25 50
bzoj3172: [Tjoi2013]单词 Description某人读论文,一篇论文是由许多单词组成。但他发现一个单词会在论文中出现很多次,现在想知道每个单词分别在论文中出现多少次。Input第一个一个整数N,表示有多少个单词,接下来N行每行一个单词。每个单词由小写字母组成,NOutput输出N个整数,第i行的数字表示第i个单词在文章中出现了多少次。Sample Input3
luoguP1613 跑路 题目描述小A的工作不仅繁琐,更有苛刻的规定,要求小A每天早上在6:00之前到达公司,否则这个月工资清零。可是小A偏偏又有赖床的坏毛病。于是为了保住自己的工资,小A买了一个十分牛B的空间跑路器,每秒钟可以跑2^k千米(k是任意自然数)。当然,这个机器是用longint存的,所以总跑路长度不能超过maxlongint千米。小A的家到公司的路可以看做一个有向图,小A家为点1,公司为点n,每条边长度均为一千
bzoj2818Gcd Description给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的 数对(x,y)有多少对.Input一个整数NOutput如题Sample Input4Sample Output4 HINThint对于样例(2,2),(2,4),(3,3),(4,2)1<=N<=10^7Source湖北省队互测题解:要求gcd(x,y)==pgcd(x,y)==p 那么就是求gcd(x/p,y