HDU 3646 DP + 二分

連結:http://acm.hdu.edu.cn/showproblem.php?pid=3646題意:你有N把武器,每把武器可以對敵人造成一定的傷害(et:攻擊力500,敵人血量為200,殺死敵人,攻擊力剩餘300),一共有K個敵人,你有M次魔法double武器的攻擊力(加倍),使用武器是有規則的:武器有兩個狀態,一個狀態為young,一個為old,新的武器狀態為young,當你用它殺死一個敵人之後,狀態變為old,當狀態為young的時候,即使該武器剩餘的攻擊力不足以殺死當前的敵人,但是可以

HDU 3015 Disharmony Trees 樹狀數組

來源:http://acm.hdu.edu.cn/showproblem.php?pid=3015題意:有一些樹,這些樹的高度和位置給出。現在高度和位置都按從小到大排序,對應一個新的rank,任意兩棵樹的值為min(高度的rank) * abs(位置差的絕對值)。問所有任意兩棵樹的值的和是多少。思路:首先對高度和位置分別離散,接下來就是樹狀數組 了,和poj 1990是一樣的。代碼:#include <iostream>#include <cstdio>#include

HDU 1150 二分圖匹配 最小點覆蓋

題意:有一序列的工作需要完成,現在有兩台機器A,B,機器A有N個模式,機器B有M個,每個工作可以在機器A上的a模式下完成,或者在機器B的b模式下完成,機器變換模式時需要重啟機器,問你最少的重啟機器次數思路:這個題目可以將兩個機器的模式看做二分圖,對於某一個工作的兩個機器的模式連線,然後求二分圖的最小點覆蓋(用最少的點使所有的邊至少與某個點相連 (最小點覆蓋)  ==

求i從1到n的gcd(n,i)的和

     剛才rihkddd神給我講解的一個數論問題,為了防止以後忘記,寫一下吧。題目是讓求i從1增加到n的gcd(n,i)的和,我們假設gcd(n,i) = k,則gcd(n/k,i/k) = 1。即假設gcd(n/k, x ) = 1,則gcd(n,x*k) = k。gcd(n,i) = k,k的取值是確定的,即n的所有因子,所以,滿足gcd(n/k,x) = 1個x的個數乘以k即為所有滿足gcd(n,i) = k 的和。因此就轉化為n/k的歐拉函數的值乘以k的所有的和。舉個例子12來說,1

HDU 4433 類似於狀態壓縮的DP

這題卡了好幾個小時,糾結,後來回想一下,其實是自己模型構建能力太弱了,想清楚的話就容易多了dp[i][j] 表示位置i,j表示i,i + 1,i + 2位置上的值,dp【i】【j】確保1-----i  - 1 的位置已經一一對應,然後轉移的時候就分為上和下,上的話,注意一下,第一位上升A,第二位可以上升B(B <= A) ,第三位可以上升 C(C <=

HDU 3371 Connect the Cities

水題MST吧。。對於這種模版題,我已經可以不用做了。。。。衝刺東北賽!!!!Problem : 3371 ( Connect the Cities )     Judge Status : AcceptedRunId : 8394387    Language : C++    Author : CherryChouCode Render Status : Rendered By HDOJ C++ Code Render Version 0.01 Beta #include

POJ 1935 樹形DP

比較好的一道樹形DP,與POJ 2486

HDU 3544 Alice’s Game

就是博弈,簡單博弈啊。後面的那位孩紙會盡量切前面那位妹紙切後的小塊切~~~ 多有愛! #include <cstdio>using namespace std;int main(){long long a,b,x,y;int T,Icase=0,N;scanf("%d",&T);while(T--){scanf("%d",&N);a=b=0;while(N--){scanf("%lld%lld",&x,&y);while(true){if(x==1){

CF 176B – Word Cut (dp計數)

CF的每道DP題目都能讓我回味良久,太經典了!!!!!!!!題意:給兩個字串A,B,每次操作能把A分為兩部分C,D,組成DC,比如A是abcdefg,abc | defg ----->defg   |   abc,然後指定操作次數K,問在K步之內將A轉化為B的方法數。連結:http://codeforces.com/problemset/problem/176/B解析:先暴力求出迴圈點個數(迴圈點:在這個點切斷之後可以產生B),然後dp【k】【2】,dp【i】【0】表示現在和B一樣,dp【

HDU 4295 狀態壓縮dp + KMP

連結:http://acm.hdu.edu.cn/showproblem.php?pid=4295題意:給你一個字串和他的4個子串,將這4個子串放到原串裡面(可以重疊),問你最多能覆蓋多少個字元,最少能覆蓋多少個字元解析:網賽的時候DP還是太水了,居然不敢想這個題目,現在看下,其實這個題目還是不難的,只是不好寫,用KMP預先處理子串可以插入的位置,dp【i】【j】【k】表示位置i,4個字串的使用狀態為j,k表示

UVA 11538 Chess Queen

題意:給你個n*m的棋盤,問你有多少種方法放置兩個相互攻擊的皇后?Sol:利用加法原理A+B+C(A:同一行的方案數,B:同一列的方案數,C:對角線的方案數)A=nm(m-1)   B=nm(n-1)  C=(2n(n-1)(3m-n-1))/3 ; #include <cstdio>#include <algorithm>using namespace std;typedef unsigned long long ULL;int main(){ULL

zoj 3644(關於最小公倍數的DP)

這個題目必須得記錄一下,經典。dp【i】【j】 i表示現在在哪個點,j表示現在是第幾個約數,記憶化搜尋即可,做了一些題之後,發現這是個經典的設定狀態方法。#include<stdio.h>#include<string.h>#include<math.h>#include<map>#define MOD 1000000007#define Max(a,b) ((a)>(b)?(a):(b))#define Min(a,b) ((a)<(

Codeforces Round #185 (Div. 1) && (Div. 2)

Div 2A  類比。類比。類比。我看錯了一句話,最近總是犯這種毛病。。。According to his experience, he thought that Freda always said "lala."at the end of her sentences, while Rainbow always said "miao." at thebeginning of his sentences.導致WAWAWA----find problem --- solve -----

NYOJ 525 一道水題

      一道簡單題了,題目就是“一道水題”,,,只需要考慮好各種情況就可以了。特殊情況有:全都是5的,輸出0;1235555這種情況;555123這種情況;我感覺就是這些情況了,只要考慮完整就可以了。題目:一道水題時間限制:1000 ms  | 

HDU 4009 最小樹形圖

題意:有一個村莊需要給每戶人家提供水,有兩個方法:1.自己鑿井    2.從有井的人家引過來,不同的方式有不同的花費,問你解決每戶人家供水問題的最小花費。思路:構建一個超級源點,叢源點引一條邊到每個點(花費為 home.z *

ubuntu安裝sublime 的配置

下載C++環境:sudo apt-get install build-essential配置代碼:{ "cmd":["g++","${file}","-o","${file_path}/${file_base_name}"], "file_regex":"^(..[^:]*):([0-9]+):?([0-9]+)?:?(.*)$", "working_dir":"${file_path}", "selector":"source.c,source.c++",

zoj 3614 二維RMQ

連結: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4738題意:給你一個 n * m 的矩陣,然後有Q次詢問,求一個a * b 的 子矩陣,使其方差最小(去掉子矩陣的最大值以後)分析:n 和 m 的範圍是 0 - 300,q 最大為100,枚舉的話是10 ^ 6,這就要求我們在O(1) - O(n^2) 內求出子矩陣的方差,我們可以將方差拆開,預先處理下需要的資料,然後可以在            

HDU 3639 強連通縮點最佳化

題意:有一群孩子正在玩老鷹抓小雞,由於想當老鷹的人不少,孩子們通過投票的方式產生,但是投票有這麼一條規則:投票具有傳遞性,A支援B,B支援C,那麼C獲得2票(A.B共兩票),然後問你獲得最多票數的人是誰,最多能獲得的票數是多少張思路:原始思路是對每個點跑一次DFS,然後統計,但是由於case比較多,必然逾時,所以我們得最佳化一下,這個題目可以轉化為有X個點以自己為根,包含了I,輸出最大的X以及相應的I,但是這樣並不好想,我們通常的的由根至節點,這個題目是由節點至根,不好想,我們可以轉化一下,轉化

POJ 3261 字串

題意:給定一個字串,求最少出現K次的最長重複字串,這K個字串可以重疊。做法:1.hash(二分最大長度,這裡要判斷的是枚舉起點,然後對該長度的字串求hash值,統計下該字串出現了幾次,如果>=k,則滿足條件)    2.尾碼數組(論文經典題,詳細看論文)code:1.#include <cstdio>#include <iostream>#include <cstring>#include <algorithm>#include

專註做好一件事

作者: JACK ALTMAN  來源: 36氪    英文原文:Your best option is to be the best“人們對機會的估值過高,這是我在下棋的時候學到的一點。你其實只需要一個好的選擇就行,沒必要同時去追求 A、B、C、D。”——Peter

總頁數: 61357 1 .... 21012 21013 21014 21015 21016 .... 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.