Poj 1170 Shopping Offers (DP_狀態壓縮DP)

題目連結:http://poj.org/problem?id=1170題目大意:給定一個訂單n種商品,每種商品有個初始價格pri,初始數量numi,再給定m種組合,這些組合會得到便宜的價格。最後問怎麼搭配使得總價格最少。解題思路:搜狀態壓縮的題目時搜到關於這題的解題報告,名曰《經典狀態壓縮DPxxx》,然後我很認真地做了這題,還想好好吸收下,沒想到是水題,囧。    先將每種物品用一個六進位數表示,第1個物品表示為st1 = 1,第2個物品表示為st2 =

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

Zoj 3613 Wormhole Transport (綜合_斯坦納樹)

題目連結:  http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3613題目大意: 給定一張圖有n個頂點,某些點有工廠,某些點有資源,每個資源可以供應給一個工廠,有m條無向邊,邊有邊權。已知有資源的點不超過4個,有工廠的點也不超過4個,問選擇若干條邊如何使有資源工廠的工廠最多,當數量一樣多時輸出最小權值。n <= 200, m <=

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 2411 Mondriaan’s Dream (DP_狀態壓縮DP)

題目連結:http://poj.org/problem?id=2411題目大意: 給定一個n*m的方格矩形,求用1*2的小矩形完全覆蓋的方案數,n <= 11,m <= 11.解題思路: 挺經典的一類狀態DP--子矩形覆蓋父矩形,這類DP一般對一行的01狀態進行壓縮,然後按行進行轉移。   

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,將算式分成兩部分

POJ 1080 dp

//11175259c00h00g1080Accepted640K0MSG++1444B2013-01-14 16:18:02//題意:根據給定的矩陣,求兩個字串的最大相似性//轉移方程為

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++; }

hdu 1011 樹形背包

//75067352013-01-17 17:24:53Accepted101193MS272K1450 BG++chen//第一道樹形dp,轉移方程為dp[i][j]=max(dp[i][j],dp[i][j-k]+dp[son[i]][k]),這裡的k指的是父親節點分給孩子節點計程車兵個數

Longest Consecutive Sequence

最初的想法是使用一個數組dp[1000]記錄每個數字是否出現過,然後從小到大遍曆一遍尋找,看了測試資料後(資料太大),感覺這種方法不可行。實在想不出來了,參看了discuss,發現他們都是用容器實現的,首先將元素映射過去,然後判斷左邊和右邊元素是否在map中,並且和以前的元素是否連續,這樣進行之後,將訪問過的元素標記為0.z這種方法是可以達到O(n)的。所以,以後想不出來的時候,試著去用一下容器。class Solution {public: map<int,int> mp;

SQL介紹及查詢

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

POJ 1033 類比

//11158197c00h00g1033Accepted672K454MSG++1947B2013-01-04 22:40:37//幾十天沒看,回過頭來,終於想通了//我沒有處理環的情況//假設有這樣一組資料,1->2,2->3,3->4,4->1,排列應該為 4 1 2 3(輸入),我們的做法應該是將1234放入棧中,然後出棧將//4放到從後找出來的一塊空的地區,剩下的123組成了鏈,只需要將3->4,2->3,1->2就可以了

Zoj 3375 Imperishable Night (DP_狀態壓縮DP)

題目連結:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3375題目大意:題目規定有三個變數,point,Iv,tv,讓我們一個一個地選擇n個地方種的某個地方,然後這個地方裡面有兩種寶物x,y可取,x寶物有xi個,可以讓tv增加ai,y寶物有yi個,可以讓lv增加bi。選擇x,則point += lv,tv +=

POJ 1035 字串

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

POJ 2524 並查集

//11160831c00h00g2524Accepted632K313MSG++851B2013-01-06 09:42:44//簡單的並查集,主要是如何統計集合的個數,如果有一個共同的祖先則統計一次 #include<cstdio>#include<cstdlib>int pa[50005];bool vis[50005];int findset(int x){return pa[x]!=x?pa[x]=findset(pa[x]):x;}int main(){

Hdu 4085 Peach Blossom Spring (綜合_斯坦納樹)

題目連結:http://acm.hdu.edu.cn/showproblem.php?pid=4085題目大意:一個村莊有n幢房子,m條通道串連著這n幢房子,修建通道都有特定的花費。在1..k幢房子裡面住有人,現在道路被破壞了卻要讓這些人順利跑到n-k+1,n-k+2...n裡面,問最少需要花費多少money來修複這些道路。解題思路:11年北京現場賽的題目,經典的斯坦納樹。     

POJ 1459 最大流

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

總頁數: 61357 1 .... 21773 21774 21775 21776 21777 .... 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.