posts - 403, comments - 310, trackbacks - 0, articles - 7
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          日歷

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          相冊

          搜索

          •  

          積分與排名

          • 積分 - 337570
          • 排名 - 166

          最新評論

          原來vim的復制快捷鍵是 " +y ,其中+也是要按的,怪不得以前一直不成功

          /*

          PROG: sort3
          ID: 06301031
          LANG: C++
          */

          #include 
          <fstream>
          #include 
          <iostream>
          #include 
          <vector>

          using namespace std;

          int main()
          {
              ifstream fin(
          "sort3.in");
              ofstream fout(
          "sort3.out");
              
          int n;
              fin 
          >> n;
              vector
          <int> nums(n);
              
          int numCount[4];
              numCount[
          1= numCount[2= numCount[3= 0;
              
          for (int i = 0; i < n; i++)
              {
                  fin 
          >> nums[i];
                  numCount[nums[i]]
          ++;
              }
              numCount[
          2+= numCount[1];
              numCount[
          3+= numCount[2];
              
          int toBeChanged[4][4];
              
          for (int i = 1; i <= 3; i++)
                  
          for (int j = 1; j <= 3; j++)
                      toBeChanged[i][j] 
          = 0;
              
          for (int i = 0; i < n; i++)
              {
                  
          int sortedNum = 1;
                  
          for (int j = 1; j < 4; j++)
                      
          if (i - numCount[j] < 0)
                      {
                          sortedNum 
          = j;
                          
          break;
                      }
                  cout 
          << nums[i] << ":" << sortedNum << endl;
                  
          if (nums[i] != sortedNum)
                      toBeChanged[nums[i]][sortedNum]
          ++;
              }

              
          for (int i = 1; i <= 3; i++)
                  
          for (int j = 1; j <= 3; j++)
                      
          if (toBeChanged[i][j] != 0)
                          cout 
          << i << "," << j << ":" << toBeChanged[i][j] << endl;
              
          int triangles = 0;
              
          int swaps = 0;
              
          for (int i = 1; i <= 3; i++)
                  
          for (int j = 1; j <= 3; j++)
                      
          if (toBeChanged[i][j] != 0)
                      {
                          
          int smaller = toBeChanged[i][j];
                          
          if (toBeChanged[j][i] < smaller)
                              smaller 
          = toBeChanged[j][i];
                          toBeChanged[i][j] 
          -= smaller;
                          toBeChanged[j][i] 
          -= smaller;
                          swaps 
          += smaller;
                      }
              
          for (int i = 1; i <= 3; i++)
                  
          for (int j = 1; j <= 3; j++)
                      
          if (toBeChanged[i][j] != 0)
                          triangles 
          += toBeChanged[i][j];
              cout 
          << swaps << endl << triangles << endl;
              swaps 
          += (triangles / 3 * 2);
              fout 
          << swaps << endl;
              
          return 0;
          }


          posted @ 2007-06-11 22:00 ZelluX 閱讀(398) | 評論 (0)編輯 收藏

          第一個接到的Project啊 ^_^ 挺簡單的

          1. 映射了一對多關系后需要做查詢時碰到問題,翻書發現了個好東西Criterion Query。
          Criteria criteria = session.createCriteria(Booking.class);
          criteria.add(Expression.ne(
          "foregift", Foregift.getInstance(1)));
          return criteria.list();
          這樣就得到了已付押金的訂單列表

          posted @ 2007-06-11 20:45 ZelluX 閱讀(523) | 評論 (0)編輯 收藏

          由于復賽只做出一題,所以被安排為單獨一隊。
          Problem A比較簡單,模擬,把要改動的坐標點放入一個隊列中, 每次處理隊列的首個元素。
          Problem B先用簡單的幾何知識轉化為著色問題,然后離散化,著色。由于信號的覆蓋范圍是[0, 1000],在處理邊緣的時候有點問題,Wrong Answer了幾次,第五次提交總算過了。
          然后是Problem F,這題比賽時一直過不了,賽后和其他人交流了下題目理解也沒錯,一些比較容易錯的數據也處理正確了,但就是過不了 =_= 拿到測試數據了再看看吧

          就這么進ACM了,暑假留校。

          posted @ 2007-06-11 11:39 ZelluX 閱讀(275) | 評論 (0)編輯 收藏

          from http://gyq.czszg.net/items/rxk06/words-color.htm

          對于做網頁的初學者可能更習慣于使用一些漂亮的圖片作為自己網頁的背景,但瀏覽一
          下大型的商業網站,你會發現他們更多運用的是白色、藍色、黃色等,使得網頁顯得典
          雅,大方和溫馨。更重要的是,這樣可以大大加快瀏覽者打開網頁的速度。

            一般來說,網頁的背景色應該柔和一些、素一些、淡一些,再配上深色的文字,使
          人看起來自然、舒暢。而為了追求醒目的視覺效果,可以為標題使用較深的顏色。下面
          是我做網頁和瀏覽別人的網頁時,對網頁背景色和文字色彩搭配積累的經驗,這些顏色
          可以做正文的底色,也可以做標題的底色,再搭配不同的字體,一定會有不錯的效果,
          希望對大家在制作網頁時有用。

             BgcolorΚ″#F1FAFA″---做正文的背景色好,淡雅

             BgcolorΚ″#E8FFE8″---做標題的背景色較好

             BgcolorΚ″#E8E8FF″---做正文的背景色較好,文字顏色配黑色

          BgcolorΚ″#8080C0″---上配黃色白色文字較好
            
          BgcolorΚ″#E8D098″---上配淺藍色或藍色文字較好

             BgcolorΚ″#EFEFDA″---上配淺藍色或紅色文字較好

             BgcolorΚ″#F2F1D7″---配黑色文字素雅,如果是紅色則顯得醒目

             BgcolorΚ″#336699″---配白色文字好看些

             BgcolorΚ″#6699CC″---配白色文字好看些,可以做標題

             BgcolorΚ″#66CCCC″---配白色文字好看些,可以做標題

             BgcolorΚ″#B45B3E″---配白色文字好看些,可以做標題

             BgcolorΚ″#479AC7″---配白色文字好看些,可以做標題

             BgcolorΚ″#00B271″---配白色文字好看些,可以做標題

             BgcolorΚ″#FBFBEA″---配黑色文字比較好看,一般作為正文

             BgcolorΚ″#D5F3F4″---配黑色文字比較好看,一般作為正文

             BgcolorΚ″#D7FFF0″---配黑色文字比較好看,一般作為正文

             BgcolorΚ″#F0DAD2″---配黑色文字比較好看,一般作為正文

             BgcolorΚ″#DDF3FF″---配黑色文字比較好看,一般作為正文

            淺綠色底配黑色文字,或白色底配藍色文字都很醒目,但前者突出背景,后者突出
          文字。紅色底配白色文字,比較深的底色配黃色文字顯得非常有效果。

          posted @ 2007-06-11 11:34 ZelluX 閱讀(725) | 評論 (0)編輯 收藏

          看了bbs上轉載自cu的一篇文章,做了一些修改

          Ubuntu 7.04


          1. 匿名服務器的連接(獨立的服務器)
          在/etc/vsftpd.conf(原文中是/etc/vsftpd/vsftpd.conf ) 配置文件中添加如下幾項:
          Anonymous_enable=yes (允許匿名登陸)
          Dirmessage_enable=yes (切換目錄時,顯示目錄下.message的內容)
          Local_umask=022 (FTP上本地的文件權限,默認是077)
          Connect_form_port_20=yes (啟用FTP數據端口的數據連接)*
          Xferlog_enable=yes (激活上傳和下傳的日志)
          Xferlog_std_format=yes (使用標準的日志格式)
          Ftpd_banner=XXXXX (歡迎信息)
          Pam_service_name=vsftpd (驗證方式)*
          Listen=yes (獨立的VSFTPD服務器)*
          功能:只能連接FTP服務器,不能上傳和下傳
          注:其中所有和日志歡迎信息相關連的都是可選項,打了星號的無論什么帳戶都要添加,
          是屬于FTP的基本選項

          2. 開啟匿名FTP服務器上傳權限
          在配置文件中添加以下的信息即可:
          Anon_upload_enable=yes (開放上傳權限)
          Anon_mkdir_write_enable=yes (可創建目錄的同時可以在此目錄中上傳文件)
          Write_enable=yes (開放本地用戶寫的權限)
          Anon_other_write_enable=yes (匿名帳號可以有刪除的權限)

          3. 開啟匿名服務器下傳的權限
          在配置文件中添加如下信息即可:
          Anon_world_readable_only=no
          注:要注意文件夾的屬性,匿名帳戶是其它(other)用戶要開啟它的讀寫執行的權限
          (R)讀-----下傳 (W)寫----上傳 (X)執行----如果不開FTP的目錄都進不去

          4.普通用戶FTP服務器的連接(獨立服務器)
          在配置文件中添加如下信息即可:
          Local_enble=yes (本地帳戶能夠登陸)
          Write_enable=no (本地帳戶登陸后無權刪除和修改文件)
          功能:可以用本地帳戶登陸vsftpd服務器,有下載上傳的權限
          注:在禁止匿名登陸的信息后匿名服務器照樣可以登陸但不可以上傳下傳

          5. 用戶登陸限制進其它的目錄,只能進它的主目錄
          設置所有的本地用戶都執行chroot
          Chroot_local_user=yes (本地所有帳戶都只能在自家目錄)
          設置指定用戶執行chroot
          Chroot_list_enable=yes (文件中的名單可以調用)
          Chroot_list_file=/任意指定的路徑/vsftpd.chroot_list
          注意:vsftpd.chroot_list 是沒有創建的需要自己添加,要想控制帳號就直接在文件中
          加帳號即可

          6. 限制本地用戶訪問FTP
          Userlist_enable=yes (用userlistlai 來限制用戶訪問)
          Userlist_deny=no (名單中的人不允許訪問)
          Userlist_file=/指定文件存放的路徑/ (文件放置的路徑)
          注:開啟userlist_enable=yes匿名帳號不能登陸

          7. 安全選項
          Idle_session_timeout=600(秒) (用戶會話空閑后10分鐘)
          Data_connection_timeout=120(秒) (將數據連接空閑2分鐘斷)
          Accept_timeout=60(秒) (將客戶端空閑1分鐘后斷)
          Connect_timeout=60(秒) (中斷1分鐘后又重新連接)
          Local_max_rate=50000(bite) (本地用戶傳輸率50K)
          Anon_max_rate=30000(bite) (匿名用戶傳輸率30K)
          Pasv_min_port=50000 (將客戶端的數據連接端口改在
          Pasv_max_port=60000 50000—60000之間)
          Max_clients=200 (FTP的最大連接數)
          Max_per_ip=4 (每IP的最大連接數)
          Listen_port=5555 (從5555端口進行數據連接)

          8. 查看誰登陸了FTP,并殺死它的進程
          ps –xf |grep ftp
          kill 進程號


          --
          我所做的一切,都是出于一些我自己都無法完全解釋的莫名其妙的原因。
          我的那些解釋都無法讓我自己信服。
          ※ 來源:·日月光華 bbs.fudan.edu.cn·[FROM: 221.137.177.92]

          posted @ 2007-06-08 15:57 ZelluX 閱讀(266) | 評論 (0)編輯 收藏

          發信人: leemars (03CS·微笑·發光), 信區: Unix
          標  題: Re: rrdw 如何在命令行下操作文件名中帶空格的文件?
          發信站: 日月光華 (2007年06月06日21:16:23 星期三), 站內信件

          用雙引號引起來


          發信人: marcus (Marcus@Fresh_Blood|吳英德勛爵-馬凱公爵), 信區: Unix
          標  題: Re: rrdw 如何在命令行下操作文件名中帶空格的文件?
          發信站: 日月光華 (2007年06月06日21:18:14 星期三), 站內信


          \blank
          可以么?

          發信人: medivhet (上局滬段,藍色永不褪去!), 信區: Unix
          標  題: Re: rrdw 如何在命令行下操作文件名中帶空格的文件?
          發信站: 日月光華 (2007年06月06日21:18:29 星期三), 站內信件

          還不如\ (一個空格)...

          posted @ 2007-06-06 21:59 ZelluX 閱讀(2365) | 評論 (1)編輯 收藏

          發信人: DragonZhao (狂抽猛干·抽時間干事業), 信區: Algorithm
          標 題: 一個問題
          發信站: 日月光華 (2007年05月21日01:26:41 星期一), 站內信件


          已知存在二叉樹節點結構node{node* left; node* right};,現在給出樹的根節點node*
          root與自然數int m,要求搜索此樹中節點數為m的子樹的數量。如何做效率最高?

          發信人: wshxzt (WKFB2008), 信區: Algorithm
          標 題: Re: 一個問題
          發信站: 日月光華 (2007年05月21日01:28:34 星期一), 站內信件

          樹的動態規劃

          發信人: lovebei (0124·皮皮和卡卡), 信區: Algorithm
          標 題: Re: 一個問題
          發信站: 日月光華 (2007年06月06日13:36:43 星期三), 站內信件


          以i為根節點 節點數為j的子樹個數

          p[i][j]=∑{p[left(i)][k]*p[right(i)][j-k-1]} 0<=k<=j-1

          發信人: Jeru (檸檬樹), 信區: Algorithm
          標 題: Re: 一個問題
          發信站: 日月光華 (2007年06月06日13:59:36 星期三), 站內信件

          沒錯的。不過硬要說是動態規劃也沒錯,這個概念太寬泛了。


          發信人: jesseg (Jesse : 我是花朵,祖國的希望!), 信區: Algorithm
          標 題: Re: 一個問題
          發信站: 日月光華 (2007年06月06日16:12:04 星期三)

          其實這不至于算dp啦,dp的好處沒發揮出來,呵呵,樹狀的搜索不用dp的,要圖狀的時候
          dp才能省計算。

          posted @ 2007-06-06 17:40 ZelluX 閱讀(622) | 評論 (0)編輯 收藏

          由于體力、實力、發揮等各方面因素,最終還是沒把會做的題做出來。

          最后憑借微弱的時間優勢拿了個三等獎。

          賽前也挺有壓力的,怕夸下海口最后連個獎都撈不到。

          接下來就是好好搞ACM,看Computer System, A Programmer's Perspective,也要兼顧高數和英語,當然也不能讓其他課掛了。

          恩,總算結束了,本不應該這么有壓力的,太自信了吧。

          posted @ 2007-06-06 17:33 ZelluX 閱讀(315) | 評論 (0)編輯 收藏

          用了STL::map,很容易過了,前面用Java和樸素的C++都超時了
          不過開始提交的時候題目沒看清,沒有重復的號碼應該輸出No duplicates.的
          #include <iostream>
          #include 
          <string>
          #include 
          <map>

          using namespace std;

          string decode(const string& origin);

          long main() {
              
          long n;
              cin 
          >> n;
              map
          <stringlong> phones;
              
          string origin;
              map
          <stringlong>::iterator iter;
              
          for (long i=0; i<n; i++{
                  cin 
          >> origin;
                  
          string decoded = decode(origin);
                  iter 
          = phones.find(decoded);
                  
          if (iter == phones.end()) {
                      phones.insert(pair
          <stringlong>(decoded, 1));
                  }
           else {
                      iter
          ->second++;
                  }

              }


              
          bool flag = true;
              
          for (iter = phones.begin(); iter != phones.end(); iter++{
                  
          if (iter->second <= 1)
                      
          continue;
                  cout 
          << iter->first.substr(03<< '-' << iter->first.substr(38)
                       
          << ' ' << iter->second << endl;
                  flag 
          = false;
              }

              
          if (flag)
                  cout 
          << "No duplicates." << endl;
              
          return 0;
          }


          string decode(const string& origin) {
              
          string decoded;
              
          for (long i = 0; i < origin.length(); i++{
                  
          switch (origin[i]) {
                      
          case 'A'case 'B'case 'C'case '2':
                          decoded 
          += '2';
                          
          break;
                      
          case 'D'case 'E'case 'F'case '3':
                          decoded 
          += '3';
                          
          break;
                      
          case 'G'case 'H'case 'I'case '4':
                          decoded 
          += '4';
                          
          break;
                      
          case 'J'case 'K'case 'L'case '5':
                          decoded 
          += '5';
                          
          break;
                      
          case 'M'case 'N'case 'O'case '6':
                          decoded 
          += '6';
                          
          break;
                      
          case 'P'case 'R'case 'S'case '7':
                          decoded 
          += '7';
                          
          break;
                      
          case 'T'case 'U'case 'V'case '8':
                          decoded 
          += '8';
                          
          break;
                      
          case 'W'case 'X'case 'Y'case '9':
                          decoded 
          += '9';
                          
          break;
                      
          case '1'case '0':
                          decoded 
          += origin[i];
                          
          break;
                  }

              }

              
          return decoded;
          }

          posted @ 2007-06-03 21:54 ZelluX 閱讀(1249) | 評論 (3)編輯 收藏

          官方的一個很贊的做法,Divide and Conquer,核心部分:

          void
          genfrac(
          int n1, int d1, int n2, int d2)
          {
              
          if(d1+d2 > n)    /* cut off recursion */
                  
          return;

              genfrac(n1,d1, n1
          +n2,d1+d2);
              fprintf(fout, 
          "%d/%d\n", n1+n2, d1+d2);
              genfrac(n1
          +n2,d1+d2, n2,d2);
          }


          最樸素的做法

          /*
          PROG: frac1
          ID: 06301031
          LANG: C++
          */


          #include 
          <iostream>
          #include 
          <fstream>
          #include 
          <algorithm>
          #include 
          <vector>
          #include 
          <string>

          using namespace std;

          class Fraction {
              
          int gcd(int x, int y);
          public:
              
          int numerator;
              
          int denominator;
              Fraction(
          int pa, int pb);
              
          bool reductable();
          }
          ;

          bool compareFrac(const Fraction& f1, const Fraction& f2);
          int main() {
              ifstream fin(
          "frac1.in");
              ofstream fout(
          "frac1.out");
              
          int n;
              fin 
          >> n;
              vector
          <Fraction> fracs;
              
          int i, j;
              fracs.push_back(Fraction(
          01));
              
          for (i = 1; i <= n; i++{
                  
          for (j = 1; j <= i; j++{
                      Fraction frac(j, i);
                      
          if (!frac.reductable()) {
                          fracs.push_back(frac);
                      }

                  }

              }


              sort(fracs.begin(), fracs.end(), compareFrac);
              vector
          <Fraction>::iterator iter;
              
          for (iter = fracs.begin(); iter != fracs.end(); iter++{
                  fout 
          << iter->numerator << '/' << iter->denominator << endl;
              }

              
          return 0;
          }


          Fraction::Fraction(
          int pa, int pb) {
              numerator 
          = pa;
              denominator 
          = pb;
          }


          bool Fraction::reductable() {
              
          return (gcd(numerator, denominator) != 1);
          }


          int Fraction::gcd(int x, int y) {
              
          if (x < y) swap(x, y);
              
          if (x % y == 0return y;
              
          return gcd(y, x % y);
          }


          bool compareFrac(const Fraction& f1, const Fraction& f2) {
              
          return (long)f1.numerator * (long)f2.denominator < (long)f1.denominator * (long)f2.numerator;
          }

           

          posted @ 2007-06-03 21:13 ZelluX 閱讀(286) | 評論 (0)編輯 收藏

          僅列出標題
          共39頁: First 上一頁 22 23 24 25 26 27 28 29 30 下一頁 Last 
          51La
          主站蜘蛛池模板: 临洮县| 西盟| 抚顺市| 榕江县| 五河县| 离岛区| 梁平县| 体育| 许昌市| 谢通门县| 西城区| 平度市| 北碚区| 双江| 阿巴嘎旗| 连城县| 宝清县| 郴州市| 万载县| 华安县| 青冈县| 故城县| 花莲县| 盐津县| 甘孜县| 启东市| 霍州市| 铜川市| 泰宁县| 阳高县| 陕西省| 确山县| 叶城县| 高青县| 威远县| 漾濞| 绥滨县| 漳平市| 乃东县| 玛沁县| 泰兴市|