The Fourth Dimension Space

枯叶北风寒,忽然年以残,念往昔,语默心酸。二十光阴无一物,韶光贱,寐难安; 不畏形影单,道途阻且慢,哪曲折,如渡飞湍。斩浪劈波酬壮志,同把酒,共言欢! -如梦令

#

n为偶数 构造一个 对称的矩阵

#include<cstdio> 
int n,a[1000][1000],i,j; 
int main()

    scanf(
"%d",&n); 
    
for(i=0;i<n-1;i++)
        
for(j=0;j<n-1;j++)
            a[i][j]
=(i+j)%(n-1+1
    
for(i=0;i<n;i++)
        a[i][n
-1]=a[n-1][i]=a[i][i],a[i][i]=0
    
    
for(i=0;i<n;i++)//输出部分 ,无视。。。
    {
        
for(j=0;j<n;j++)
            printf(
"%d ",a[i][j]);printf("\n");
    }

    
return 0;
}
中间的公式不知道是怎么来的。。。

posted @ 2010-04-30 14:03 abilitytao 阅读(177) | 评论 (0)编辑 收藏

树状数组

int getsum(int t)
    
int sum = 0
    
while(t > 0)
        sum 
= Max(s[t],sum); 
        t 
-= (t&(-t)); 
    }
 
    
return sum; 
}
 

void add(int t,int v)
    
while(t <= size)
        s[t] 
= Max(v,s[t]); 
        t 
+= (t&(-t)); 
    }
 
}
 

posted @ 2010-04-30 10:58 abilitytao 阅读(448) | 评论 (1)编辑 收藏

福大校赛 G题 小小的悲剧哈

     摘要: 今天做得还算顺利哈,其他的题都还蛮简单的,就是这道G题,yy了半天,写这个题的时候快米有时间了,最后也没出。 后来听yayamao说用搜索,囧了~完全没想到,我只会用DP,呵呵。代码奉上。 #include<iostream>#include<cmath>#include<cstring>#include<algorithm>using ...  阅读全文

posted @ 2010-04-25 17:38 abilitytao 阅读(1016) | 评论 (0)编辑 收藏

微机接口 实验四 使得0-F循环再LED上显示

.model small
.stack
.data
LEDtb db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h,86h,8eh
portA dw 0e400h
portB dw 0e401h
portCro dw 0e403h
.code

time proc near
     push dx
     push bx
     mov dx,5fffh
bahar:    mov bx,5fffh
fuuy:  dec bx
     jnz fuuy
     dec dx
     jnz bahar
     pop bx
     pop dx
     ret
     time endp


pckey proc near
      push dx
      push ax
      mov ah,
6
      mov dl,0ffh
      
int 21h
      je  p1
      mov ax,4c00h
      
int 21h
p1:   pop ax
      pop dx
      ret
      pckey endp

start:
init:
    mov ax,@data
    mov ds,ax
    lea si,LEDtb
    mov dx,portCro
    mov al,80h
    
out dx,al
    mov cl,0f7h
    mov bx,00h
s1:
    mov dx,portA
    mov al,[si
+bx]
    
out dx,al
    mov dx,portB
    mov al,cl
    
out dx,al
    inc bx

    call time
    call pckey
    cmp bx,0fh
    jg s2
next:
    cmp cl,0feh
    jz s3
next2:
    ror cl,
1
    jmp s1


s2:
    mov bx,00h
    jmp next
s3:
    mov cl,0efh
    jmp next2
 end start

posted @ 2010-04-24 17:58 abilitytao 阅读(178) | 评论 (0)编辑 收藏

