POJ 2411 位壓縮dp

參考:http://blog.csdn.net/woshi250hua/article/details/7952496狀態轉移方程:dp[i+1][k]=sum(dp[i][j]);對於每一行,因為最多有11列,所以最多有2^11=2048個狀態,由於一行的狀態只受前一行狀態的影響,因此關鍵是j如何才能轉向k。本題目採用的是插頭dp,如果某個位置為0表示該位置是一個插頭,可以將木塊豎著放。否則,必須有連續偶數個1才行。邊界條件:可以將第0行預設為全是1,終態為最後一行全部為1,dp[h][2^w

POJ 1149 最大流 PIGS

//11166606c00h00g1149Accepted696K47MSG++1819B2013-01-09 12:03:48//將顧客看成頂點,構造網路流//廢話不多說,參看大牛解釋 http://wenku.baidu.com/view/0ad00abec77da26925c5b01c.html #include<stdio.h>#include<stdlib.h>#include<queue>#include<string.h>using

POJ 1861 kruskal+優先隊列+並查集

//11161129c00h00g1861Accepted900K110MSG++1462B2013-01-06 13:00:00//kruskal+優先隊列+並查集 #include<cstdio>#include<cstdlib>#include<queue>using namespace std;int N,M,i,j,res;struct Edge{ int from,to,w; Edge(int x,int y,int

POJ 1087 UNIX dinic

將裝置和插座都看成節點,並增加源點和終點。從源點s到每個裝置連一條線,容量為1;從裝置到該裝置應該插入的插座連一條線,容量為1;對於適配器,假設輸入的為a b,a表示該適配器的插座(即提供的插孔),b表示插頭(即往插孔上插的插頭),從a到b連一條線,容量為無窮大,表示a可以插在b上,向外提供a插座;從以前室內擁有的插座到終點t連一條線,容量為1;如所示://11168017c00h00g1087Accepted824K16MSG++5184B2013-01-10

POJ 1840 hash

//11225868c00h00g1840Accepted24868K407MSG++1083B2013-01-31 22:52:46//我自己想的是移過去一項,即a1*x1^3+a2*x2^3+a3*x3^3+a4*x4^3=-a5*x5^3,然後將左邊即為x,枚舉左邊,可以解出x5,然後判斷x5是否在範圍內//不過,可能是精度的問題,結果都不正確//然後看晚上用的都是hash,將算式分成兩部分

hdu 2577 How to Type 動態規劃

設f[i][0]表示caps lock關閉時,輸入到i這個位置時,需要type的最少次數,f[i][1]表示caps lock開啟時,輸入到i這個位置,需要type的最少次數。轉移方程:1、當a[i]為大寫字母時,f[i][0]=min(f[i-1][0]+2,f[i-1][1]+2);第一項表示表示如果i-1輸入完後,caps lock為關閉時,需要用shift+字母,兩次;第二項表示先直接輸入大寫字母再關閉,需要兩次。                                     

int strcmp(const char* s1,const char* s2)

