![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
51nod
Cold_Chair
我XXX就是饿死,死外边,从这里跳下去,也不会再做你九条可怜一个测试点
展开
-
51nod 1238 最小公倍数之和 V3
题目描述:求: ∑ni=1∑nj=1lcm(i,j)\sum_{i = 1}^n \sum_{j = 1}^n lcm(i, j)题解:∑ni=1∑nj=1lcm(i,j)\sum_{i = 1}^n \sum_{j = 1}^n lcm(i, j) =(∑ni=1∑ij=1lcm(i,j))∗2−n∗(n+1)/2=(\sum_{i = 1}^n \sum_{j = 1}^i l原创 2017-07-03 19:14:35 · 693 阅读 · 0 评论 -
51nod 算法马拉松29 C题 美丽的集合
原题链接。这其实是我第一次在算马上交题,但是我太弱了,除了这题,都不会。每次合并两个集合其实就是把一个集合的元素弄到一个集合里去做01背包。竟然有集合合并,那显然要启发式合并了,这样最多提出n log n个元素。但是如果暴力01背包每次的复杂度是10^5,难以接受。注意到这个01背包非常特殊,它只要求是否能够凑成这个体积,所以这是一个布尔值。 于是bitset就可以用了,每次暴力左移,再或上去就行原创 2017-10-06 19:31:38 · 392 阅读 · 0 评论 -
51nod 1323 完美平方
题目链接.异或方程组高斯消元例题。每个元素选与不选设为未知数。同一行同一列搞个方程。至于是完全平方数就分解质因数,对每个质因子建一个方程。答案是2的自由元个数次幂。自由元个数=元的个数-有用方程的条数。其实我到现在才知道高斯消元非三角矩阵的打法,感觉以前学了假的消元。可以用bitset优化,很简单,这里不讲。算法竞赛入门经典这本书里有一道类似的题,打法也是从那里...原创 2017-10-06 21:59:40 · 427 阅读 · 0 评论 -
51nod 1515 明辨是非 && 2017百度之星初赛第一场第二题(并查集+启发式合并)
题目:原题链接 给n组操作,每组操作形式为x y p。 当p为1时,如果第x变量和第y个变量可以相等,则输出YES,并限制他们相等;否则输出NO,并忽略此次操作。 当p为0时,如果第x变量和第y个变量可以不相等,则输出YES,并限制他们不相等 ;否则输出NO,并忽略此次操作。 n<=1*10^5题解:暑假打百度之星时还傻傻地以为这题就是奇偶游戏(奇偶游戏中变量的值只能是0,1)。等于有传递性原创 2017-09-21 12:12:37 · 463 阅读 · 0 评论 -
51nod 1318 最大公约数与最小公倍数方程组
原题链接.题解:首先分解质因数,gcd就相当于指数的min,lcm就相当于指数的max。于是问题变成了这样: 给出一坨类似于以下的限制: min(a,b) = c max(a,b) = c 问是否有解?以min为例.min(a,b) = c 即(a >= c) and (b >= c) and (a = c or b = c)注意到指数是很小的,c不超过三十。于是可以把x拆成31(0->3原创 2017-10-23 20:05:33 · 640 阅读 · 1 评论 -
51nod 1299 监狱逃离
原题链接.初二的时候就听老曹讲过这题。据说一个最小割就过了。最小割特别显然。每个点x->x’连代价为1的边,不要这个点就是割掉这条边。对于每个有人的点x,S->x连正无穷。对于每个叶子节点x,x->T连正无穷。对于每条树边x->y,x->y’连正无穷。跑最大流=最小割,就是答案。100000需要梦想。正解是个辣鸡树形dp。选一个叶子节点为根。fi,0/1/2f_{i,0/1/2}分别表示: 0.子原创 2017-11-29 12:30:46 · 359 阅读 · 0 评论 -
51nod 1835 完全图
原题链接. 比赛时我怎么都不会做这一题。旁边人表过了。显然的状态是fi,jf_{i,j}表示用了序号前i个,有j块的方案数。显然可以枚举第i个放的块的大小来转移。fi,j=∑i−(j−1)k=1fi−k,k−1∗fk−1,1∗Ck−1i−1f_{i,j} =\sum_{k=1}^{i-(j-1)}f_{i-k,k-1}*f_{k-1,1}*C_{i-1}^{k-1}这条方程神奇之处在于自我调用fk原创 2017-11-29 12:20:14 · 548 阅读 · 2 评论 -
51nod 1290 Counting Diff Pairs
原题链接.看到n <= 50000就要有莫队的敏感度。某infleaking说也许整体二分套个数据结构是行的。离散一下,直接莫队,用个常数小的树状数组维护一下就行了。理论复杂度:O(nn√ log n)≈1.6∗109O(n \sqrt n ~log ~n)≈1.6*10^9。加上那么一点小常数也许会T。可是我才跑了1.6s,时限4s,……Code:#include<cstdio>#include原创 2017-11-23 18:46:39 · 336 阅读 · 0 评论 -
51nod 1203 JZPLCM
原题链接.据说这是某国家队爷的题,怪不得我一眼不会。求lcm即求各个质因子对应得指数的最大值。这时候想到以前做过几道类似的题怎么做的。把<n√<\sqrt n的质因子分成一块,大于>n√>\sqrt n的质因子分成一块。这样做的优势是<n√<\sqrt n的质因子的个数少, 而,>n√>\sqrt n的质因子的指数最大为1。那么这道题就显然了。<n√<\sqrt n的质因子强行RMQ,因为只有48原创 2017-11-23 18:40:15 · 292 阅读 · 0 评论 -
默慈金数学习小记 && 51nod 1556 计算
参考博客:ACdreamers.事实上默慈金数很偏门,据说早就渗入ACM竞赛中了(庆幸我才初中)。默慈金数定义:在一个圆上有n个不同的点,画出彼此互不相交弦的方案数(可以不画)即是第n个默慈金数。递推公式: M(1)=1,M(2)=2M(1)=1,M(2)=2 M(n+1)=M(n)+∑n−1i=0M(i)∗M(n−1−i)M(n+1)=M(n)+\sum_{i=0}^{n-1}M(i)*M(n原创 2017-11-20 20:20:12 · 524 阅读 · 0 评论 -
51nod 2026 Gcd and Lcm
原题链接.题目大意:设f(n)=∑d|nμ(d)∗df(n) = \sum_{d|n}μ(d)*d。 求∑ni=1∑nj=1f(gcd(i,j))∗f(lcm(i,j))\sum_{i = 1}^n \sum_{j = 1}^n f(gcd(i, j)) * f(lcm(i, j)) 1<=n<=1091<=n<=10^9题解:把μ(d)*d看作一个整体,这是一个积性函数,卷了一个恒等函数,那么原创 2017-09-02 15:21:37 · 853 阅读 · 0 评论 -
51nod 1686 第K大区间
Description:定义一个区间的值为其众数出现的次数。 现给出n个数,求将所有区间的值排序后,第K大的值为多少。 1<=n<=100000, k<=n*(n-1)/2。题解:这道题是从大到小排序,题目没说。发现答案是单调的,所以尝试二分答案。 二分出答案Mid后,我们是可以O(n)扫一遍来得出值大于等于Mid的区间有多少个的。 具体的话,从左往右扫,对于当前的第i个位置,找到值和a[i原创 2017-09-08 20:37:19 · 384 阅读 · 0 评论 -
51nod 1190 最小公倍数之和V2
题目大意:给出2个数a, b,求LCM(a,b) + LCM(a+1,b) + .. + LCM(b,b)。 1T组数据,1且数据为随机,没有构造的卡人数据。题解:这一题我是不会的,去网上看了下题解,发现了一个奇怪的反演姿势。必要结论: ∑d|nμ(d)=(n=1)\sum_{d | n} μ(d) = (n = 1) 证明略。Ans=∑bi=alcm(i)Ans原创 2017-07-02 21:46:36 · 568 阅读 · 1 评论 -
51nod 1237 最大公约数之和 V3
题目大意:G=0;for(i=1;i<=N;i++)for(j=1;j<=N;j++){ G = (G + gcd(i,j)) % 1000000007;}题解:杜教筛。 这里提供两种反演姿势,之后我们会发现一个神奇的东西。 在此之前你得会杜教筛φ。反演1:∑ni=1∑nj=1gcd(i,j)\sum_{i = 1}^n \sum_{j = 1}^n gcd(i, j) =2∗原创 2017-06-23 12:47:34 · 529 阅读 · 0 评论 -
51nod 1239 欧拉函数之和
题目描述:求: ∑ni=1φ(i)\sum_{i = 1}^n φ(i) 1 <= n <= 10题解:杜教筛第二道裸题。必要结论: ∑i|nφ(i)=n\sum_{i|n} φ(i) = n证明: 设f(n) = ∑i|nφ(i)\sum_{i|n} φ(i) 将n分解质因数,n = ∏pqii\prod_{{p_i^{q_i}}} 利用莫比乌斯函数里学到的一个性质,可以得到: f(原创 2017-06-20 19:13:51 · 468 阅读 · 0 评论 -
51nod 1244 莫比乌斯函数之和
题目描述:求∑bi=aμ(i)\sum_{i = a}^b μ(i) 1<=a<=b<=10^10题解:杜教筛的裸题。 设s(n) = ∑ni=1μ(i)\sum_{i=1}^n μ(i)我们在学莫比乌斯反演的时候曾经证明过: ∑i|nμ(i)\sum_{i | n} μ(i) = (n = 1)∑ni=1∑j|iμ(i)\sum_{i=1}^n \sum_{j | i} μ(i) = 1原创 2017-06-19 19:23:30 · 551 阅读 · 0 评论 -
51nod 1769 Clarke and math2
题目大意:他突然想算这么一个式子,给出 f(i),1≤i≤n ,要求算 g(i)=∑i1∣i∑i2∣i1∑i3∣i2⋯∑ik∣ik−1f(ik) mod 1000000007 (1≤i≤n,ij∈N+) 题解:设c(i)为i经过k轮变换后为1的方案数。 那么显然可以这样求g(i*j) += f(i) * c(j) (1 <= j <= ⌊n/i⌋\lfloor n / i \rfloor).原创 2017-07-08 16:19:24 · 513 阅读 · 0 评论 -
51nod 1222 最小公倍数计数
题目大意:求有多少个二元组[x,y]满足a<=lcm(x, y)<=b且x<=y。 1<=a<=b<=101110^{11}题解:先不考虑x<=y的情况,求出答案以后加上(b - a + 1)再除以2即可。 要满足a<=lcm(x,y)<=b,可以先求出1 ~ a - 1, 1 ~ b的,再相减。 由于我很弱,所以我一步一步来:Ans=∑ni=1∑nj=1[lcm(i,j)<=n]Ans =原创 2017-07-06 11:44:07 · 441 阅读 · 0 评论 -
51 nod 1188 最大公约数之和 V2(狄利克雷卷积+线性筛法)
六级算法题的不一样做法原创 2017-06-22 19:03:38 · 500 阅读 · 0 评论 -
51nod 1643 小Q的家庭作业
Description:定义 f(n) 表示 1 到 n 这 n 个数,同 n 的最大公约数的和。 例如 f(1)=1,f(2)=3,f(3)=5,f(6)=15 ,比如 n=6 时 1,2,3,4,5,6 同 6 的最大公约数分别为 1,2,3,2,1,6 ,它们的和是 15 。 小Q遇到了一个问题,Nod老师要求他回家计算 g(n)=∑d|nf(d) 这个函数模 1000000007 的值,原创 2017-08-26 18:01:15 · 467 阅读 · 0 评论 -
51nod 1419 最小公倍数挑战
原题链接题目大意:从1到n中选三个数字(可以相同)。使得他们的最小公倍数最大。 要求O(1)。题解:n<=3时打表。首先要想起胎教时学的相邻两个正整数互质这个东西,证明用欧几里得显然。假设我们选n、(n-1)、(n-2)。 n和(n-1)是互质的,(n-1)和(n-2)也是互质的。 gcd(n,n-2) = gcd(n, 2).所以当n是奇数,显然选n、(n-1)、(n-2)最优。所以当n是偶原创 2017-09-22 19:37:05 · 296 阅读 · 0 评论 -
Miller-Rabin和Pollard-Rho算法学习小记
前言:很早前就看到这两个算法了,但是之前没有看懂。好吧,模拟赛遇到了,不学不行啊。Miller-Rabin测试:我们知道常用的最快的判断质数的办法约是O(n−−√)(n)(\sqrt n)的。Miller-Rabin测试是一种随机的算法,可以通过...原创 2018-05-28 21:37:23 · 610 阅读 · 0 评论