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

隨筆 - 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>
            巨乳诱惑日韩免费av| 国产亚洲一区精品| 一二三四社区欧美黄| 免费影视亚洲| 欧美va日韩va| 亚洲高清资源| 久久久中精品2020中文| 久久不见久久见免费视频1| 欧美在现视频| 免费一级欧美片在线播放| 亚洲激情一区| 亚洲视频专区在线| 久久精品国产免费观看| 久久九九国产| 99精品视频免费观看| 久热精品视频在线免费观看| 亚洲午夜在线视频| 99re6热在线精品视频播放速度| 国产精品亚洲一区| 欧美日韩国产a| 国产综合欧美在线看| 欧美午夜片欧美片在线观看| 久热精品在线| 亚洲福利专区| 国产精品99久久久久久白浆小说| 一区二区亚洲精品国产| 亚洲国产精品久久久久| 中文久久精品| 麻豆成人在线播放| 一区二区三区国产精华| 久久亚洲免费| 国产精品影音先锋| 亚洲最新在线| 欧美成人性网| 性欧美精品高清| 欧美交受高潮1| 激情一区二区| 欧美在线欧美在线| 一本色道88久久加勒比精品| 久久资源av| 国产专区欧美精品| 午夜一区在线| 日韩视频―中文字幕| 蜜桃伊人久久| 在线观看亚洲视频| 久久久免费精品| 亚洲免费一区二区| 国产精品久久久久久影视| 一区二区三区日韩精品视频| 欧美成人一区二区三区在线观看| 亚洲综合日韩在线| 国产精品大全| 亚洲免费视频在线观看| 99在线视频精品| 欧美日韩国产经典色站一区二区三区| 国内精品免费午夜毛片| 久久精品国产99国产精品| 亚洲一区久久久| 国产精品久久久久久久久久尿 | 亚洲国产精品999| 欧美影院在线| 国产日韩一区二区| 欧美一区二区三区四区视频| 国产在线欧美日韩| 久久国产精品免费一区| 国产精品久久久一区二区三区 | 亚洲人成亚洲人成在线观看图片| 久久夜色精品国产| 久久精品国产亚洲一区二区| 韩日在线一区| 欧美va亚洲va日韩∨a综合色| 一区二区三区导航| 国产精品v欧美精品∨日韩| 欧美一区激情| 欧美视频一区二区三区四区| 亚洲精选大片| 夜夜嗨av一区二区三区| 欧美日韩在线视频首页| 亚洲免费小视频| 久久亚洲二区| 亚洲小说欧美另类社区| 亚洲尤物精选| 日韩午夜在线观看视频| 欧美中文在线视频| 极品少妇一区二区| 亚洲免费中文| 亚洲视频欧洲视频| 麻豆久久婷婷| 久久天堂成人| 激情五月***国产精品| 亚洲国产精品久久人人爱蜜臀 | 狠狠狠色丁香婷婷综合激情| 免费久久99精品国产自| 国产麻豆日韩| 欧美高清自拍一区| 伊人成人网在线看| 午夜激情综合网| 韩日欧美一区二区| 亚洲一区二区三区在线看| 一区二区三区欧美亚洲| 亚洲欧洲综合另类在线| 国产视频一区在线| 国产欧美一区二区精品性| 亚洲国产精品电影在线观看| 欧美人与性禽动交情品 | 国产精品最新自拍| 久久一区中文字幕| 国产精品国产| 亚洲国产综合视频在线观看| 国产精品亚洲不卡a| 亚洲国产欧美久久| 国产一在线精品一区在线观看| 亚洲国产视频直播| 欧美**字幕| 国产欧美亚洲视频| 老司机久久99久久精品播放免费| 欧美在线观看一二区| 国产精品一区二区久久精品 | 欧美专区18| 久久看片网站| 日韩视频一区二区| 欧美性生交xxxxx久久久| 99精品视频免费在线观看| 欧美一区二区三区在线视频 | 韩国一区二区三区在线观看| 一区二区三区鲁丝不卡| 久久九九国产精品| 夜夜嗨av一区二区三区四季av | 亚洲国产精品成人va在线观看| 亚洲免费在线观看| 久久精品论坛| aa级大片欧美| 国产一区二区三区免费观看| 日韩视频免费| 午夜精品久久久99热福利| 亚洲精品一二三| 一本色道久久综合狠狠躁篇怎么玩| 久久综合五月| 欧美日韩在线免费| 久久高清一区| 久久国产精彩视频| 国产精品网站在线| 亚洲资源在线观看| 欧美在线视频一区| 国产又爽又黄的激情精品视频| 亚洲视频二区| 欧美一区二区三区男人的天堂 | 在线欧美亚洲| 国产欧美日韩激情| 国产偷国产偷亚洲高清97cao | 亚洲久久一区二区| 国内视频精品| 亚洲国产成人av| 亚洲精品在线观看视频| 在线播放中文一区| 亚洲七七久久综合桃花剧情介绍| 亚洲高清色综合| 在线性视频日韩欧美| 亚洲午夜电影在线观看| 欧美亚洲在线视频| 欧美激情一区| 亚洲欧美国产日韩中文字幕| 性欧美1819性猛交| 欧美激情国产日韩精品一区18| 欧美日韩福利在线观看| 欧美三级在线| 亚洲国产日韩在线| 久久久精品国产一区二区三区| 一本久久青青| 欧美h视频在线| 亚洲视频狠狠| 久久国产精品久久久久久久久久| 香蕉久久一区二区不卡无毒影院 | 久久精品男女| 亚洲尤物影院| 先锋影音国产精品| 欧美亚州韩日在线看免费版国语版| 亚洲一区二区视频| 国产中文一区二区| 欧美—级a级欧美特级ar全黄| 亚洲一区bb| 欧美高清你懂得| 午夜亚洲性色视频| 亚洲欧洲一区二区在线观看| 国产精品久久久久一区二区三区共| 欧美在线免费播放| 亚洲日本成人| 亚洲欧美视频在线| 国产婷婷成人久久av免费高清| 亚洲国产精品女人久久久| 欧美亚洲在线观看| 久久久av水蜜桃| 亚洲高清毛片| 99re66热这里只有精品3直播 | 久久一区二区三区四区五区| 国产精品久久久久久一区二区三区| 亚洲精品123区| 亚洲经典在线| 欧美日韩在线视频观看| 香蕉国产精品偷在线观看不卡|