考試反思 0928csp s模擬測試54 轉瞬

2022-02-18 15:02:53 字數 1917 閱讀 9618

咕了好久,也沒什麼想說的。

下一場就又**了。。。

t3特判打丟一句話丟了14分,剩下其實都還好。

t1:x

給我的第一感覺是建圖找聯通塊,但既然只要找聯通塊為什麼不直接並查集呢?

對於每乙個數字合併它的所有因子,求出現過的因子形成幾個聯通塊,特殊處理1。

二營長比我快了整整5分鐘做出來的。

1 #include2 #include3

using

namespace

std;

4#define mod 1000000007

5#define int long long

6 vectorv[1000005];7

int x[100005],al[1000005],f[1000005],prime[1000005],cnt_prime;bool not_prime[1000005];8

int pow(int b,int t,int a=1)

9int find(int k)

10main()

16while(t--)

19for(int i=1;i<=cnt_prime;++i)f[prime[i]]=prime[i],al[prime[i]]=0;20

for(int i=1;i<=n;++i)if(x[i]!=1)for(int j=1;jj)

21 f[find(v[x[i]][j])]=find(v[x[i]][0]),al[v[x[i]][j]]=1;//

,printf("%lld %lld\n",v[x[i]][0],v[x[i]][j]);

22for(int i=1;i<=n;++i)if(x[i]!=1)al[v[x[i]][0]]=1;23

for(int i=1;i<=cnt_prime;++i)if(al[prime[i]])if(al[find(prime[i])]!=2

)24 al[find(prime[i])]=2,cnt1++;

25 printf("

%lld\n

",(pow(2,cnt1)-2+mod)%mod);26}

27 }

view code

思路積累:

t2:y

莫名想到了雙向搜尋,因為20的範圍會很卡但是折半之後就很好,然後就好做了。

可以發現我們要求的路徑不限制終點。

那麼分別處理以1為起點所能形成的長度為d/2的路徑集合和以任意點為起點的路徑集合。

然後把兩種路徑的終點接起來就形成了長度為d的路徑。

比臉快23s搶到迷之首殺。

1 #include2

int can[11][99][1028],n,fir[99],l[20000],to[20000],v[20000],cnt,m,d,rev[1028],ans,can2[11][99][1028],al[1048577];3

void link(int a,int b,int v)

4int

main()

view code

思路積累:

t3:z

31分給暴力了。

+14分單調:只要處理第乙個和最後乙個就行。x[2]=x[n],n=2;然而考場上沒寫n=2,t掉了。。。

+20分曲折:二分最早的不能覆蓋的段然後就是一次函式。

100分:大模擬。考場上有鍊錶+堆的思路。感覺很不好打就沒有打。

事實上的確很不好打,現在還沒有a。

思路和下發的std不太一樣。

考試反思 1114csp s模擬測試115 零遲

最後一次了,允許自己混進榜裡吧。沒有心態,原題不會做 真的忘了 t2的搜尋沒有分。零 遲 酷刑 只有在最後的時刻才開始意識到,一切的一切都已經晚了。就在眼前了。沒有機會了。退役,告別oi,粉碎夢想,這,就是最嚴苛的酷刑。生存,生存!hzoi2018!所有人!一年走來,我們還要繼續走下去!csp s,...

考試反思 1112csp s模擬測試111 二重

還是ak場。考前信心賽?而且t3的部分分還放反了所有80的都其實只有50。總算在ak場真正ak了一次。手感好,整場考試很順利。要不是因為t3是原題可能就沒這麼好看了。20mint1,50mint2,去趟廁所回來70min想到t3,110min寫完調完對拍完,然後去學skyh寫平衡樹了。然後我發現我不...

考試反思 1110csp s模擬測試108 消遣

是套廢題。t1題面錯了,t2細節多而暴力 部分分,t3題目錯了。t1 打表 題面應該是輸出差值期望而不是答案值期望。看到題目,果斷打表。答案就是所有值差之和除2的k次方。1 include2 int k,a 333333 long long ans 3int main view code t2 蛇 ...