實況
一開始非常居然想dp(反動思想),然後隊友說拍個序就好了.
題解從小到大排序,貪心選小的,直到不能選為止.
實況一開始輸出6位小數,居然wa了,非要輸出4位才行.
題解如果終點在直線x=rx-r的左邊,那就從底部一直走到(rx-r,ry).然後走直線直接去終點.
如果終點在直線x=rx-r的右邊,那就從底部一直走到(rx+r,ry).然後走直線直接去終點.
如果終點在以上兩個直線的中間,那就找到終點和圓的切線,從底部走到切點,然後走直線去終點.
距離是\[d = \sqrt\\
實況我把給的點簡化成了若干個pair,隊友寫了乙個dp.
因為存pair的vector沒有清空,re一發.
題解先把數字/100,方便使用.
把互相關聯的數字連線起來,然後塗色,每個聯通塊可以得到兩個數字,
分別代表這個聯通塊的第乙個點給a時,a獲得的值和b獲得的值.
如果有cnt個聯通塊,我們就有cnt對這樣的數字(自由的數字就是).
然後dp
dp[i][j]
表示只考慮前i
對數字,是否可以形成差是j的分配方案
一開始dp[1...cnt][-1e6..1e6]
都賦值成0;
dp[0][0]
賦值成1,表示不考慮任何數字時,可以使差是0.
然後對於每一對數字for i = 0 to cnt
對於每一種差for j = -1e6 to 1e6
如果考慮前i對數字時,可以使差是j,即f[i][j] == 1
那麼如果把這一對數字的前乙個分配給a,差就會變成j+i.first-i.second
,所以f[i+1][j+i.first-i.second]=1
,
那麼如果把這一對數字的前乙個分配給b,差就會變成j-i.first+i.second
,所以f[i+1][j-i.first+i.second]=1
,
找到最小的差,較大的乙個的數值是(所有數字的和-差)/2+差
實況蛐蛐樹剖,我起了,一槍秒了
題解樹鏈剖分,用一顆線段樹來存鏈上的數字.
線段樹的每個節點是乙個32的陣列,陣列的值val[rt][i]
代表:
在這個節點代表的區間裡,有多少個數字x
符合x&(1第三種操作,我們求乙個陣列tmp[1..32]
,其中tmp[i]
為他給的區間的所有節點的val[rt][i]
的和.
然後根據nim博弈,遍歷每一位for i = 0 to 30
,
int p = (t&(1如果某一位tmp[i] + p
不是偶數,那麼輸出yes.
否則輸出no.
實況只會求一條直鏈的,
然後就開始瞎想:啟發式合併?樹剖?點剖???
和ac的距離
完全忘了樹上dp....
題解以1為根
對於一條路徑(u,v),如果他的異或和是0, 那麼他的貢獻應該是u那一端的節點數量*v那一端的節點數量.
先第乙個dfs,算出每乙個點的:
siz[u]
,代表u的子樹大小;
sum[u]
,代表每乙個點到根節點的路徑和異或和.
如下
void dfs1(ll u)
}
第二個dfs,統計答案
可以知道如果兩個節點u和v滿足sum[u] == sum[v]
,那麼他們之間的路徑異或和是0;
那麼他的貢獻應該是u那一端的節點數量*v那一端的節點數量.
用乙個map[x,y],y表示當前已經經過的節點裡面,每乙個符合sum[v]==x
的節點v的另一端的節點數量的和.
所以每當遍歷到乙個結點map[sum[u]]
就表示所有v那一端的節點數量的和.ans += map[sum[u]]*siz[u]
如下
void dfs2(int u)
m[sum[u]] = (m[sum[u]] + siz[u]) % mod;
}
實況
通過一種神秘力量(打表),發現了規律
題解輪流執行操作一和操作二就可以產生所有結果,
然後看數量找規律
if n==1 : 1
else if n==2 : 2
else if n==3 : 6
else if (n-1)%4 == 0 : n*2
else if (n%2) != 0 : 12
else if n%4 == 0 : 4
else if n%2 == 0 : n
實況dijkstra,上來就wa一發,回頭一看輸入:額,c是幹什麼的
題解就是dijkstra,要注意這裡dis[x]
要存兩個數字,lv和剩餘次數.
lv小的更優,如果lv相同,剩餘次數多的更優.
每次找下一步要注意公升級和減少剩餘次數.
2019西安邀請賽總結
打鐵了 上來a題我寫的時候過於緊張 以至於慢了好幾分鐘 然後開m 我覺得m就是二分加判斷 出賽場之後一交流確實沒錯,但是我判斷寫的dijistra也不知道 寫錯了 隊友一直在開l zc推錯了規律 最後cly重新按照題目寫了好幾個樣例最後a掉,其實就應該用雜湊儲存集合狀態然後打個表就可以,其實規律題也...
2023年西安邀請賽
這是我到大學來第一次去校外參加比賽,還是蠻興奮的。路上火車轉地鐵,地鐵轉大巴,暈暈暈。到了西北工業大學後,先領服裝 隊員牌,然後照相。在大廳裡,能看到很多人,穿著一樣的橙色的衣服,當時就感覺acm這條道路上是不缺同道人的,熱身賽以及正式賽的時候這種感覺更加強烈。領完東西後就回酒店了,午飯是在西工大食...
2019西安邀請賽心得
emmmm.第一次參加icpc比賽,成功打鐵qaq。太多遺憾了。西安離得近,我們5月17上午坐高鐵3小時到達西安北,然後找地方吃午飯,去小寨找了好久,最後終於選擇了一家烤肉店,本打算下午能逛逛西安,但吃完午飯之後已經5點了,我們只去了附近的大雁塔看了一眼就坐地鐵去了韋曲南站 有個隊隊名叫韋曲南讓人委...