关闭
当前搜索:

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)都被算了多次 容斥一下 式子...
阅读(28) 评论(0)

[NOI2015]品酒大会

传送门 先对这个字符串求一下SA 考虑SA数组中第i位,暴力计算贡献就是向后枚举,然后计算枚举到的位与第i位之间height的最小值,然后对r==min(height)的贡献就是这一对数并且可以用他们的权值之积可以更新最大值 考虑height较大的是不会对height较小的有贡献,就可以从height大的到height小的依次计算 可以保证height较大的形成的集合通过当前height连在...
阅读(39) 评论(0)

[NOI2014]魔法森林

题目描述 为了得到书法大家的真传,小 E 同学下定决心去拜访住在魔法森林中的隐 士。魔法森林可以被看成一个包含 n 个节点 m 条边的无向图,节点标号为 1,2,3,…,n,边标号为 1,2,3,…,m。初始时小 E 同学在 1 号节点,隐士则住在 n 号节点。小 E 需要通过这一片魔法森林,才能够拜访到隐士。魔法森林中居住了一些妖怪。每当有人经过一条边的时候,这条边上的妖怪 就会对其发起攻击。幸...
阅读(31) 评论(0)

Codeforces Round #452 (Div. 2)划水报告

A. Splitting in Teams 贪心 先把二人组和一人组配对 然后一人组单独组成3个#include #include using namespace std; int main(){ //freopen("a.in","r",stdin); //freopen("a.out","w",stdout); int n;...
阅读(35) 评论(0)

Codeforces Round #451 (Div. 2) 划水报告

A.Rounding 题意:给出一个数x,求出和x差值绝对值最小的,%10==0的数 贪心向上取整向下取整即可#include #include #include using namespace std; int A[200000+10]; int main(){ //freopen("a.in","r",stdin);...
阅读(35) 评论(0)

[FJOI2014]最短路径树问题

Description 给一个包含n个点,m条边的无向连通图。从顶点1出发,往其余所有点分别走一次并返回。 往某一个点走时,选择总长度最短的路径走。若有多条长度最短的路径,则选择经过的顶点序列字典序最小的那条路径(如路径A为1,32,11,路径B为1,3,2,11,路径B字典序较小。注意是序列的字典序的最小,而非路径中节点编号相连的字符串字典序最小)。到达该点后按原路返回,然后往其他点走,...
阅读(48) 评论(0)

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 #include using namespace std; const int maxn=100000+10; int A[maxn];...
阅读(26) 评论(0)

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个,与代...
阅读(62) 评论(0)

luoguP2279 [HNOI2003]消防局的设立

题目描述 2020年,人类在火星上建立了一个庞大的基地群,总共有n个基地。起初为了节约材料,人类只修建了n-1条道路来连接这些基地,并且每两个基地都能够通过道路到达,所以所有的基地形成了一个巨大的树状结构。如果基地A到基地B至少要经过d条道路的话,我们称基地A到基地B的距离为d。 由于火星上非常干燥,经常引发火灾,人类决定在火星上修建若干个消防局。消防局只能修建在基地里,每个消防局有能...
阅读(30) 评论(0)

[AHOI2009]中国象棋

题目描述 这次小可可想解决的难题和中国象棋有关,在一个N行M列的棋盘上,让你放若干个炮(可以是0个),使得没有一个炮可以攻击到另一个炮,请问有多少种放置方法。大家肯定很清楚,在中国象棋中炮的行走方式是:一个炮攻击到另一个炮,当且仅当它们在同一行或同一列中,且它们之间恰好 有一个棋子。你也来和小可可一起锻炼一下思维吧! 输入输出格式 输入格式: 一行包含两个整数N,M,之...
阅读(47) 评论(0)

bzoj2243: [SDOI2011]染色

Description 给定一棵有n个节点的无根树和m个操作,操作有2类: 1、将节点a到节点b路径上所有点都染成颜色c; 2、询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段), 如“112221”由3段组成:“11”、“222”和“1”。 请你写一个程序依次完成这m个操作。 Input 第一行包含2个整数n和m,分别表示节点数和操作数; 第二行包...
阅读(30) 评论(0)

bzoj1026: [SCOI2009]windy数

Description   windy定义了一种windy数。不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。 windy想知道, 在A和B之间,包括A和B,总共有多少个windy数? Input   包含两个整数,A B。 Output   一个整数 Sample Input 【输入样例一】 1 10 【输入样例二】 25 50 ...
阅读(26) 评论(0)

bzoj3172: [Tjoi2013]单词

Description 某人读论文,一篇论文是由许多单词组成。但他发现一个单词会在论文中出现很多次,现在想知道每个单词分别在论文中出现多少次。 Input 第一个一个整数N,表示有多少个单词,接下来N行每行一个单词。每个单词由小写字母组成,N Output 输出N个整数,第i行的数字表示第i个单词在文章中出现了多少次。 Sample Input 3 ...
阅读(26) 评论(0)

luoguP1613 跑路

题目描述小A的工作不仅繁琐,更有苛刻的规定,要求小A每天早上在6:00之前到达公司,否则这个月工资清零。可是小A偏偏又有赖床的坏毛病。于是为了保住自己的工资,小A买了一个十分牛B的空间跑路器,每秒钟可以跑2^k千米(k是任意自然数)。当然,这个机器是用longint存的,所以总跑路长度不能超过maxlongint千米。小A的家到公司的路可以看做一个有向图,小A家为点1,公司为点n,每条边长度均为一千...
阅读(25) 评论(0)

luoguP1415 拆分数列

题目背景【为了响应党中央勤节俭、反铺张的精神,题目背景描述故事部分略去^-^】题目描述给出一列数字,需要你添加任意多个逗号将其拆成若干个严格递增的数。如果有多组解,则输出使得最后一个数最小的同时,字典序最大的解(即先要满足最后一个数最小;如果有多组解,则使得第一个数尽量大;如果仍有多组解,则使得第二个数尽量大,依次类推……)。输入输出格式输入格式: 共一行,为初始的数字。输出格式: 共一行,为拆...
阅读(50) 评论(0)
105条 共7页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:15329次
    • 积分:1158
    • 等级:
    • 排名:千里之外
    • 原创:105篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条