日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2.16模拟总结

發布時間:2023/12/3 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2.16模拟总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

期望:100+70+0=170
實際:40+0+0=40
rnk14

分全部掛沒了,太行了。
T1不開longlong見祖宗,而且KH說的那個也有道理,帶權之后樹的重心可以不只有兩個,所以最后還應該倍增的跳。(然而這個地方題解似乎都忽略了)
T2線性篩寫掛身敗名裂。
T3根本沒摸,本來還打算至少敲個暴力來著,但被T2心態搞炸了。

題目解析

樹的核心(core)

我、kH、pdf一邊一個做法的一道題。
但是必須承認pdf的做法實現是最簡單的。

我這個題的做法倒是出的很快,差不多8:30就出思路了。
我的做法是找到當前加一的部分的重心,新重心一定在舊重心和原來這個重心的路徑上。
代碼實現的很不好,寫拍調整到十點。

pdf思路:答案的子樹權值大小必然嚴格大于總權值一半,那么在dfs序的線段樹上按照點權二分,找到權值中點對應的結點,其必然在答案的子樹內,也就是說,答案必然在該結點的返祖鏈上。
往上倍增的找即可。

隨機填數(random)

寫完T1看這題。
是我之前做過的一道CF的多測板。
按照CF的做法有70。
一方面給了我方便,也某種程度上限制了我的思維罷。
但這題我也確實做不出來,需要的那個技巧根本就不在我腦子的“寄存器”里,估計很難訪問到了。

一個重要結論:
E(x)=∑i=1P(x≥i)E(x)=\sum_{i=1}P(x\ge i)E(x)=i=1?P(xi)
較為顯然,之前也見到過,但沒有特別上心。
然而,本題后面這個概率卻能很方便的求出。
首先分母很好辦,就是 mi?1m^{i-1}mi?1。x≥ix\ge ixi 也就等價于 [1,i?1][1,i-1][1,i?1] 的序列的 gcd?\gcdgcd 大于1(只考慮 i>1i>1i>1)。那么我們考慮補集,也就是 gcd?=1\gcd=1gcd=1 的序列有多少個:
∑a1...i?1[(a1,a2,...,ai?1)=1]\sum_{a_{1...i-1}}[(a_1,a_2,...,a_{i-1})=1]a1...i?1??[(a1?,a2?,...,ai?1?)=1]
=∑a1...i?1∑d∣(a1,a2,...,ai?1)μ(d)=\sum_{a_{1...i-1}}\sum_{d|(a_1,a_2,...,a_{i-1})}\mu(d)=a1...i?1??d(a1?,a2?,...,ai?1?)?μ(d)
=∑d=1mμ(d)?md?i?1=\sum_{d=1}^m\mu(d)\lfloor\frac m d \rfloor^{i-1}=d=1m?μ(d)?dm??i?1
那么我們其實就是求:
∑i=2∞P(x≥i)+1\sum_{i=2}^{\infty}P(x\ge i)+1i=2?P(xi)+1
=∑i=2∞mi?1?∑d=1mμ(d)?md?i?1mi?1+1=\sum_{i=2}^{\infty}\frac{m^{i-1}-\sum_{d=1}^m\mu(d)\lfloor\frac m d \rfloor^{i-1}}{m^{i-1}}+1=i=2?mi?1mi?1?d=1m?μ(d)?dm??i?1?+1
=∑i=1∞mi?∑d=1mμ(d)?md?imi+1=\sum_{i=1}^{\infty}\frac{m^i-\sum_{d=1}^m\mu(d)\lfloor\frac m d \rfloor^{i}}{m^i}+1=i=1?mimi?d=1m?μ(d)?dm??i?+1
=1?∑i=1∞∑d=2mμ(d)?md?imi=1-\sum_{i=1}^{\infty}\frac{\sum_{d=2}^m\mu(d)\lfloor\frac m d \rfloor^{i}}{m^i}=1?i=1?mid=2m?μ(d)?dm??i?
=1?∑d=1mμ(d)∑i=1∞?md?imi=1-\sum_{d=1}^m\mu(d)\sum_{i=1}^{\infty}\frac{\lfloor\frac m d \rfloor^{i}}{m^i}=1?d=1m?μ(d)i=1?mi?dm??i?
=1?∑d=1mμ(d)?md?m??md?=1-\sum_{d=1}^m\mu(d)\frac{\lfloor\frac m d \rfloor}{m-\lfloor\frac m d \rfloor}=1?d=1m?μ(d)m??dm???dm???
預處理 μ\muμ 的前綴和,整除分塊即可做到單次 O(n)O(\sqrt n)O(n?)。

等權劃分(value)

由于本次考試上來就對T1有了思路,調完T1又一直在T2掙扎,所以這個題幾乎沒有摸。
因而談不太上考場感受,但是看題解感覺我應該是做不出來的。
三個關鍵點,我的評價分別是:很難想到,很難想到,很難想到。
畢竟做題可是且運算,卡一個地方這題就沒了。
由于字典序優秀的貪心性質,我們可以每次都盡可能的嘗試填A,然后判斷接下來的局面是否有解。
那么問題就轉化為了對于一個局面,如何快速判斷有無解。

關鍵性質:如果一個局面有解,那么必然可以構造一種合法方案,使得一個序列中的合法點都是完整原序列的前綴最大值(其必然也所在序列的合法點,以下簡稱必大點)。

證明:如果一個序列存在非必大點的合法點,那么其前方第一個必大點必然在另一個序列里。那么若兩個序列都存在非必大點的合法點,令兩個對應的必大點互換位置,即可保證合法點數都減一的同時,使非必大點個消失一個。不斷如此操作,至少有一個序列的合法點全是必大點。
(個人感覺證明倒不是特別難,但真的很難獨立猜出這種鬼馬結論并認為它有用…)

我們強制令一個序列全是必大點(注意這個序列即可以是A,也可以是B,下面假設其為B)。若后邊還有 ccc 個必大點,A選的合法點中必大點和非必大點分別有 p,qp,qp,q 個,A、B當前選的合法點有 fa,fbfa,fbfa,fb 個,那么就有:
fa+p+q=fb+c?pfa+p+q=fb+c-pfa+p+q=fb+c?p
整理得:
2p+q=fb?fa+c2p+q=fb-fa+c2p+q=fb?fa+c
其中右邊的東西對于某個確定局面為定值,設其為 www。令A序列選取必大點為合法點的價值為2,非必大點的價值是1,那么就要求存在一種選點方案使得總權值為 www。

結論:對于一個殘局,一個子序列S可以成為A的合法點序列的充要條件是其遞增。并且可以使B序列只選取該子序列外的必大點作為合法點。

(這個pdf沒有細講,但我覺得還是需要講一下的)
證明:前綴最大值必然遞增,必要性顯然。充分性嘗試構造性證明:對于一個遞增子序列S,從前往后考慮每個元素劃分到哪里。對于一個屬于S的元素,直接給A,否則,若是必大點,直接給B,否則,其前面必然存在比它大的元素x,把當前元素劃分到x所在的序列即可。

又注意到,由于元素只有1或2,那么如果權值x是合法的,那么x-2必然也是合法的。所以我們只需要對奇權值和偶權值分別從后往前做一遍帶權LIS并互相轉移,每次在 www 奇偶性對應的線段樹上查詢是否不小于 www 即可。

總結

以上是生活随笔為你收集整理的2.16模拟总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。