青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 40, 文章 - 0, 評論 - 19, 引用 - 0
數據加載中……

用好郵箱

郵箱是很重要的工具,我使用QQ郵箱,除了在寢室網通連接過慢一直都很好用,呵呵,希望越做越好。
Blog驗證碼: QQREADER8A9ED325C16B65D5

posted @ 2010-04-01 19:38 hadn't 閱讀(213) | 評論 (0)編輯 收藏

Hello Ophone

Eclipse是個好環境,今天下載了Eclipse Classic 3.5.2 的版本,并配上了Jogl,vtk安裝了WST EMF GEF  插件
Eclipse下運行Jogl:



 OPhone Development Tools
Eclipse下運行ophone模擬器:
 
運行自己寫的程序:


posted @ 2010-03-29 23:25 hadn't 閱讀(196) | 評論 (0)編輯 收藏

Ubuntu 顯示桌面快捷鍵

CTRL+ALT+D

若想更改成windows的習慣 如下操作:

首先打開終端輸入:
  gconf-editor
到“Apps->Metacity->Global keybingdings" 出找 “show desktop”編輯值為<Super>d
即可。
還可以修改其他相應鍵值,或者自定義快捷鍵詳見[url]http://www.wangchao.net.cn/bbsdetail_1786773.html[/url]

posted @ 2009-09-01 16:47 hadn't 閱讀(12214) | 評論 (3)編輯 收藏

UBUNTU JAVA 亂碼解決(轉)

在ubuntu 8.04里安裝java后,會發現所有java的gui都會亂碼,這是因為在ubuntu 8.04里uming.ttf變成了uming.ttc,而ubuntu里java默認的中文字體就是uming.ttf,所以只要獲得它就可以了,比如:



sudo ln -s /usr/share/fonts/truetype/arphic/uming.ttc /usr/share/fonts/truetype/arphic/uming.ttf

posted @ 2009-08-31 20:24 hadn't 閱讀(454) | 評論 (0)編輯 收藏

TOJ 3345 Chinese Chess 二分匹配 匈牙利算法 擴展

TOJ 3345 Chinese Chess http://acm.tju.edu.cn/toj/showp3345.html
雙鏈表實習雙向鄰接表,正向圖反向圖,匈牙利匹配后,枚舉刪除匹配邊,兩邊做重新查找增廣路操作,如果都沒法查到則證明是重要邊,還原原匹配時候要注意細節。

優化1:求最大匹配時候先能匹配就匹配上。
優化2:標記已經確定不是必要點的行和列 flag[]和flag2[]
注意1:刪除匹配邊后 應在匹配邊的兩面點 分別查詢
注意2:沒查到新匹配要還原匹配邊

#include
<stdio.h>
#include
<string.h>
const int size2 = 100110;
const int size1 = 10110;
int n , m , k ;
struct node{
    node 
*p;
    node 
*q;
    
int v;
    
int v2;
};
int val;

node edg[size2];

bool visit[size1];
int pp[size1];
bool flag[size1];
bool flag2[size1];

node 
*g[size1];
node 
*g1[size1];

int ppre[size1];
int ppr[size1];

int nxy[size1];
inline 
bool check(int x , int y , int fc){
    node 
*now = g[x];
    
while(now != NULL){
        
if(now->== y){
            
if(fc == 0)
                
return true;
            
if(fc == 1){
                now
->= -1;
                
return true;
            }
            
if(fc == 2){
                now
->= val;
                
return true;
            }
        }
        
else{
            now 
= now->p;
        }
    }
    
return false;
}

inline 
bool check2(int x , int y , int fc){
    node 
*now = g1[x];
    
while(now != NULL){
        
if(now->v2 == y){
            
if(fc == 0)
                
return true;
            
if(fc == 1){
                now
->v2 = -1;
                
return true;
            }
            
if(fc == 2){
                now
->v2 = val;
                
return true;
            }
        }
        
else{
            now 
= now->q;
        }
    }
    
return false;
}
inline 
bool find(int a){
    node 
*now = g[a];
    
while(now != NULL){
             
int i = now->v;
             
if(i != -1){
                 
if(!visit[i] ){
                    visit[i] 
= true;
                    
if(pp[i] == -1 ||find(pp[i])){
                        pp[i] 
= a;
                        nxy[a] 
= i;
                        
return true;
                    }
                }
             }
            now 
= now->p;
    }
    
return false;
}

