题意:将1~2n个数依照顺时针排列好.用一条线将两个数字连接起来要求:线之间不能有交点.同一个点仅仅同意被连一次. 最后问给出一个n,有多少种方式满足条件. 分析: ans[n]表示n的中的种类数. 规定ans[0] = ans[1] = 1: 如果给出的数是n那么从1開始, 与1之间相连的数与1之间间隔的对数各自是0, 1, ..n-1, 那么我们就能够将他们切割成两部分,对于每一部分我们分别将其的结果求出,之后再相乘就是间隔对数s(s是0, .. n-1)的总的种类数. 最后我们能够总结出a…
Game of Connections Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 9128   Accepted: 4471 Description This is a small but ancient game. You are supposed to write down the numbers 1, 2, 3, . . . , 2n - 1, 2n consecutively in clockwise ord…
  Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 7888   Accepted: 3965 Description This is a small but ancient game. You are supposed to write down the numbers 1, 2, 3, . . . , 2n - 1, 2n consecutively in clockwise order on the ground t…
题目链接. 分析: 简单的 Catalan 数 将x~y编号,设解为 d(x, y), d(x, y) = {d(x+1,i-1)*d(i+1,y)}, 其中 x+1<= i  <= y, 注意x~y之间的数必须为偶数个. 这题除了要dp,还要使用大数(竟然有种想用java的冲动了).大数呢,用了下现成的模板. AC代码如下: #include<iostream> #include<string> #include<algorithm> #include &…
package com.njupt.acm; import java.math.BigInteger; import java.util.Scanner; public class POJ_2084 { public static void main(String[] args) { BigInteger catalan[] = new BigInteger[102]; catalan[1] = new BigInteger("1"); BigInteger one = new Big…
看了下大牛们的,原来这题是卡特兰数,顺便练练java.递归式子:h(0)=1,h(1)=1   h(n)= h(0)*h(n-1) + h(1)*h(n-2) + ... + h(n-1)h(0) (其中n>=2)   打表172MS import java.math.BigInteger; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in=new S…
Language: Game of Connections Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 8837 Accepted: 4358 Description This is a small but ancient game. You are supposed to write down the numbers 1, 2, 3, . . . , 2n - 1, 2n consecutively in clockwi…
<img src="https://miro.medium.com/max/1400/1*18lrHvJ8YtADJDT7hxIThA.jpeg" class="ge n o gd ab" width="700" height="553"/> Problem in hand So you have a VM or a remote server, that you have installed SQL Server…
在博客NYOJ 998 中已经写过计算欧拉函数的三种方法,这里不再赘述. 本题也是对欧拉函数的应用的考查,不过考查了另外一个数论基本定理:如何用欧拉函数求小于n且与n互质所有的正整数的和. 记euler(x)公式能计算小于等于x的并且和x互质的数的个数:我们再看一下如何求小于等于n的和n互质的数的和, 我们用sum(n)表示: 定理:若gcd(x, a)=1,则有gcd(x, x-a)=1: 证明:假设gcd(x, x-a)=k (k>1),那么有(x-a)%k=0---1式,x%k=0---2…
这道题是欧拉函数的使用,这里简要介绍下欧拉函数. 欧拉函数定义为:对于正整数n,欧拉函数是指不超过n且与n互质的正整数的个数. 欧拉函数的性质:1.设n = p1a1p2a2p3a3p4a4...pkak为正整数n的素数幂分解,那么φ(n) = n·(1-1/p1)·(1-1/p2)·(1-1/p3)···(1-1/pk) 2.如果n是质数,则φ(n) = n-1;  反之,如果p是一个正整数且满足φ(p)=p-1,那么p是素数. 3.设n是一个大于2 的正整数,则φ(n)是偶数 4.当n为奇数…