2016 11 03解題報告

2021-07-24 08:33:22 字數 1906 閱讀 4200

2016.11.03

解題報告

今天的題幾乎全是多組讀入資料且資料很大的,所以準備好讀入優化(

cin就不一定保險)和

longlong

還是有必要的……養成好習慣,以免出低階

bug

part.1

防線

乍一看似乎是道數論題,然而看到資料範圍——跪了。不過某種意義上這道題確實是資料範圍劇透解法系列……

解題思路

都到2^31-1了,也只能有logn不會超時了,進而想到了二分。那麼問題來了,二分啥?有什麼量是符合二分性質的?題目中說「防線上也最多只有乙個位置有奇數個防具「,所以單數個防具的位置所在的區間防具總數也一定是單數。也就是說,如果乙個區間的防具總數為單數,那麼該區間內一定有解,否則該區間內一定無解。這樣就滿足性質,可以二分了。每次取mid,列舉i(1<=i<=n)累加判斷左半個(或者右半個也無所謂)區間的防具總數,此處用到了公式:區間[l,r]內滿足max(l,s[i])<=s[i]+d[i]<=min(r,e[i])的i的總數為:

if (mid>e[i]) cnt=(e[i]-s[i])/d[i]+1;

else cnt=(mid-s[i])/d[i]+1;

二分結束時判斷左右端點哪個成立即可,若都不成立則無解。

part.2

星象儀(

pla)

一開始確實想到了樹p,然而死於位運算和題目理解……愣是瞅了半個小時才看懂題目樣例是怎麼跑的……

解題思路

先樹型dp跑出根節點第一次輸出1時需要調整的次數,之後每變一次訊號答案就+1(證明:因為跑完樹p後dp[1]得到的是把根節點調成1的最小步數,所以在此之前一定都是0,也就是說無論怎樣一定有一種狀態滿足當前為0、再調一步為1)。至於樹p的跑法,據說是對於兩顆子節點的返回值,」|」門取較小,」&」門求和……

part.3

分形之城(

fra)

(原題是

openjudge

分治裡的

stupidcat&doge)

解題思路

每一級圖都是由上一級經過旋轉對稱得來的,顯然是四塊圖拼起來,按街區編號的順序分成1、2、3、4號子圖,則由觀察得出2、3號子圖和上一級一毛一樣,1號子圖是上一級順時針旋轉90度再重新標號,4號子圖是逆時針轉90度再重新標號。由此我們可以一直遞迴,直到找到第1級圖,返回對應的1、2、3、4號點的座標再進行處理就好了。至於座標關係,最好還是看**分析分析得了…… (

k表示原圖裡第

num號點在子圖中的序號,

1號子圖里就是

num,2號是

num-p

(子圖大小),3號是

num-2p,4

號是num-3p)(

x表示橫座標,

y表示縱座標)

1號子圖第k個點x:n-1級圖第k個點的y;

2號子圖第k個點x:n-1級圖第k個點的x;

3號子圖第k個點x:n-1級圖第k個點的x+子圖邊長;

4號子圖第k個點x:n-1級圖第k個點的y*(-1)+1+原圖邊長;

1號子圖第k個點y:n-1級圖第k個點的x;

2號子圖第k個點x:n-1級圖第k個點的y+子圖邊長;

3號子圖第k個點x:n-1級圖第k個點的y+子圖邊長;

4號子圖第k個點x:n-1級圖第k個點的x*(-1)+1+子圖邊長;

Block Voting 解題報告

這道題做的有點狼狽,效率不高,差一點就tle的ac了。看status裡的,ac的時間大多數都是0ms的。肯定有乙個更有效率的演算法的。下面說下我的狼狽演算法。出處 http acm.jlu.edu.cn joj showproblem.php?pid 1223 問題描述 求每個party的權值。第i...

Safebreaker 解題報告

又是吉林大學一道acm題目,題目很簡單,直接暴力解決。出處 http acm.jlu.edu.cn joj showproblem.php?pid 1718 問題描述 對乙個給定數0000 9999 根據一系列猜測,判斷這個數是否存在,存在的話,是否唯一 例如 3321,給定數 作出猜測,1223 ...

路由 解題報告

路由 問題描述 有乙個tcp ip網路 每台計算機都有乙個或多個網路介面。每個介面根據它的ip位址和子網掩碼來識別 即兩個4位元組的數,兩個字 節之間有乙個 號.子網掩碼有乙個二進位制表示法 有k個 1 然 後是 m 個 0 k m 8 4 32 如 212.220.35.77 是乙個 ip 地 址...