inline 
bool find2(int a){
    node 
*now = g1[a];
    
while(now != NULL){
             
int i = now->v2;
             
if(i != -1){
                 
if(!visit[i] ){
                    visit[i] 
= true;
                    
if(nxy[i] == -1 ||find2(nxy[i])){
                        nxy[i] 
= a;
                        pp[a] 
= i;
                        
return true;
                    }
                }
             }
            now 
= now->q;
    }
    
return false;
}

void output(){
    printf(
"\n\n");
    
forint i = 1 ; i <= m ; i++)
        printf(
"%d -> %d\n",pp[i],i);
        printf(
"\n");
    
forint i = 1 ; i <= n ; i++)
        printf(
"%d -> %d\n",i,nxy[i]);
    printf(
"\n\n");
}

void output1(int x){
    node 
*now = g1[x];
    
while(now != NULL){
             
int i = now->v2;

             printf(
"  %d",i);
            now 
= now->q;
    }
    printf(
"\n");
}

int main(){
        
int a1,i,a2;
        
int _case = 0;
        
int num;
        
while(scanf("%d%d%d",&n,&m,&k)!=EOF){
            num 
= 0;
            memset(g,
0,sizeof(g));
            memset(g1,
0,sizeof(g1));
            memset(pp,
-1,sizeof(pp));
            memset(nxy,
-1,sizeof(nxy));
            
for(i = 1; i <= k ; i++){
                scanf(
"%d%d",&a1,&a2);
                
if(check(a1,a2,0)) continue;
                edg[i].v 
= a2;
                edg[i].v2 
= a1;
                edg[i].p 
= NULL;
                edg[i].q 
= NULL;

                
if(g[a1] == NULL){
                    g[a1] 
= &edg[i];
                }
else{
                    edg[ppre[a1]].p 
= &edg[i];
                }

                
if(g1[a2] == NULL){
                    g1[a2] 
= &edg[i];
                }
else{
                    edg[ppr[a2]].q 
= &edg[i];
                }

                ppre[a1] 
= i ;
                ppr[a2] 
= i ;

                
if(pp[a2] == -1 && nxy[a1] == -1){
                    pp[a2] 
= a1;
                    nxy[a1] 
= a2;
                    num
++;
                }
            }
            
for(i = 1 ; i <= m ; i++){
                
if(pp[i] == -1){
                    memset(visit,
0,sizeof(visit));
                    
if(find2(i)){
                        num
++;
                    }
                }
            }
            memset(flag,
0,sizeof(flag));
            memset(flag2,
0,sizeof(flag2));
            
int ans = 0;
            
for(i = 1 ; i <= m ; i++){
                
if(pp[i] != -1){
                    
int key = 0;
                    
int now = pp[i];
                    pp[i] 
= -1 ;
                    nxy[now] 
= -1;
                    
if(flag[pp[i]] == 0){
                        check(now,i,
1);
                        memset(visit,
0,sizeof(visit));
                        
if(find(now)){
                            key 
= 1;
                        }
                        val 
= i ;
                        check(now,
-1,2);
                    }

                    
if(flag2[i] == 0 && key == 0 ){
                        check2(i,now,
1);
                        memset(visit,
0,sizeof(visit));
                        
if(find2(i)){
                            key 
= 1;
                        }
                        val 
= now ;
                        check2(i,
-1,2);
                    }
                     
if(!key){
                            ans
++;
                                nxy[now] 
= i;
                            pp[i] 
= now;
                     }
                     
else{
                        flag[now] 
= 1 ;
                        flag2[i] 
= 1 ;
                     }
                }
//右側有邊
            }
            printf(
"Board %d have %d important blanks for %d chessmen.\n",++_case,ans,num);
        }
    
return 0;
}

posted @ 2009-08-07 00:17 hadn't 閱讀(317) | 評論 (0)編輯 收藏

2009-7-27

/*Tju 3207.   Sand Castle
http://acm.tju.edu.cn/toj/showp3207.html
排序后貪心,貪心的正確性證明很簡單,只要匹配出現交叉則浪費
*/
#include
<stdio.h>
#include
<algorithm>
using namespace std;
int na[25001];
int nb[25001];

int cmp(int x , int y){
    
return x < y;
}

