Time of Update: 2018-12-03
題意, 一個方格到相鄰八個點的距離都為1.http://acm.hdu.edu.cn/showproblem.php?pid=4312給你好多個點的座標,讓你求一個點滿足到其他點的距離最短。解: 其實也是暴力枚舉,貌似沒有比他更好的方法。 但是枚舉的時候做些預先處理就行,參見4311. 其他就需要瞭解的就是chebyshev距離和manhattan距離的轉化了。 我照著題解靜下心來認真看了,終於覺得題解是對的了。平面上兩點間的 Chebyshev距離為 max(|x1-x2|,
Time of Update: 2018-12-03
在久別線段樹之後,我終於又A了一道線段樹。題意為:一個母龍不停地生小孩。問對於每個龍來說,他存在過的最小子孫和他的代數差值是多少。這題就是區間修改,區間求最值。調了幾調,還在課上寫了一寫。終於過了。push_up 和 push_dn寫錯了。其他全是圖方便的寫法, 比如unique 和 lowerbound。#define maxn 141001#define lson l, m , rt << 1#define rson m + 1, r, rt << 1
Time of Update: 2018-12-03
題意:現在有1到N(N <= 50000)個連續記憶體塊,然後給出四種操作:1. Reset 釋放所有記憶體塊,並且輸出“Reset Now”。2. New x 找到一塊有連續x塊記憶體的空間,並且佔據它。如果有多種,選擇起始數字最小的,然後“New at A”,A表示起始數字;否則輸出“Reject New”。3. Free x 釋放一塊佔據x單元的記憶體塊,並且輸出“Free from A to B”,A到B表示佔據的記憶體塊;否則輸出“Reject Free”。4. Get x
Time of Update: 2018-12-03
數論啊。http://acm.hdu.edu.cn/showproblem.php?pid=4335給定bpm,求有幾個n滿足條件。證明見http://hi.baidu.com/aekdycoin/item/e493adc9a7c0870bad092fd9題目給定b,p,M 問 0 <= n <= M 中有多少個數滿足 n^(n!) ≡ b (MOD p),並且可惡的是這裡沒有提到任何數的特殊性質,給定都只是限定在正整數且p>0。有歐拉定理我們知道 n^(phi(p)) ≡ 1
Time of Update: 2018-12-03
空的標為1。兩個操作。將車停在離左右兩邊最近車最遠的地方。如果有兩個位置,輸出編號小的位置。編號為id的車離開停車場。做題過程: 雜麼什麼都說跟那個hotel有點像。。。Orz。。。。 這個很有特色的就是push_up和查詢了。#include <iostream>#include <cstring>#include <cstdio>#define lson l, m , rt << 1#define rson m + 1,
Time of Update: 2018-12-03
題目模型可以抽象為:有三個點光源,一個放在z = 0 平面的凸多面體,求三個點光源照射凸多面體在z = 0平面上的影子的公用部分。對於每個點光源,它在z = 0平面上產生的影子都是一個凸多邊形,三個凸多邊形的交集即為所求。凸多邊形求法:每個點光源和凸多面體的每個點進行連線,和z = 0平面求交點,對於交點求凸包,即為所求凸多邊形。三個凸多邊形求交集:半平面交http://acm.hdu.edu.cn/showproblem.php?pid=4316#include <cstdio>#
Time of Update: 2018-12-03
將n分成素數相加的形式,相加的素數必須小於k並且相加的素數不能連續出現。素數的順序不同算是不同的相加方式。給定n,k,問素數相加的方式有幾種?題目&&範例 打巨表過的,原來我對打表還不熟悉。看看下面寫的,真是神奇!!!記憶化搜尋,dp思想。。。#include <iostream>#include <cstdio>#include <cmath>#include <string>#include <cstring>#
Time of Update: 2018-12-03
題意: 求一個序列相應期間的最長上升子串。期間會有修改和詢問。解: 線段樹當前區間最長首碼,尾碼,最長子區間,開始數字,結束數字。 單點更新,區間操作。做題過程: query還是覺得有些困難的。但是還是自己寫出來了(有那麼一點點小小的錯誤,就是包含m的時候,同時仍然需要考慮單單是左邊的和單單是右邊的)。看這題應該好好看看寫的query。 然後RE了數次啊。。。Orz。RE的原因是push_up寫錯了。我不知道push_up寫錯還能RE。。。由下更新上面的話,
Time of Update: 2018-12-03
映像放縮之雙立方插值一:數學原理如果已知一個函數f(x)以及它在x=0,x=1處的導數,那麼函數可以在[0,1]之間插值,當函數表達為三次多項式時我們稱之謂立方插值。一個三次多項式及其導數: f(x) =ax^3 +bx^2 + cx + d f’(x)=3ax^2 + 2bx +c多項式在x=0, x=1處值及其導數值為: f(0)= d; f(1)= a + b + c + d; f’(0)=c
Time of Update: 2018-12-03
http://acm.hdu.edu.cn/showproblem.php?pid=1242有點簡單的 BFS題目 唯一的不同 是X點可以 停滯一下這次採取的方法與以前不同 對於X點的處理注意 VIS【】【】記錄是否訪問和 走過此點的最短時間#include<stdio.h>#include<string.h>#include<stdlib.h>char map[205][205];int vis[205][205];struct node{
Time of Update: 2018-12-03
題意:給出一個長度為N(N <= 100000)的數列,然後是五種操作:插入操作:0 a b 將所有[a, b]區間內的數改成01 a b 將所有[a, b]區間內的數改成12 a b 將所有[a, b]區間內的數異或一下(0邊1,1變0)輸出操作:3 a b 輸出[a, b]區間內1的數量4 a b 輸出[a, b]區間內最長的連續1串解: 正解應該比較簡單。然而我的解就有點Orz了。 每個節點資訊是: preb,
Time of Update: 2018-12-03
http://acm.hdu.edu.cn/showproblem.php?pid=4315,誰先把紅球移出去誰贏。移的方式是不能超越著移。解:
Time of Update: 2018-12-03
http://acm.hdu.edu.cn/showproblem.php?pid=1429第一次做 感覺有點困難 畢竟接觸 BFS不久兩點值得學習1,記錄10把鑰匙的狀態 即vis[][][1024]的 作用 1024 (2^10)中狀態 。。。狀態 學長 屢次強調 且 屢次解釋 的一個 東西每種狀態只能走一個點一次 這是和 最簡單迷宮的 區別 。。2,位元運算 >> << & | 這與上面的1024相對應
Time of Update: 2018-12-03
poj 3225 線段樹區間更新,區間詢問 Help with Intervals題意: 給定一些集合的操作,問最後的集合是多少? 開始集合為空白。解: 現在看跟以前看不一樣。學會了對除更新區間之外的區間操作。我們一個一個操作來分析:(用0和1表示是否包含區間,-1表示該區間內既有包含又有不包含)U:把區間[l,r]覆蓋成1I:把[-∞,l)(r,∞]覆蓋成0D:把區間[l,r]覆蓋成0C:把[-∞,l)(r,∞]覆蓋成0 ,
Time of Update: 2018-12-03
http://acm.hdu.edu.cn/showproblem.php?pid=4336題意:給出n種不同卡片在買的小吃力裡面出現的可能,求湊齊n種卡片要買的小吃的平均數量。思路:根據官方解題報告做的:設卡片的分布p=(p1,p2,...,pn),T(p)表示拿到所有卡片時買的零食數目,有由容斥原理得,#include <cstdio> #include <iostream> using namespace std; const int maxn = 22;
Time of Update: 2018-12-03
參考http://www.cnblogs.com/wuyiqi/archive/2012/04/28/2474672.html的,加上自己的一些理解。話說上面這個人,我一看到他的線段樹就覺得親切,因為跟我的寫法是一樣的。再仔細一看他的部落格,發覺我的kmp是跟著他做的。再看一眼,發覺他跟我的方向一樣,都是線段樹。真是相見恨晚啊!這題應該仔細理解排序那裡(相當於離散化)和三棵線段樹那裡。發覺線段樹真神奇。/*Pro: 題目比較有趣,賣麵包,如果超過W時間沒人來就會睡著,
Time of Update: 2018-12-03
幾個題目中都是BFS,有一維的,二維的,三維的其實都是一樣的 , 真正需要思考的是 一些 狀態的判斷和一些 條件 比如 逃離迷宮 求的是偏轉方向的次數 要麼按照一行不轉彎都入隊 要麼 就是一個一個的入隊 判斷條件是當這次時比上次時轉彎少,此題可以看出 , 入隊條件的 判斷 !連連看 和逃離迷宮 貌似 但 我卻WA 了N次 那個 勝利大逃亡(續) 是10把鑰匙 1024 表示1024個狀態 , 還有位元運算 。。(開始不會)還有什麼 勝利大逃亡 和 Asteroids
Time of Update: 2018-12-03
開始 就是暴力DFS搜尋 沒有什麼剪枝 於是 TLE之後發現 要 奇偶剪枝 http://www.cnblogs.com/zhourongqing/archive/2012/04/28/2475684.html很詳細 即使判斷 遞迴時 是否 那一點與終點最短時間 和 經過時間 之和 被總時間 減去 是否為 偶數 不是偶數 就return 雖然這個不好弄 但還是寫出來了 接下來 WA了 3個小時 懷疑過輸入的問題 。。 各種懷疑。。最終最終 發現時起點
Time of Update: 2018-12-03
題目:感覺有些 , 還要思考的地方 , 留下了 ,以後看。。。。DescriptionN個作業{1,2,………,n}要在由兩台機器M1和M2組成的流水線上完成加工。每個作業加工的順序都是先在M1上加工,然後在M2上加工。M1和M2加工作業i所需的時間分別為ai和bi,1≤i≤n。流水作業高度問題要求確定這n個作業的最優加工順序,使得從第一個作業在機器M1上開始加工,到最後一個作業在機器M2上加工完成所需的時間最少。Input輸入包括若干測試案例,每個用例輸入格式為:第1行 一個整數代表任務數n,
Time of Update: 2018-12-03
首先,這是一篇很好詳細的介紹矩形輪廓周長的文章,思想和求矩形面積並一樣。http://www.cnblogs.com/Booble/archive/2010/10/10/1847163.html以下是求周長摘要:紅邊必然造成投影的變化 綠邊必然在投影上線段的端點處於是 我們將綠邊的長度=統計區間寬*投影連續段數(線段樹連續段數)*2再與紅邊的長度=與上一個區間投影的差求和 即得到當前區間的統計值