原创 codeforces MemSQL start[c]up Round 2 - online version A(模擬/二分查找) and B (最長公共子系列)

A題: 題目鏈接: http://codeforces.com/contest/335/problem/A 題意: 給一個串s 和整數n ,問串s最少可以用多少個長度爲n的另一種串ans(每個串都相同)組合成.       輸出最小數目

原创 【樹形DP】 HDU 4118 Holiday's Accommodation

題目鏈接:  HDU 4118 Holiday's Accommodation 分析: 可以知道每條邊要走的次數剛好的是這條邊兩端的點數的最小值的兩倍。 代碼: #include<iostream> #include<cstdio>

原创 【BFS】 HDU 4308 Saving Princess claire_

原題直通車:HDU 4308 Saving Princess claire_ 分析: 兩次BFS分別找出‘Y’、‘C’到達最近的‘P’的最小消耗。再算出‘Y’到‘C’的最小消耗,比較出最小值 代碼: #include<iostream>

原创 【樹形DP】 codeforces 337D Book of Evil

原題直通車: codeforces 337D Book of Evil 題意:一棵n個結點的樹上可能存在一個Evil,Evil危險範圍爲d,即當某個點與它的距離x<=d時,那麼x是危險的。       現已知道有m個點是危險的,問那個Ev

原创 【樹形DP】 POJ 1155 / 1947 樹形揹包

題目鏈接: POJ 1155 TELE 分析:  用dp[i][j]表示在結點i下最j個用戶公司的收益, 做爲揹包處理.        dp[cnt][i+j] = max( dp[cnt][i+j] , dp[cnt][i]+dp[so

原创 【樹形DP】 POJ 2486 Apple Tree

題目鏈接:  POJ 2486 Apple Tree 分析:        這題最重要的一個地方是可能會走回頭路.       那麼,我們對某一結點可分爲兩種狀態, 即訪問其子結點後回來及不回來.       當訪問到某一結點的子結點

原创 【狀態壓縮DP】【POJ3254】【POJ1185】 入門題

【POJ3254】題目直達車: POJ 3254 Corn Fields 題意:有一個m*n(n、m<=12)的網格,每個方格只能是0、1,從網格中選一部分 (可爲0)方格(只能選1的方格),不能取相鄰(包括四個方向)的兩個, 問有多少

原创 POJ 2318 / 2389 幾何入門題

題目鏈接:  POJ 2318 TOYS            POJ 2398 Toy Storage 代碼: POJ  2318 #include <stdio.h> #include <cstring> #include <i

原创 【樹形DP】 HDU 2196 Computer

題目鏈接:  HDU 2196 Computer 分析:   先從任意一點開始, 求出它到其它點的最大距離, 然後以該點爲中心更新它的鄰點,            再用被更新的點去更新鄰點......依此遞推 ! 代碼: #incl

原创 HDU 2517 / POJ 1191 棋盤分割 區間DP / 記憶化搜索

題目鏈接: 黑書 P116 HDU 2157 棋盤分割 POJ 1191 棋盤分割 分析:  枚舉所有可能的切割方法. 但如果用遞歸的方法要加上記憶搜索, 不能會超時... 代碼: #include<iostream> #incl

原创 【樹形DP】 POJ 3345 Bribing FIPA

題目鏈接: POJ 3345 Bribing FIPA 題意:          一個國家要參加一個國際組織,  需要n個國家投票,  n個國家中有控制和被控制的關係, 形成了一顆樹.        比如: 國家C被國家B控制, 國

原创 【樹形DP】 HDU 1520 Anniversary party

題目鏈接:  HDU   1520   Anniversary party 分析:  雖然看一去是有向邊, 但完全可以用無向邊去做! #include<iostream> #include<cstdio> #include<cstri

原创 HDU 1024 最大m段子段和 Max Sum Plus Plus

題目鏈接: HDU 1024 Max Sum Plus Plus 題意: 求一個數組中的m個子段(不交叉)的最大總和. 分析: (雖然之前看過幾次這題,但一直沒思路,直到今天再一次碰到才過,只說明一點: too weak)      

原创 【BFS】 HDU 4528 小明系列故事——捉迷藏

原題直通車:HDU 4528 小明系列故事——捉迷藏 分析: 標記時加兩種狀態就行. 代碼: #include<iostream> #include<cstring> #include<queue> #include<cstdio> u

原创 【樹形DP】 CodeForces 294E Shaass the Great

原題直通車:CodeForces 294E Shaass the Great 題意: 樹中有n個點,從n-1條邊中去除一條邊,再構建一條相同長度的邊重新構成一棵樹      (去除的邊和構造的邊可能相同),問新樹中任意兩點之間距離的總和最