int main(){
    
int n , h1, h2 ;
    scanf(
"%d%d%d",&n,&h1,&h2);
    
for(int i = 0 ; i < n ; i++)
        scanf(
"%d%d",&na[i],&nb[i]);
    sort(na,na
+n,cmp);
    sort(nb,nb
+n,cmp);

    
int sum = 0;
    
for(int i = 0 ; i < n ; i++){
        
if(na[i] > nb[i]){
            sum 
+= h2 * (na[i] - nb[i]);
        }
        
else{
            sum 
+= h1 * (nb[i] - na[i]);
        }
    }
    printf(
"%d\n",sum);
    
return 0;
}
/*
TJU 3209.   Look Up
http://acm.tju.edu.cn/toj/showp3209.html
自底而上掃,紀錄結果,以紀錄跳轉的方式優化時間
*/
#include
<stdio.h>
int a[100001];
int ans[100001];
int now;
int main(){
    
int n;
    scanf(
"%d",&n);
    
for(int i = 0 ; i <n ; i++){
        scanf(
"%d",&a[i]);
    }
    ans[n
-1= -1 ;
    
for(int i = n - 2 ; i >= 0 ; i--){
        
if(a[i]<a[i+1]){
            ans[i] 
= i + 1;
        }
        
        
else{
            now 
=  i + 1;
            
while(1){
                
if(now == -1 ){
                    
if(a[now] > a[i])
                    ans[i] 
= now;
                    
else
                    ans[i] 
= -1 ;
                    
break;
                }

                
if(a[now] > a[i] )
                {
                    ans[i] 
= now;
                    
break;
                }
                
else{
                    now 
= ans[now];
                }

            }

        }
    }
    
for(int i = 0 ; i < n ; i++)
    printf(
"%d\n",ans[i]+1);

    
return 0;
}
/*
TJU 3208.   Cow Frisbee Team
http://acm.tju.edu.cn/toj/showp3208.html
DP 控制取與不取更新更大的值 dp的兩維分別代表取用前i個cow 和 余數大小
*/


#include
<stdio.h>
const int MOD=100000000;
int a[2001];
int n , f;
int dp[2001][1001];
int main(){
    scanf(
"%d%d",&n,&f);
    
for(int i = 0 ; i < n ; i++){
        scanf(
"%d",&a[i]);
    }


    dp[
0][0= 1;
    
for(int i = 0 ; i < n ; i++){
        
for(int j = 0 ; j < f ; j++){
            dp[i
+1][j] += dp[i][j] % MOD;
            dp[i
+1][(j+a[i])%f] += dp[i][j] % MOD;
        }

    }

    printf(
"%d\n",(dp[n][0]-1)%MOD);
    
return 0 ;
}

posted @ 2009-07-27 02:53 hadn't 閱讀(202) | 評論 (0)編輯 收藏

Kruskal+并查集 第一次寫 1A 很高興

 1 #include<string.h>
 2 #include<stdio.h>
 3 #include<algorithm>
 4 using namespace std;
 5 
 6 
 7 struct edg{
 8     int x ;
 9     int y ;
10     int len;
11 }a[200000];
12 int flag[200000];
13 int cmp (edg aa ,edg bb){
14     return aa.len<bb.len;
15 }
16 
17 int find(int pot){
18     if(flag[pot] == -1){
19         return pot;
20     }
21     else{
22         return flag[pot] = find(flag[pot]);
23     }
24 }
25 void Union(int p1 , int p2){
26     flag[find(p2)] = find(p1);
27 }
28 
29 int add(edg t){
30    // printf("t.x t.y  %d %d\n",t.x,t.y);
31     if( find(t.x) != find(t.y)){
32         Union(t.x,t.y);
33    //     printf("f.x f.y  %d %d\n",flag[t.x],flag[t.y]);
34         return t.len;
35     }
36     else{
37         return 0;
38     }
39 }
40 
41 int n , m;
42 int main(){
43     while(1){
44     scanf("%d%d",&n,&m);
45     int sum1 = 0;
46     if(n == m && m == 0break;
47     memset(flag,-1,sizeof(flag));
48         for(int i = 0 ; i < m ; i++){
49             scanf("%d%d%d",&a[i].x,&a[i].y,&a[i].len);
50             sum1 += a[i].len;
51         }
52         sort(a,a+m,cmp);
53         int ans = 0;
54         int sum = 0;
55         for(int i = 0 ; i < m ; i++){
56            if(ans == n+1 ) break;
57          //  printf("ans a[i]   %d %d %d\n",a[i].x,a[i].y,a[i].len);
58            int now = add(a[i]);
59            if(now){
60                 sum += now;
61                 ans++;
62            }
63         }
64         printf("%d\n",sum1-sum);
65     }
66     return 0;
67 }
68 

posted @ 2009-07-24 15:46 hadn't 閱讀(177) | 評論 (0)編輯 收藏

TJU 2460 Ticket Discount (Asia - Beijing 2003)

     摘要: WA 了很多次...有幾個小細節需要處理就是讀入數據 控制精度 判斷閏年 還有最重要的是理解清楚題意。。。     1#include<stdio.h>  2#define SIZE 400  3  4int flag , flag2;&nbs...  閱讀全文

posted @ 2008-10-12 00:17 hadn't 閱讀(213) | 評論 (0)編輯 收藏

TJU 2749. Marbles in Three Baskets ( Mid Atlantic North America 2006)

     摘要: 由每個最末的狀態(n,n,n)推得所有可行的狀態,并記錄被推得狀態的來源和步長,類似篩法的方式,沒有被擴展到的情況即無法到達的情況,標記其步長仍為0.   1#include<stdio.h>  2#include<string.h>  3  4struct Q{ &nbs...  閱讀全文

posted @ 2008-10-09 23:41 hadn't 閱讀(217) | 評論 (0)編輯 收藏

PKU 3005 Exploding CPU

     摘要: 呵呵 過了這個題目挺高興鍛煉了 篩法和判斷素數的能力還想了一個關鍵的枚舉剪枝這個題目我是去枚舉題目中的A和第一個素數P1;然后計算B 幷繼續推Pn對小于1000000的數一次性篩出;大數用最基本的判斷的方式。   1Source Code  2  3Problem: 3005  User:&nbs...  閱讀全文

posted @ 2008-10-06 23:02 hadn't 閱讀(350) | 評論 (1)編輯 收藏

僅列出標題
共4頁: 1 2 3 4 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品久久久久久久久久久久| 欧美福利视频一区| 国产欧美日韩视频在线观看| 久久久欧美精品| 久久久亚洲精品一区二区三区| 欧美一乱一性一交一视频| 制服丝袜激情欧洲亚洲| 亚洲综合第一| 亚洲视频狠狠| 亚洲视频www| 亚洲性视频网站| 在线视频欧美精品| 亚洲午夜激情免费视频| 亚洲影院免费| 欧美在线高清视频| 久久九九精品99国产精品| 久久精品夜夜夜夜久久| 久久久视频精品| 免费观看亚洲视频大全| 欧美黄免费看| 免费成人小视频| 国产亚洲欧洲997久久综合| 国产人成精品一区二区三| 国产视频亚洲| 亚洲国产中文字幕在线观看| 亚洲精品美女在线观看| 亚洲视频日本| 欧美在线999| 欧美激情女人20p| 日韩一级二级三级| 亚洲一区亚洲二区| 久久久青草婷婷精品综合日韩| 免费看黄裸体一级大秀欧美| 久久精品2019中文字幕| 亚洲影视在线播放| 久久精品一区二区三区不卡牛牛 | 久久精品最新地址| 久久亚洲精品伦理| 先锋a资源在线看亚洲| 久久精品视频在线观看| 欧美激情成人在线视频| 亚洲一区二区高清| 一道本一区二区| 欧美一区二区视频97| 久久亚洲私人国产精品va媚药| 欧美高清视频在线| 亚洲天堂第二页| 久色成人在线| 国产精品日本一区二区| 亚洲国产精品国自产拍av秋霞| 一区二区三区鲁丝不卡| 久久网站免费| 欧美成人性生活| 日韩视频在线永久播放| 欧美成人国产va精品日本一级| 亚洲高清精品中出| 一区二区免费在线视频| 久久久99爱| 欧美午夜精品理论片a级按摩| 国产揄拍国内精品对白| 日韩视频免费| 免费成人高清视频| 亚洲欧美不卡| 欧美片在线观看| 国产精品色婷婷久久58| 国产欧美一二三区| 一区二区三区日韩精品视频| 欧美va天堂va视频va在线| 午夜精品久久99蜜桃的功能介绍| 亚洲影院免费| 国产精品乱人伦中文| 亚洲人成久久| 免费成年人欧美视频| 久久成人羞羞网站| 国产视频在线观看一区| 午夜精品久久久久久久久久久久久| 欧美国产日本| 久久人人爽爽爽人久久久| 国产精品美女久久久浪潮软件| 日韩亚洲欧美成人| 亚洲黄色在线| 免播放器亚洲一区| 亚洲人成啪啪网站| 欧美**人妖| 亚洲精品免费一二三区| 欧美大片第1页| 久久躁日日躁aaaaxxxx| 亚洲国产成人久久综合| 蜜桃精品一区二区三区| 久久久国产一区二区| 精品99一区二区三区| 免费观看在线综合| 久久夜色精品国产欧美乱| 国产亚洲欧美激情| 亚洲视频在线观看视频| 中文在线资源观看网站视频免费不卡| 欧美日韩三区| 欧美一区二区女人| 欧美在线播放一区| 在线观看三级视频欧美| 欧美电影打屁股sp| 欧美 日韩 国产精品免费观看| 亚洲精选中文字幕| 亚洲精品偷拍| 久久久久成人精品免费播放动漫| 欧美日韩一区二区三区免费| 亚洲无吗在线| 欧美一区二区三区日韩视频| 一区二区亚洲| 麻豆精品传媒视频| 欧美日韩成人精品| 午夜精品福利在线| 久久久人成影片一区二区三区观看| 91久久精品一区| 亚洲国产精品成人综合色在线婷婷 | 亚洲国产福利在线| 欧美激情中文字幕在线| 日韩视频在线永久播放| 一区二区三区四区蜜桃| 国产婷婷色一区二区三区四区| 亚洲一区二区免费看| 久久精品亚洲一区二区三区浴池| 亚洲欧洲日产国产综合网| 夜夜狂射影院欧美极品| 国产日韩欧美在线一区| 亚洲电影有码| 国产伦一区二区三区色一情| 欧美高清视频www夜色资源网| 美女诱惑一区| 欧美一区观看| 欧美日本在线播放| 免播放器亚洲一区| 国产精品久久亚洲7777| 亚洲国产欧美一区| 国产欧美日韩在线| 日韩一二三区视频| 亚洲精品永久免费精品| 久久精品国产第一区二区三区| 国产精品永久| 亚洲美女在线一区| 亚洲高清在线精品| 欧美亚洲一区二区在线| 亚洲一区免费网站| 欧美大学生性色视频| 久久综合色综合88| 精品成人在线| 久久亚洲精品一区二区| 欧美成人有码| 最新国产精品拍自在线播放| 老牛嫩草一区二区三区日本| 欧美成人午夜| 99国产精品久久久久久久成人热| 欧美久久在线| 日韩视频在线观看免费| 亚洲影院免费观看| 国产一区三区三区| 久久青草久久| 亚洲日本视频| 校园春色综合网| 国产亚洲一区二区三区在线观看 | 好吊日精品视频| 久久深夜福利| 亚洲激情黄色| 欧美一级欧美一级在线播放| 国产免费成人av| 老司机精品视频网站| 亚洲精品你懂的| 亚洲网站在线播放| 狠狠久久综合婷婷不卡| 欧美aaaaaaaa牛牛影院| 亚洲视频综合在线| 久热精品视频| 亚洲最新视频在线| 国内精品亚洲| 另类专区欧美制服同性| 欧美日韩美女在线| 亚洲香蕉在线观看| 久久精品女人的天堂av| 欧美视频网站| 亚洲一区二区三区精品在线| 亚洲欧美日韩高清| 欧美大秀在线观看| 亚洲欧美卡通另类91av| 国产亚洲a∨片在线观看| 欧美成人免费在线观看| 一本久久青青| 亚洲午夜激情| 亚洲欧洲一区二区三区在线观看 | 老司机一区二区三区| 久久久久国色av免费看影院 | 亚洲丰满在线| 久久久久久久久久久久久9999| 亚洲国产精品黑人久久久 | 国产精品嫩草影院av蜜臀| 国产欧美日韩激情| 亚洲综合电影| 欧美午夜宅男影院| 亚洲电影观看| 欧美日韩精品一区二区在线播放 | 欧美一区二区三区免费在线看|