6 lliinnhhhan

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 20w+

jackson node 类图

刚好使用到,没怎么在csdn上找到,遂贴张图(有问题还请不吝赐教)

2020-09-05 10:36:48

codeforces 682 C

题意给出一棵树,dist(u,v)>au的点为sad点,dis(u,v)为从u到子结点v上的权值之和,au为结点u上的权值。计算删除多少个叶子结点,使得该树不存在sad点。dfs  从根结点开始计算,假设dist>au 那么 以该结点作为父节点的子树都不符合条件。假设distimport java.util.ArrayList;import java.util.Lin

2016-06-19 16:29:15

hdu 1154

给出两个点所在直线  然后求出直线和多边形的交线长度#include #include #include #include #include #include using namespace std;const double eps=1e-8;const int maxn=1e3+5;struct Point{ double x,y; Point(doub

2015-09-19 21:47:51

hdu 4502

题意:就是给出一个矩阵,矩阵上有非负的数值。然后你需要从(1,1)->(n,m)把过程中的值加起来。然后求出路径上最大的路线值的和。/*********************************************************************************************************************************

2015-09-10 17:59:59

uva 11889

给出a,c 求出最小的b .利用质因数分解的思想拆开a和c的因子,然后凑出b#include #include #include #include #include #include using namespace std;typedef long long ll;const int maxn=1e4+5;int prime[maxn],len=0;bool vis[m

2015-09-02 17:18:42

poj 1845

题目:求出A^B的因子和modp的值思路:利用sigma函数计算即可。sum=(p1^(k1*B+1)-1)/(p1-1)*...     然后就是将/(p1-1)转化成逆元去计算 就可以避免/运算。    但是这边有一个问题是 如果p|p1-1  那么逆元无解。wa情况。    也就只能另外计算了。p1=k*p+1 因为对于乘法同余,所以值为(k1*B+1)#incl

2015-08-27 00:12:42

4002 大数 java

import java.util.*;import java.io.*;import java.math.*;public class Main{static int[] pri=new int[1000];static int len=0,anslen;static BigInteger n,up,temp;static boolean[] vis=new boo

2015-08-26 11:00:54

素数测试

费马小定理:   p是质数,则  0 二次探测定理:  0一次的miller-rabin如果p是质数,则偶数  p-1=m*2^q。求出m和q。然后先计算x^m的值.然后计算temp= (x^m)*2*k%p的值temp=1  x!=1 和x!=p-1 ,p就不是素数 。不满足二次探测temp!=1  把取模后的值作为新的x      循环计算知道k=q的时

2015-08-18 10:17:10

同余式和中国剩余定理

x≡b1(mod a1)  1x≡b2(mod a2)  2x≡b3(mod a3)  4x≡b4(mod a4)  5x=k1*a1+b1≡b2(mod a2)k1*a1≡b2-b1(mod a2)裴蜀定理:对于方程 a*x+b*y=n;有整数解的充分必要条件是(n % gcd(a,b)== 0),            即n能够被a和b的最大公约数整除,其实

2015-08-17 10:25:41

sgu 106

给出a,b,c,x1,x2,y1,y2然后你要做的就是找出在矩形框内的整数点有多少个。初始解(x*(-c)/g,y*(-c)/g)然后对于x轴方向上的增量是 b/g我写成几何了 我去  。。。好好的数论题。先用扩展欧几里德求出初始解,获取到在离矩形框最近的点的x坐标。  然后计算直线和x=x1,x2,y=y1和y2上的点。然后取中间两个。判断两个点是否都在矩形框上。如果存在

2015-08-16 01:30:19

欧几里得

欧几里得gcd(a,b)=gcd(b,a%b)证明:1. d=gcd(a,b)          => d|a,  d|b   令r=a-kb  所以 d|r  也就是  r 和 b 存在d的公约数。     假设 d=gcd( b,a%b ) ,  d|b ,d|r  ==> d|(  a-kb  )   d|a  所以最大公约数满足  2. d=gcd(a,b) ,  a=

2015-08-14 11:20:31

hdu 2588

题目给你 一个n和m 然后你要去求gcd(x,n)>=m的个数保证1对于gcd(x,n)>=m可以看做是 gcd(x,n)=m,gcd(x,n)=m+1.....gcd(x,n)=n;   m必为n的倍数也就是 gcd(x/m,n/m)=1 也就是n/m内和n/m互质的数的个数。只要计算范围内的因子值的欧拉函数即可#include #include #include #i

2015-08-12 10:09:38

hdu 3501

给出一个n求出与n公约数大于1的数的和。对于一个a与n互质, 那么n-a与a也互质。不存在a与n互质,n-a=a的情况。也就是说a 和n-a总是成对存在  那么phi[n]是偶数。那么和n互质数的和就是 n*phi[n]/2#include #include #include #include #include #include using namespace std;t

2015-08-11 21:03:32

LightOJ 1197

给出一个区间 让你求区间内数的素数数量。#include #include #include #include #include #include using namespace std;const int maxn=50000;int prime[maxn],primelen;bool vis[maxn*2+5];void makeprime(){ prime

2015-08-10 15:37:13

UVA 11426

给出代码段int G=0;        for(int i=1; i            for(int j=i+1; j            {                G+=gcd(i,j);            }printf("%d\n",G);求G的值#include #include #include #include #i

2015-08-09 13:02:59

LightOj Mysterious Bacteria

给出x=b^p要让p尽量大。给出的x范围为负。质因数分解,然后计算幂指数间的最大公约数。如果是负数结果不能为偶数#include #include #include #include #include using namespace std;const int maxn=1e6+5;int len=0;long long prime[maxn];bool status[m

2015-08-07 14:11:11

hdu1124

求N!后面0的个数。产生0来源是2和5 2的话 每隔一个就有一个5的话  比较难得。所以关键就在于n!里面5的个数#include #include #include #include #include #include #include using namespace std;const int maxn=1e9+1;typedef long long ll;

2015-08-06 15:45:05

hdu1111

求  X = a0 + a1B + a2B2 + ...+ anBn 中a0,a1,....an的值  其中X,Bi是复数。在这边要注意复数没有取模运算符。只能利用秦九韶公式  X=((((an)*b+an-1)*b+an-2)*b)*b...)*b+a0如果非复数  那我们就可以使用 进制取模的方法 来写。然并没有。只能是在每一层枚举规定范围内的值,然后找到符合要求的值#in

2015-08-06 13:41:01

hdu1014

seed(x+1) = [seed(x) + STEP] % MODSTEP=3 MOD=5   出现的循环串是 0, 3, 1, 4, 2.假设gcd(step,mod)=g  ,令step=k*g,mod=m*g; 那么x=f*k*g-(f*k*g)/(m*g)*(m*g)=g*( f*k % m)*m )  {0序列是  {0,step ,2step,3step,4step,..

2015-08-04 17:02:05

hdu2601

求出n=i*j+i+j的对数是的(0#include #include #include #include #include #include using namespace std;typedef long long ll;const int maxn=1e6;ll prime[maxn],len=0;bool status[maxn];void pri(){

2015-08-04 09:08:49

查看更多

勋章 我的勋章
    暂无奖章