自己實現了一下strcmp,代碼如下:int strcmp(const char* s1,const char* s2){ while(*s1!='\0'&&*s2!='\0'){ if(*s1<*s2) return -1; else if(*s1>*s2) return 1; else{ s1++; s2++; }

SQL介紹及查詢

1. SQL語句是一種語言符合ANSI 標準關鍵字不能縮寫使用語句控制資料庫中的表的定義資訊和表中的資料  SQL是structured Query Language(結構化查詢語言 (SQL))的縮寫。可以使用sql語句建立或刪除資料庫的對象,插入,修改和更新資料庫中的資料,並且可以對資料庫執行各種日常管理的操作。它是所有關聯式資料庫管理系統的標準語言.換句話說使用sql可以對所有的關聯式資料庫進行操作。2. SQL*Plus命令是一種環境Oracle

spring-基於注釋(Annotation)的配置) 4

1. 使用Spring註解來注入屬性 1.1. 使用註解以前我們是怎樣注入屬性的 類的實現: Java代碼 public class UserManagerImpl implements UserManager { private UserDao userDao; public void setUserDao(UserDao userDao) { this.userDao = userDao; } ... } 設定檔: Java代碼 <bean id="userManagerImpl"

Hdu 1421 搬寢室 dp

題意:從n件物品中選擇k對物品(2*k<=n),使得這些整數對的差的平方的和值最小。狀態轉移方程:dp[i][j]表示從前i件物品中選擇j對物品所得差的平方和值最小,我們首先要對a數組進行排序,因為只有取相鄰數的情況下才能保證差值最小。                         則有:i==2*j時,這時候,必須全部選完,有dp[i][j]=dp[i-2][j-1]+(a[i]-a[i-1])*(a[i]-a[i-1]);                               

POJ 1035 字串

題目大意:給定一個字典,然後給定一組單詞集合,如果該單詞在字典中,則輸出correct;否則,如果該單詞能夠通過1>插入一個字母 2>刪除一個字母 3>替換一個字母三種操作中的一種轉化為字典序中的某個單詞,輸出該單詞。直接暴力過的,c++能過,g++逾時。//11222230c00h00g1035Accepted1200K500MSC++1530B2013-01-30 15:07:29#include<string>#include<iostream>#

將資料類型添加到 UML 系統模型

開啟表示您的系統的 UML 圖檔案。右擊樹視圖中的“UML 系統”表徵圖,單擊“包”,然後單擊“建立”。在“包”列中,鍵入資料類型包的名稱(例如“我的資料類型”),鍵入或選擇其他包屬性,然後單擊“確定”。右擊新包,然後單擊“建立”,再單擊“資料類型”。鍵入資料類型的名稱,鍵入或選擇所需的其他屬性,然後單擊“確定”。新資料類型的表徵圖便在樹視圖中添加到該包之下。重複步驟 4 和 5,直到添加完所需的全部資料類型。如果希望新資料類型出現在您建立的每個新系統模型中,請將該檔案儲存為模板。在“另存新檔”

POJ 2028 When can we meet?

//11168440c00h00g2028Accepted396K32MSG++824B2013-01-10 15:55:32//首先統計每個日期出現的次數,然後枚舉出現的次數最大為n最小為q,如果找到break輸出 //奇怪:改成=105就不行了 #include<stdio.h>#include<stdlib.h>#include<string.h>int date[105];int n,q;int main(){

hdu 2059 龜兔賽跑

//錯誤原因,除的時候要記得乘上1.0不然是不準確的 #include<iostream>#include<limits.h>using namespace std;int L,N,C,T,VR,VT1,VT2;int p[105];int i,j;double dp[105];int main(){ while(cin>>L){ cin>>N>>C>>T>>VR>>VT1>

POJ 1459 最大流

//11166005c00h00g1459Accepted688K579MSG++1585B2013-01-08 22:10:35//第一道網路流//需要添加源點s和匯點t,power station上的最大發電量轉化為源點到該發電站邊的容量,同理consumer到t的邊的容量為consumer的最大耗電量//這一題讀入是痛點,如果使用c++讀入比較簡單,使用c讀入的話需要注意前面還有一個空格 //使用的是演算法競賽入門經典上的模板

Hdu 1978 dp

一開始理解錯了,以為是最後到達終點的時候必須為最後一步,實際上只要能夠到達就行了。狀態轉移方程:dp[i+a][j+b]=dp[i+a][j+b]+dp[i][j],其中a+b<=能量邊界條件:dp[1][1]=1,一開始為一種方法//75860932013-02-02 23:19:12Accepted1978203MS264K682

POJ 2632 類比

//11174234c00h00g2632Accepted452K32MSG++6938B2013-01-13 22:30:37//題意,只需要按照給定的操作進行移動,出現碰撞要推出//WA1次,原因:需要返回的是第一次碰撞的結果,如果某條路徑上可能出現多個碰撞,輸出第一個就可以了 #include<stdio.h>#include<stdlib.h>#include<string.h>#include<fstream>using

hdu 1358 kmp

#include<iostream>using namespace std;char s[1000005];int next[1000005];int n,i;void get_prefix(int len){ int k=0; for(int p=2;p<=len;p++){ while(k>0&&s[k+1]!=s[p]) k=next[k]; if(s[k+1]==s[p])

POJ 2352 樹狀數組

//這道題目剛開始根本就沒有想到用樹狀數組來做//我們知道樹狀數組提高了求和和修改的效率S[n]=A[1]+A[2]+...+A[n],而根據這個題目的題意,//y座標是遞增的,我們只需要考慮x座標,即求給點x座標之前<=x的元素個數,關鍵是我們如何 //確定A數組,A數組表示什麼意思,這裡A數組的意思是:A[i]表示i元素出現的次數,對於給定範例就是//A[1]=1,A[3]=1,A[5]=2,A[7]=1(這是統計到最後的結果)

POJ 1151 掃描線+線段樹+離散化

//考察:線段樹+離散化+掃描線//PE 一次,最後還要再輸出一個空行 #include<iostream>#include<algorithm>using namespace std;struct seg{ double x,y1,y2; int flag;//加入矩形最開始那條邊為+1,加入矩形對邊的時候為-1 seg(double a,double b,double c,int d):x(a),y1(b),y2(c),flag(d){}

總頁數: 61357 1 .... 24197 24198 24199 24200 24201 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.