whu 带花树算法 template ,研究下..

     摘要: struct Graph {    int n, match[maxn];    bool adj[maxn][maxn];    void clear() {    &...  阅读全文

posted @ 2010-04-24 16:43 abilitytao 阅读(860) | 评论 (2)编辑 收藏

ZOJ 3316 Game

     摘要: 淘来的代码 慢慢研究下 呵呵。 #include<iostream>using namespace std;#define maxn 405#define maxm 330000struct Edge{    int v,next;}E[maxm];int ...  阅读全文

posted @ 2010-04-24 14:54 abilitytao 阅读(240) | 评论 (0)编辑 收藏

JAVA 数进制转换小练

     摘要: 真是JAVA在手 万事无忧啊。。。POJ 2798 二进制到十六进制转换 import java.util.*;import java.math.*;/** *//** * * @author weitao */public class Main {   &...  阅读全文

posted @ 2010-04-24 00:57 abilitytao 阅读(439) | 评论 (0)编辑 收藏

JAVA --String类笔试面试题

字符串对象是一种特殊的对象.String类是一个不可变的类..也就说,String对象一旦创建就不允许修改

String类有一个对应的String池,也就是 String pool.每一个内容相同的字符串对象都对应于一个pool里的对象.

1 看下面一段代码.

String s = new String("abc");
  String s1 = "abc";
  String s2 = new String("abc");
  
  System.out.println(s == s1);
  System.out.println(s == s2);
  System.out.println(s1 == s2);

请问 前面三条语句分别创建了几个对象,分别是什么.后面的输出分别是什么

(1)String s = new String("abc"); 这句,创建了两个对象..其内容都是"abc".注意,s不是对象,只是引用.只有new生成的才是对象.

创建的流程是,首先括号里的"abc"先到String pool里看有没"abc"这个对象,没有则在pool里创建这个对象..所以这里就在pool创建了一个"abc"对象.然后 通过new语句又创建了一个"abc"对象..而这个对象是放在内存的堆里. .这里的s指向堆里的对象.

(2) String s1 = "abc"; 这条语句,s1当然还是引用.没啥可说的.后面的"abc".其实就是上面括号里的"abc".执行的是相同的操作.即 在pool里查找有没"abc"这个对象.没有则创建一个...很显然,第一条语句在pool里已经创建了一个"abc".所以这条语句没有创建对象,s1指向的是pool中的"abc"

(3)String s2 = new String("abc"); 这条语句,其实和第一条是一样的,但是,因为第一条已经在pool中创建了"abc"这个对象,所以,这条语句创建了一个对象.s2指向的是堆里的"abc".注意,虽然内容都是"abc",s与s2表示的是不同的对象

(4)接下来就很好说了.下面的三个==判断.(注意,==永远是判断内存地址是否相等) s与s1,一个指向堆里的对象,一个指向pool里的.很明显是不同的对象.s与s2.上面说了,虽然都是指向堆里的对象,内容也是"abc",但是也不是相同的对象.s1与s2.一个指向pool,一个指向堆.也不是相同的对象.所以三个都返回false.

2 第二个问题

String s = new String("abc");
  String s1 = "abc";
  String s2 = new String("abc");
  
  System.out.println(s == s1.intern());
  System.out.println(s == s2.intern());
  System.out.println(s1 == s2.intern());

求最后输出是什么

解答.最后的答案是 false false true

intern()方法.按照jdk的帮助文档来说,是返回字符串对象的规范化表示形式。通俗一点说,就是返回对应这个字符串内容的那个pool里的对象.这样说也许还看不太明白,那可以拿具体例子来说

s1.intern().他的执行流程是,在pool里去查找s1对应的内容(也就是"abc").如果找到,则返回pool里的对象.如果没有(老实说,我没想到有哪种情况是没有的),则在Pool创建这个对象,并返回...

这样就很容易理解了.s1.intern返回的是pool里的"abc"对象.与s这个堆里的对象肯定不同,返回false.同理,s与s2.intern()也肯定不同,返回false.第三个,s1与s2.intern().其中s2.intern()返回的是pool中的"abc"对象,而s1也是指向pool中的"abc"对象.所以返回的是true:

3第三个问题

String hello = "hello";
  String hel = "hel";
  String lo = "lo";
  
  System.out.println(hello == "hel" + "lo");
  System.out.println(hello == "hel" + lo);

求输出的结果

解答 true false

首先,上面已经说明了,hello hel lo这三个都是指向pool中的对象..

现在我们考虑"hel" + "lo" 按照内容来说,两个相加也就是"hello".这个时候,这个会返回pool中的"hello"对象.所以,hello == "hel" + "lo" 返回的是true .

而"hel" + lo 虽然内容也是"hello",但是它将在堆里面生成一个"hello"对象,并返回这个对象...所以这里的结果是false

总结一下就是,如果加号两边的是字面值(字面值就是直接在""里写的值,比如上面的"hel"与"lo"),那么将在pool里查找有没对应内容的对象(这里的内容就是"hello"),并返回pool里的对象.这和hello是一样的....

如果加号两边不满足上面的条件(比如,两边的值是引用值或者堆里的字符串对象).那么将不会再pool里查找"hello",而是直接在堆里生成一个新的对象...


转自:http://jingbo2759.blog.163.com/blog/static/98375315200971731522144/

posted @ 2010-04-23 22:06 abilitytao 阅读(517) | 评论 (0)编辑 收藏

所有数位相加

 

/*==================================================*\
| 所有数位相加
| dig(x) := x if 0 <= x <= 9
| dig(x) := dig(sum of digits of x) if x >= 10
\*==================================================
*/

方法一:模拟
int dig(int x){
if( x < 10 ) return x;
int sum = 0;
while( x ) { sum += x%10; x /= 10; }
return dig(sum);
}

方法二:公式 【不太明白
int dig(int x)return (x+8)%9+1; }//晕 不是很容易懂么 不是总在mod 9的区间中么 特殊处理下 0-8 即可。。。

posted @ 2010-04-23 17:59 abilitytao 阅读(438) | 评论 (1)编辑 收藏

POJ 3742 Equivalent Polynomial java

开始自己写个C(n,m) RE... 后来改成递推 AC...
另外就是while里面一定要用while(cin.hasNext)???不能用cin.hasNextInt()???用了就RE...丫的。。。

import java.math.BigInteger;
import java.io.*;
import java.util.*;

public class Main {
    
static int n;
    
static BigInteger t=new BigInteger("1");
    
static BigInteger c[][] = new BigInteger [210][210];

    
/*
    static BigInteger C(int n,int m)
    {
        if(m==0||m==n)
            return BigInteger.ONE;
        BigInteger res=new BigInteger("1");
        int i;
        for(i=n;i>=n-m+1;i--)
            res=res.multiply(BigInteger.valueOf(i));
        for(i=m;i>=1;i--)
            res=res.divide(BigInteger.valueOf(i));
        return res;
    }
    
*/


    
static int a[]=new int[202];
    
static BigInteger ans[]=new BigInteger [202];

    
/**
     * 
@param args the command line arguments
     
*/

    
public static void main(String[] args) {
        
for(int i=0;i<=200;i++) c[i][0]=c[i][i]=BigInteger.ONE;
        
for(int i=2;i<=200;i++)
        
{
            
for(int j=1;j<i;j++)
            
{
                c[i][j]
=c[i-1][j].add(c[i-1][j-1]);
            }

        }

        Scanner cin 
= new Scanner (new BufferedInputStream(System.in));
        
while(cin.hasNext())
        
{

            n
=cin.nextInt();
            t
=cin.nextBigInteger();
            
int i,j;
            
for(i=0;i<=n;i++)
                a[i]
=cin.nextInt();
            
for(i=0;i<=n;i++)
                ans[i]
=BigInteger.ZERO;

            
for(i=0;i<=n;i++)
                
for(j=i;j<=n;j++)
                   
if(j-i<i)
                    ans[i]
=ans[i].add(c[j][j-i].multiply(t.pow(j-i)).multiply(BigInteger.valueOf(a[j])));
                   
else
                    ans[i]
=ans[i].add(c[j][i].multiply(t.pow(j-i)).multiply(BigInteger.valueOf(a[j])));
            
for(i=0;i<n;i++)
            
{
                System.out.print(ans[i]);
                System.out.print(
" ");
            }

             System.out.println(ans[n]);

            
/*
            String res=new String ("");
            for(i=0;i<n;i++)
            {
                res+=ans[i].toString();
                res+=" ";
            }
            res+=ans[n].toString();
            System.out.print(res);
            System.out.println();
             * 
*/


       }

 
    }

}

posted @ 2010-04-23 12:57 abilitytao 阅读(1011) | 评论 (1)编辑 收藏

仅列出标题
共42页: First 12 13 14 15 16 17 18 19 20 Last