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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

AtCoder Regular Contest 065

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

AtCoder Regular Contest 065

C - Daydream

Score : 300300300 points

倒著來就行了,正著來會產生歧義匹配,dreamer,dreamdreamer,dreamdreamer,dream產生歧義,倒著來的話是確定的。

代碼

D - Connectivity

Score : 400400400 points

用兩個并查集合并起來兩個圖,讓后開一個mapmapmap,讓mp[p1[i],p2[i]]++mp[{p1[i],p2[i]}]++mp[p1[i],p2[i]]++,最后輸出即可。

代碼

E - Manhattan Compass

Score : 900900900 points 切比雪夫距離 + 二分

題意:

給你nnn個點對,問從aaa出發,每次走aaabbb的曼哈頓距離,問能走到多少個點對。

1≤n≤1e51\le n\le 1e51n1e5

思路:

首先將曼哈頓距離轉換成切比雪夫距離,距離變成max(abs(xa?xb),abs(ya?yb))max(abs(x_a-x_b),abs(y_a-y_b))max(abs(xa??xb?),abs(ya??yb?)),顯然可以排序亂搞。

x,yx,yx,y分兩次考慮,這里只考慮xxx,設a?da-da?d的曼哈頓距離是ddd

xxx從小到大排序,讓后離散化一下,將每個點yyy坐標插到對應的xxx的位置,之后遍歷xxx,找x?dx-dx?d的位置,這個時候已經保證了距離為ddd了,那么我們只需要滿足abs(y?yk)<=dabs(y-y_k)<=dabs(y?yk?)<=d即可,可以在xxx這個位置存的yyy內二分找到位置算貢獻。

但是這樣直接寫遍歷所有位置去重顯然是會超時的,考慮優化一下。

有兩種,思路是一樣的,講一下簡單的。

我們還是找到位置,但是不是在x?dx-dx?d的這個位置找yyy,而是我們將(x,y)(x,y)(x,y)存到一個pairpairpair里面,讓后二分(x?d,y?d),(x?d,y+d)(x-d,y-d),(x-d,y+d)(x?d,y?d),(x?d,y+d)的位置,由于角上的位置會重復,我們算yyy的時候去掉即可。假設二分的位置是(l,r)(l,r)(l,r),那么我們給(l,r)(l,r)(l,r)打一個懶標記,代表將(l,r)(l,r)(l,r)內的點合并起來,合并是為了方便最后求答案,答案一定是與aaa連通的。

這樣就可以了,注意細節即可。

代碼1

代碼2

F - Shuffling

Score : 900900900 points dpdpdp

題意:

給你一個串sss,依次進行mmm次操作,每次可以將[li,ri][l_i,r_i][li?,ri?]區間內的sss隨意排序,問最終能生成多少不同的010101序列,保證詢問的lll升序。

1≤n≤3000,1≤m≤30001\le n\le 3000,1\le m\le 30001n3000,1m3000

這是一個又難又簡單的dpdpdp,考慮到lll升序,我們設dp[i][j]dp[i][j]dp[i][j]表示到了第iii個,前iii個有jjj111,轉移很簡單,就是dp[i][j]+=dp[i?1][j],dp[i][j]+=dp[i?1][j?1]dp[i][j]+=dp[i-1][j],dp[i][j]+=dp[i-1][j-1]dp[i][j]+=dp[i?1][j],dp[i][j]+=dp[i?1][j?1],主要的問題是jjj的范圍。

先考慮這個范圍是否能構成,就是先看成010101可以隨意分配,我們先求一下每個位置被覆蓋的區間最遠能到哪里,設為maxr[i]maxr[i]maxr[i],那么[1,maxr[i]][1,maxr[i]][1,maxr[i]]區間內的010101假設都可以分配給前iii個,這樣能算出來前iii111的個數的上限和下限,讓后直接轉移即可。

雖然某個狀態可能是不存在的,但是不影響答案。

代碼

總結

以上是生活随笔為你收集整理的AtCoder Regular Contest 065的全部內容,希望文章能夠幫你解決所遇到的問題。

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