上一页 1 ··· 52 53 54 55 56 57 58 59 60 ··· 66 下一页
摘要: 题目要求 x^2 + y^2+ z^2 = N,把 1^2 到 100^2 的平方数保留一份,并且标记一份,后面就使用两重循环就可以了。 代码如下:#include <cstring>#include <cstdlib>#include <cstdio>using namespace std;char hash[100005][2];int rec[105];int main(){ for( int i= 1; i<= 100; ++i ) { rec[i]= i* i; hash[rec[i]][0]= 1; hash[rec[i]][1]= i; 阅读全文
posted @ 2011-08-15 22:16 沐阳 阅读(429) 评论(0) 推荐(0) 编辑
摘要: 题目:给定一个数字串0 - N-1,每次可以移动首位数字到末尾,求最少的逆序对的组合方式。先求出原序列的逆序对,再用数学公式算出最佳值。 假设有 10 个数,依题义为 0 - 9,那么首位为4的话,从首位移动到末尾产生新的逆序对为0 - 9中大于4的数字减去少于4的数。 代码如下:#include <cstdio>#include <cstring>#include <cstdlib>using namespace std;int N, num[5005];void getint( int &t ){ char c; while( c= getcha 阅读全文
posted @ 2011-08-15 21:52 沐阳 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 以下代码G++超时,C++勉强过,果然是链式的伤不起啊!!!#include <cstdio>#include <cstring>#include <cstdlib>using namespace std;int N, M, rec[200010];struct Node{ int l, r, best; Node *lch, *rch; Node( int ll, int rr ) { l= ll, r= rr, best= 0, lch= rch= NULL; } int mid( ) { return ( l+ r )>> 1; }};in 阅读全文
posted @ 2011-08-15 18:16 沐阳 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 这题就直接用Java水过了,利用BigDecimal 类型,但是还是有一种情况会判断出错,就是输入 0.0 和 0 ,程序会认为不相等,可能是由于在去除后导零的时候是在寻找前面的非零数字吧。解决的办法是先给 a , b 两个数都加上 1,判断是否相等。但是这样 -1.0 和 -1 又会判断错误了,没事,再分别加上一个1就可以了。 代码如下:import java.math.BigDecimal;import java.math.BigInteger;import java.util.Scanner;public class Main { public static void main(Str. 阅读全文
posted @ 2011-08-15 17:19 沐阳 阅读(493) 评论(0) 推荐(0) 编辑
摘要: 该题也算是最基础的线段树了,由于没有很好的理解Lazy思想,导致前面为了写出一个正确的程序花了半天功夫啊。前面是这样想的,对于某一段区间,如果已经赋了值,那么后面的修改就在这个值上进行,例如前面如果1 - 3 赋为2,后面如果又有一次 2 - 3赋为1的话,那么就在 2- 3的区间上赋值为 -1,因为前面已经在1-3算作 2 了。虽说思路出来了,但后面一直还是WA,原因在于经过多次的更新后,有些应该被舍弃的值被重复利用了,比如上例中再出现一组1 - 3 赋值为3,后面的 2- 3区间值就不对了,于是又加了时间戳,最后写出来AC的代码也便是搓不可言了。#include <cstdio> 阅读全文
posted @ 2011-08-15 16:48 沐阳 阅读(523) 评论(0) 推荐(0) 编辑
摘要: 写的这个伪线段树花了一个下午,为什么说是伪线段树呢,因为这道题目其实并没有对一定域进行更新,而只是找的某个点,所以这里的程序在找的时候无论是要更新的结点还是经过的路径都统一的 " += update " 了,加油,今天晚上在写点题目,写一个完整版的出来。小结也就等到下个完整版再一一写出来。 代码如下:#include <cstdio>#include <cstring>#include <cstdlib>#include <cmath>#include <queue>#include <algorithm&g 阅读全文
posted @ 2011-08-14 19:53 沐阳 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 首先把100位长的斐波那契数全部计算出来,然后遍历计数,很暴力啊! 代码如下:import java.math.BigInteger;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); BigInteger[] a = new BigInteger[1000]; a[1] = BigInteger.ONE; a[2] = BigInteger.ONE.add( BigInteger.ONE ); a[. 阅读全文
posted @ 2011-08-14 15:14 沐阳 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 开辟一个数组通过 %2来计算斐波那契数。 代码如下:import java.math.BigDecimal;import java.math.BigInteger;import java.util.Locale;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); BigInteger[] a = new BigInteger[2]; int num, ca; ca = in.nextInt(); wh. 阅读全文
posted @ 2011-08-14 14:30 沐阳 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 输出之前先去掉前导的零,再转化为普通字符型,可能会以科学计数法输出。 代码如下:import java.math.BigDecimal;import java.util.Locale;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); BigDecimal a, b; while( in.hasNextBigDecimal() ) { a = in.nextBigDecimal(); b = in.n. 阅读全文
posted @ 2011-08-14 14:12 沐阳 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 这次是被彻底的无语了,由于对java语言的不熟悉,很对简单的操作都是无计可施,还好上网查了一下一些函数的API,熟悉了相关的操作。只能惊叹java自带的类还是很强大的。代码如下: import java.math.BigDecimal;import java.util.Locale;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); BigDecimal a, res; int exp; while . 阅读全文
posted @ 2011-08-14 13:58 沐阳 阅读(431) 评论(0) 推荐(0) 编辑
上一页 1 ··· 52 53 54 55 56 57 58 59 60 ··· 66 下一页