原创 Codeforces 383C . Propagating tree【樹狀數組,dfs】

題目大意: 有一棵樹,對這個樹有兩種操作:1:表示爲(1 x val),在編號爲x的節點上加上val,然後給x節點的每個兒子加上- val,再給每個兒子的兒子加上-(- val),一直加到沒有兒子爲止。2:表示爲(2 x)查詢x節點上的值

原创 Codeforces 85B. Embassy Queue【線段樹、貪心】

題目大意: 每個人要辦理簽證都必須到大使館中辦理三種手續,而且這三種手續辦的順序是固定的。給出辦理每種手續的窗口有多少個,辦理每個手續花費的時間,有多少人會來辦理手續,一級每個人會在什麼時間來。要求的是所有人分別在大使館待的最長時間是多少

原创 Codeforces 282E. Sausage Maximization【trie樹(非指針版)】

題目大意: 給出一串數,pre[i](前i個數的異或)爲a[0]~a[i-1]的異或,post[i](後綴的異或)爲a[i]~a[n-1]的異或,求pre[i]^post[j]的最大值(0<=i<=j<=n),其中,pre[0]=0,po

原创 Codeforces 463C. Gargari and Bishops

題目大意: 給出一個n*n的棋盤,要在這個棋盤上放兩個象(能將以自己爲中心的兩條斜對角線上的子全部吃掉),要求兩個象不能吃到相同的子,問最後最大能夠吃到的價值,和需要在哪兩個點上放置這兩個象。 做法: 首先我們需要知道在每個點上防置象能

原创 hdu 4965 Fast Matrix Calculation【矩陣快速冪模板】

此題只是需要對某個矩陣進行變換相乘之類的,換一下兩個矩陣相乘的順序,利用矩陣快速冪求解即可。 #include <iostream> #include <cstdio> #include <cstring> #include <cstd

原创 Codeforces 242E. XOR on Segment【線段樹】

題目大意: 給出一個序列,有兩種操作,一種是計算l到r的和,另一種是讓l到r的數全部和x做異或運算。 做法: 很顯然直接暴力是不可能的(但是這題剛剛出來的時候,很多人用暴力水過去了,後來加強的數據吧),又是兩種操作,又想到了線段樹。。但是

原创 HDU 5127 Dogs' Candies【CDQ分治+動態凸包】

HDU 5127 Dogs’ Candies【CDQ分治+動態凸包】 題意: 一個狗國家的狗國王有一個裝糖的盒子,每顆糖有兩個屬性p,q,分別代表甜度和鹹度,每隻狗對於甜度和鹹度的偏愛度不一樣,所以每條狗有兩個參數x, y,每顆糖對於特定

原创 POJ 分類

 POJ題目分類 轉載地址:http://www.cnblogs.com/kuangbin/archive/2011/07/29/2120667.html 初期: 一.基本算法:      (1)枚舉. (poj1753,poj2

原创 【二分圖匹配】 最小點覆蓋==最大匹配數

 先說一下,什麼叫做最小覆蓋點。     在一個二分圖中,一個x部或y部的覆蓋點可以覆蓋與之相連的所有線段,選擇一些點,使得覆蓋所有線段,點數最少。     König定理:最小覆蓋點數==最大匹配數     我有兩個證明。 ****

原创 模擬退火--較容易理解的一篇講解

一. 爬山算法 ( Hill Climbing )          介紹模擬退火前,先介紹爬山算法。爬山算法是一種簡單的貪心搜索算法,該算法每次從當前解的臨近解空間中選擇一個最優解作爲當前解,直到達到一個局部最優解。   

原创 數位DP合集

1.HDU 4722 good numbers: 題意:給出一個區間【A,B】,求出區間內有多少個數的各位的和加起來模10等於0的數有多少個。 解法:這是一個數位DP簡單入門題,簡單的DFS+數組記憶化搜索就可以。姿勢是自己寫的。。感覺略

原创 【Android】 R.layout.main報錯問題

剛剛開始玩Android,學習過程中複製粘貼了一部分代碼,沒想到就出了問題,一直在R.layout.main那兒報錯,在網上找了方法,什麼升級SDK,刷新工程都沒用。 後來在res這個文件夾下的layout文件夾下面看到只有activit

原创 Codeforces Round #286 div.1 D 506D D. Mr. Kitayuta's Colorful Graph【並查集】

題目鏈接:http://codeforces.com/problemset/problem/506/D 題目大意: 給出n個頂點,m條邊,每條邊上有一個數字,代表某個顏色。不同數字代表不同的顏色。有很多個詢問,每個詢問問有多少條純種顏色的

原创 BUPT Summer Training #7 for Grade 14 題解

A. CodeForces 396C 題意就不描述啦。 對於第一種操作 1 v x k,我們可以給v的子樹全部加上(x+depth[v]*k)的值。 對於第二種操作 2 v。查詢每個節點的值之後,只需要在減去depth[v]*K即可得到

原创 Codeforces 507D (Round #287(div.2))D. The Maths Lecture【數位DP】

題目地址:http://codeforces.com/contest/507/problem/D 題意: 給出n,k,m,問滿足一下條件的數字有多少: 1.這個數剛好有n位; 2.這個數存在某非空的後綴Si,滿足Si%k=0; 3.這個數