- 博客(13)
- 收藏
- 关注
原创 Java多线程
开启多线程的三种方式继承Thread类1.继承Thread类2.重写run()方法3.调用star方法public class TestThread1 extends Thread{ /* 1.继承Thread类 2.重写run方法 3.调用start方法开启线程 */ @Override public void run() { for(int i=0;i<200;i++){ System.
2021-11-07 12:34:37
72
原创 方程的解
题目传送门xxx^xxx我们可以通过快速幂来求出问题在于如何求出a1+a2+...+ak=g(x)a_1+a_2+...+a_k=g(x)a1+a2+...+ak=g(x)对于样列 a1+a2+a3=4a_1+a_2+a_3=4a1+a2+a3=4我们假设有4个小球 O O O O,我们从中间插入两块板子,那么小球会被分成三堆O | O O | O 那么每堆的数量就是一个解,其板子不同的放法对应不同的解,那么问题就变成了C32C^2_3C32所以我们只需要求出从n-1个缝隙中插入k
2021-03-03 21:09:35
85
1
原创 青蛙的约会
题目传送门假设两只青蛙能碰面,且最少跳跃次数为t则有式子tm+x≡tn+y(modL)tm+x \equiv tn+y \pmod{L}tm+x≡tn+y(modL) 就是青蛙A和青蛙B经过k次跳跃的距离加上初始距离摸上L相等式子又可以化为tm+x+k1L=tn+y+k2Ltm+x+k_1L = tn+y+k_2Ltm+x+k1L=tn+y+k2L化简为t(m−n)+(k1−k2)L=y−xt(m-n)+(k_1-k_2)L=y-xt(m−n)+(k1−k2)L=y−x其中m-n和L和y-
2021-02-08 11:35:25
80
原创 最大公约数
题目传送门题目意思是x和y的最大公约数是素数,假设有一个素数P即k1∗p=xk1*p=xk1∗p=xk2∗p=yk2*p=yk2∗p=y我们可以看到当要使x和y的最大公约数是p,那么k1和k2必须是互质的。那么我们可以枚举1-n的所有质数,对于每个质数p,它的最大系数为n/p,那么对于1~n/p中与n/p的互质的个数即是解那么对于n/p-1,1~n/p-1中与n/p-1互质的个数也是解,以此类推互质的个数可以用欧拉函数求,2~n/p欧拉函数的和可以用前缀和来求#include<bit
2021-02-07 19:19:21
99
原创 樱花
题目传送门首先对于1x+1y=1n!\frac{1}{x}+\frac{1}{y}=\frac{1}{n!}x1+y1=n!1x和y必然有一个数是大于n!的,那么我们可以假设y是大于n!的,那么式子可以化为1x+1n!+k=1n!\frac{1}{x}+\frac{1}{n!+k}=\frac{1}{n!}x1+n!+k1=n!1化简后为x=n!2k+n!x=\frac{n!^2}{k}+n!x=kn!2+n!由上式子可以看出当x为正整数时,k必须要整除n!2n!^2n!2,即n!
2021-02-07 12:45:04
79
原创 约数之和
题目传送门我们知道约数之和的公式是(p10+p11+p12+p1Bc1)(p20+p21+p22+p2Bc2)(p_1^0+p_1^1+p_1^2+p_1^{Bc1})(p_2^0+p_2^1+p_2^2+p_2^{Bc2})(p10+p11+p12+p1Bc1)(p20+p21+p22+p2Bc2)…我们可以看出每一个式子都是等比数列求出所有式子的乘积就是答案,那么每一项的和为piBci+1−1pi−1\frac{p_i^{Bc_i+1}-1}{p_i-1}pi−1piBci+1
2021-01-25 12:18:07
881
1
原创 最幸运的数字
10x−19∗8≡0(modL)\frac{10^x-1}{9}*8\equiv0\pmod{L}910x−1∗8≡0(modL)(10x−1)∗8≡0(mod9L)(10^x-1)*8\equiv0\pmod{9L}(10x−1)∗8≡0(mod9L)令d=gcd(8,L)(10x−1)∗8d≡0(mod9Ld)(10^x-1)*\frac{8}{d}\equiv0\pmod{\frac{9L}{d}}(10x−1)∗d8≡0(modd9L)那么此时8d和9Ld\frac{8}{d}和\fr
2021-01-24 16:20:18
212
原创 cf div2(1.21) D.Cleaning
题目传送门算法:前缀和我们用pre[i]表示前个石头的差值用sum[i]表示从第i个到第n个石头的差值当pre[i]==sum[i+1]时,表示不用交换就可以完成任务如果不相等我们交换a[i]和a[i+1]再来比较a[i]-pre[i-1]和a[i+1]-sum[i+2]是否相等,如果相等说明交换后可以完成任务贴上代码#include<bits/stdc++.h>using namespace std;typedef long long ll;const ll inf=1e
2021-01-21 18:40:49
176
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人