摘要:
这是一个普通人都想得出来的超简单但很有用的优化。 序言 给一个题: 计算n!的阶乘,n=ant(为什么不写成maxe 阅读全文
摘要:
update:添加了数学公式markdown 洛谷博客地址:https://www.luogu.com.cn/blog/KingofNight/post shuo lun zheng shuo fen kuai ji yang xi zheng ming 一.复杂度证明 引理一 :对于任意一个正整数 阅读全文
摘要:
此题其实比较水的。。。 首先我们来分析题目,我们假设,贝茜和艾尔西在i点相遇后贝西开始扛艾尔西,那么代价为多少呢? 显然,代价=贝茜到i点的最小代价+艾尔西到i点的最小代价+贝茜和艾尔西一起到n点的最小代价。 我们分开解决,首先贝茜到i点的最小代价=走的最少步数*b,而走的步数,我们跑一遍以spfa 阅读全文
摘要:
这题,主要是维护平方和来判断区间是否连续,但这里任然有两个问题: 1.值域为1e9,极限下,long long是一定会爆炸的 2.正如讨论区的,平方和可以被hack 那么该如何解决这个问题呢? 我的想法是——离散化! 离散化后,值域的极限就在1e6,假设这5e5个数,每个都是1e6,平方和也才5e1 阅读全文
摘要:
#include using namespace std; const int N=100001; int a[N],b[N],c[N]; inline string zhuan(int x){//int转化string string ant=""; while(x){ ant=char(x%10+'0')+ant; x/=10; } ... 阅读全文
摘要:
非常简单的实现没有什么好讲的,主要是链表的插入具有易实现的特点,才弄出的这玩意儿,效率一般... 本来估摸复杂度为O(nlogn),但似乎用stl后更高? 代码: 阅读全文
摘要:
特点:速度增涨缓慢(前期较慢),耗空间较大,自成素数表 优化 1.无限手动优化 即一开始往链表中加数时不要加完,可以只加奇数(注意2),这样可以少一半的空间时间,依次类推,可以消3,5......只是越往后越麻烦罢了。。。 2.富集优化 空间容易爆?没关系,我们可以至少少接近一半的空间!首先,先用1 阅读全文
摘要:
推导 假设,我们已经求出有一对x,y满足ax+by=gcd(a,b)。 我们想要求最小非负整的x,那么必须要减去一个能减的 最大值,我们设减去一个D,则方程变为: a(x-D)+by+aD=gcd(a,b) 整合一下: a(x-D)+b(y-aD/b)=gcd(a,b) 我们知道,gcd(a,b)是 阅读全文
摘要:
本题解讲的是快速暴力组合数的方法,需要知道以下知识(能做此题的大佬应该都知道吧。。。): 欧拉筛,组合数公式,卡速米(这个应该没人会吧?) 否则将引起不适 设π(x->y)为从x连乘到y(数学公式编译器崩了。。。) 组合数,大家都知道,公式为C(n,m)=!n/(!m*!(n-m)) 我们将它化简一 阅读全文
摘要:
看了此题,发现是求中位数,自然而然的想到了求kth 求kth有多种,我用的是权值线段树,即记录x的个数,但,我们看题,发现a[i]可以高达1e9,一个数组是开不完的, 不过万幸的是n只到了1e5,而求kth只需要知道大小关系就行,不需要知道具体的值,所以,我们可以用离散化来搞定它! 这里说一下sta 阅读全文