原创 POJ 1321 棋盤問題(dfs)

棋盤問題 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 50481   Accepted: 24459 Description 在一個給定形狀的棋盤(

原创 2016 ACM/ICPC 青島網賽 1001(預處理+二分)

I Count Two Three 題意:求能用2^a*3^b*5^c*7^d表示的大於等於n的值,其中a,b,c,d均爲非負整數。 我們可以先把能用2^a*3^b*5^c*7^d表示的數打表,,然後二分即可。n的最大值爲10^9,估

原创 卡特蘭數(Catalan)

本文轉載http://m.blog.csdn.net/mobius_strip/article/details/39229895 也可參見百度百科 一、介紹         卡塔蘭數是組合數學中一個常在各種計數問題中出現的數列

原创 The 36th ACM/ICPC Asia Regional Shanghai Site 4016(dfs+剪枝)

Magic Bitwise And Operation 題意:n個數字取出k個數字進行“與”操作,求最少的結果。 思路:首先明白“與”操作的結果,顯然應先將數字排列,小的先取必然最優。下面dfs+剪枝即可, 剪枝: 1. dfs路徑上

原创 2016 ACM-ICPC Asia Regional B – Help the Princess!(bfs)

B – Help the Princess! 一個n * m的地圖,有個若干壞蛋和主角,主角需要到達出口才能得救,主角和壞蛋每秒都可以選擇往四周走或者停留不動,求主角是否存在一條路徑到達出口,這條路徑無論壞蛋怎麼走都無法阻斷! 思

原创 虛樹

給出一棵樹. 每次詢問選擇一些點,求一些東西.這些東西的特點是,許多未選擇的點可以通過某種方式剔除而不影響最終結果. 於是就有了建虛樹這個技巧..... 我們可以用log級別的時間求出點對間的lca.... 那麼,對於每個詢問我

原创 2016 ACM-ICPC Asia Regional A – Best Matched Pair(打表)

A – Best Matched Pair 給出n個數字,任意兩個數字可以乘積,求乘積最大並且乘積結果是連續遞增的數字的一個解。例如1234是連續遞增的數字,但135不是。 思路:將所有連續遞增的數打表,再暴力匹配即可。時間複雜

原创 POJ 3600 Subimage Recognition(dfs)

Subimage Recognition 題意:r*c的01格子1,和R*C的01個格子2( <= 20),能否通過刪除格子2的某些行和列使得格子1和格子2完全相同。 思路:暴力枚舉刪除某些列,然後觀察是否完全匹配即可; 代碼: #

原创 2016 ACM-ICPC Asia Regional Changchun 1004 Triangle(打表)

Triangle 題意:長度爲1,2,3,…,n的n根木棒,問至少偷走幾根木棒,才能使得剩下的木棒任意三根都無法組成三角形。 找規律,發現剩下的木棍爲斐波拉契數列。然後,n<=20打表就可以了。 代碼: #include <stdio

原创 FZU 2181 快來買肉鬆餅(dfs)

快來買肉鬆餅 題意:給出n個人, 要從他們中選出奇數個人(人數 >= k)圍成圈,,接着給出m對敵對關係, 敵對關係的人不能相鄰,,問能不能選出奇數個人構成圈.。 思路:將可以相鄰的人建邊,,那麼就是對次圖找一個奇數環, 同時奇數環的點

原创 HDU 1018 Big Number(數學知識)

Big Number 題意:n!的結果由多少位組成。 假設10^x近似n!,則x=lg(n!),展開x=lg(n)+lg(n-1)+lg(n-2)+...+lg1。 代碼: #include<stdio.h> #include<m

原创 2016 ACM-ICPC Asia Regional Changchun 1002 Fraction(模擬)

Fraction 直接模擬即可,注意結果爲分數; 代碼: #include <stdio.h> using namespace std; const int N = 10; int a[N],b[N]; int gcd(int

原创 2016 ACM-ICPC Asia Regional Changchun 1006 Harmonic Value Description(邏輯思維)

Harmonic Value Description 題意:1~n的全排列中諧波值嚴格第k小的排列爲多少,排列p1,p2,…,pn的諧波值定義爲: 由於p1,p2,…,pn是1~n全排列中的一種,可想而知的是,嚴格第1小的排列必定是

原创 2016 ACM-ICPC Asia Regional E – Similarity of Subtrees(dfs+hash)

E – Similarity of Subtrees 題意:輸入一棵由n個點和n-1條邊構成的樹,求這個樹中兩棵相似的子樹有多少對? 相似的子樹:要求在相同的深度,兩顆子樹的在這一層的節點數相同。 思路:利用樹的多項式做hash

原创 2012 ACM/ICPC 長春賽區網絡賽 1006(dfs)

LianLianKan 題意:問每次都從頂部元素向下消去距離小於6的相同元素能否消完全部元素。 代碼: #include<stdio.h> #include<map> #include<algorithm> using namespa