摘要: 对每个0<=i<n求f(g(i))的和,其中f(x)为斐波那契数列第x项,g(i)=k*i+b,k,b,n给定,模数给定。 斐波那契数有一种用矩阵乘法求的方法,这个矩阵A自己写,令F[i]为i和i+1的那个矩阵,F[i]=A^b*F[0],然后答案要求F[b]+F[k+b]+F[k*2+b]+……= 阅读全文
posted @ 2017-08-31 21:04 Blue233333 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 给n<=50000条01串,m<=50000个询问,每次给出一个01串求有多少个n条中有多少是它的前缀以及它是多少条的前缀。 前缀?Trie!匹配时记一路上单词节点的总量加上最后一个节点子树中单词节点总量即可。 1 #include<stdio.h> 2 #include<string.h> 3 # 阅读全文
posted @ 2017-08-31 13:06 Blue233333 阅读(236) 评论(0) 推荐(0) 编辑
摘要: n<=20000个车站,车能同时载C<=100个人,求能满足K<=50000群人的多少个。每群人给起点终点和人数,一群人不一定要都满足。 一开始想DP,想不出,很菜。 贪心即可。如果有右端点相同的几群人,那肯定优先满足左端点大的;如果有两群人发生冲突,而我们从左到右考虑区间的话,那肯定让左边的人先满 阅读全文
posted @ 2017-08-31 10:11 Blue233333 阅读(176) 评论(0) 推荐(0) 编辑
摘要: n<=100000个点给坐标,保证没有两点连线过原点,求选三个点构成包含原点的三角形的个数。 按题目要求统计的话,对一个点P,要在原点向P的射线的顺时针半圈选一个点和逆时针半圈选个点,然后选出的这两个点连线与y轴的交点还必须与P的纵坐标符号相反。 正难取反,考虑那些不经过原点的三角形怎么统计。一个点 阅读全文
posted @ 2017-08-31 08:34 Blue233333 阅读(168) 评论(0) 推荐(0) 编辑