[做題計劃1~10] 雜題亂選

来源:https://www.cnblogs.com/FJOI123/archive/2023/01/08/17034743.html
-Advertisement-
Play Games

前言 DNS協議作為著互聯網客戶端-伺服器通信模式得第一關,在當下每天都有成千上億上網記錄產生得當今社會,其重要性自然不可言喻。在國內比較有名得DNS伺服器有電信得114.114.114.114、阿裡雲得223.5.5.5,DNSPod得119.29.29.29,配置一個好的DNS伺服器可以縮短請求 ...


$\text{Case0}$:

[是否自主完成][題目難度]
時間:
完成細節。

$\color{red}\text{Case1}$: $\color{purple}\text{P1117 [NOI2016] 優秀的拆分}$

2022.12.1 killed[不會,但大概懂了]
技巧:二分,hash
TIP:用 $\color{green}\text{hash}$ 作為變數名會CE

$\color{red}\text{Case2}$: $\color{blue}\text{P2464 [SDOI2008] 鬱悶的小 J}$

2022.12.6
對每種書開一棵平衡樹。用 $\color{green}\text{hash}$ 或 $\color{green}
\text{map}$ 離散化
16:52->40pts

2022.12.7 21:27
讀入問題,把讀入的int型變數定義成了 $\color{green}\text{char}$。關鍵用的時候 $\color{green}\text{char}$ 又變回了 $\color{green}\text{int}$,在不炸 $\color{green}\text{愛斯科碼}$ 時是不會有問題的。$\color{green}\text{6}$。

$\color{red}\text{Case3}$: $\color{blue}\text{CF1600E}$

2022.12.8 15:09
設計了DP狀態,$f(L,R,lim)$ 表示這個序列左右兩邊能否選,價值即為其是否能達到取奇數個。
空間是 $n^2$ ,所以用的搜索, $\color{red}\text{TLE On test #48/50}$。
然後嘗試用 $\color{green}\text{map}$ 記憶化, $\color{red}\text{TLE On test #32/50}$。
或許 $\color{green}\text{hash}$ 還會再快一點,但我不想試了。

2022.12.8 15:24
原來是結論題,具體可以看題解。
發現只有50個點,或許我原來的方法其實可以卡過去?

$\color{red}\text{Case4}$: $\color{blue}\text{CF1600F}$

2022.12.8 15:48 $\color{green}\text{拉姆齊定理}$

2022.12.8 16:06
根據$\color{green}\text{拉姆齊定理}$,每48人中必定有5個人互相認識或不認識。直接暴力即可。
比較神奇的是 $2\times 48^5$ 會 $\color{red}\text{TLE On test #27/30}$ ,還得小優化一下(指每次遞增地搜索,複雜度 $2\times 48!\div(48-5)!$ ),然後就快的飛起 $\color{green}\text{AC In 140ms/1000ms}$。
這種搜索小習慣還是要養成。

$\color{green}\text{Case5}$: $\color{orange}\text{CF1601A}$

2022.12.8 20:38
對每個二進位進行單獨處理,統計出每一位有幾個,看看這一位是不是答案的倍數,
複雜度 $30\times n$ ,$\color{green}\text{AC In 139ms/2000ms}$

$\color{green}\text{Case6}$: $\color{purple}\text{CF1601D}$

2022.12.8 21:51
貪心+ $\color{green}\text{DP}$
思路目前是按一定順序 對登山者進行排序,然後 $\color{green}\text{DP}$ 設計 $dp[\text{max}(q[i].a,q[i].s)][i]=\text{max}(dp[\text{max}(q[i].a,q[i].s)][i],dp[j][i-1]+1),(j\le q[i].s)$
然後想到線段樹優化。結果打掛了。下次調吧。$\color{red}\text{WA On test #2/60}$

2022.12.9 21:14
線段樹有時候最小值是 $\color{green}\text{負無窮}$,但我的程式詢問還是建樹時有些地方都用的 $\text{0}$ 為初始值。$\color{red}\text{WA On test #4/60}$。

2022.12.9 21:22

bool cmp1(node A,node B){return A.s*A.a<B.s*B.a;}

乍一看,這隻是一份人畜無害的排序代碼,但是乘法在離散化之後還會炸 $\color{green}\text{int}$,好,又忘記開 $\color{green}\text{long long}$ 了。
改完之後 $\color{red}\text{TLE On test #8/60}$

2022.12.9 21:51
懷疑 $\color{green}\text{map}$ 慢了,自己打個 $\color{green}\text{hash}$ 離散化。不出意外,穩定發揮,鏈式前向星掛了。
$\color{green}\text{AC In 1860ms/2000ms}$

$\color{green}\text{Case7}$: $\color{purple}\text{P5782}$

2022.12.11 15:05
2-SAT模板題。$\color{red}\text{WA 35pts}$。

2022.12.11 16:13

W CODE

else if(bk[u])low[u]=min(low[u],dfn[v]);

C CODE

else if(bk[v])low[u]=min(low[u],dfn[v]);

$\color{grey}\text{Case2.5}$: $\color{purple}\text{P1224}$

2022.12.13 15:26
嘗試暴力 $O(n^2d)$ 。$\color{red}\text{TLE 75pts}$。
嘗試隨機化。 $\color{red}\text{RE}$。

發現問題:
$\color{blue}\text{#1}$

Wcode
printf("%d %d\n",min(sui[i],sui[j]),max(sui[i],sui[j]));
Ccode
printf("%lld %lld\n",min(sui[i],sui[j]),max(sui[i],sui[j]));

$\color{blue}\text{#2}$

Wcode
for(int i=1;i<=1000;i++)swap(sui[rand()],sui[rand()]);
Ccode
for(int i=1;i<=1000;i++)swap(sui[rand()%n+1],sui[rand()%n+1]);

修改問題後:$\color{red}\text{TLE 75pts}$。(在某些點上速度快了很多,多過一個點,少過一個點)

隨機化+大數據擺爛(輸出"-1")。$\color{red}\text{TLE+WA 70pts}$。

G!

突然發現 $k$ 的範圍只有 $\text{2}$ 和 $\text{3}$。
2022.12.15
不會。

$\color{green}\text{Case8}$: $\color{blue}\text{P2738 [USACO4.1]籬笆迴路Fence Loops}$

2023.1.8 15:31
這題主要煩在建圖。
我們發現每個籬笆都有左右兩個端點,但是有些籬笆共用端點,而共用的端點只能算一個。我們發現共用的端點所連接的籬笆編號完全一致,所以可以利用集合的互異性,用 bitset 表示每個點連接的籬笆,共用的點會自動去重。

然後就是找無向圖中的最小環。 這裡用的是 $\text{Floyd}$ 。
但我也有自己的想法:枚舉每條邊,求包括這條邊的最小環,那麼只需要割斷這條
邊,求兩個端點的最小距離,再加上這條邊的長度即可。

$\color{grey}\text{Case9}$: $\color{purple}\text{CF1601E}$

$\color{red}\text{Case10}$: $\color{green}\text{P1613}$

2022.12.5
$\color{green}\text{AC}$。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1.已知點的坐標(x, y),判斷其所在的象限。 x = int(input("請輸入x的坐標:")) y = int(input("請輸入y的坐標:")) if x > 0 and y > 0 : print("第一象限") elif x < 0 <= y : print("第二象限") elif ...
  • 筆記目錄:(https://www.cnblogs.com/wenjie2000/p/16378441.html) 參考視頻:黑馬程式員新版JavaWeb基礎教程,Java web從入門到企業實戰完整版 註意:javaWeb部分包含了前端和後端,學習java的人大多都是從事後端。但是為了更好的理解前 ...
  • 環境:Vmware+Ubuntu20.04 1. Tinyweb server項目地址:https://github.com/qinguoyi/TinyWebServer 2. 首先進行mysql5.7的安裝: 參考教程 : Ubuntu20.04安裝MySQL5.7-實測3種方法(保姆級教程):h ...
  • C 是編譯型語言。為了讓讀者對編程有大概的瞭解,博主把編寫 C 程式的過程分解成 7 個步驟(見下圖)。註意,這是理想狀態。在實際的使用過程中,尤其是在較大型的項目中,可能要做一些重覆的工作,根據下一個步驟的情況來調整或改進上一個步驟。 ...
  • 2023-01-08 一、在IDEA中創建Maven工程之HelloWord (1)新建一個Maven工程 最後點擊“finish”,完成項目創建 (2)在創建的項目下,選中“maven_demo”,右擊新建“Module”,選中“Maven”,點擊“next”,之後設置模塊名 之後點擊“finis ...
  • 1.拷貝 拷貝實際上其實就是在賦值,比如我們有一個列表L1,定義另一個列表L2引用列表L1,實際上就是在拷貝列表L1的值,由於由於L1列表是可變的數據類型,所以當L1的值變的時候,L2的值也是在跟著變的.那其實就算L1內的是不可變的數據類型,L1的內容變化,L2的內容也一樣會隨之變化的 # # 拷貝 ...
  • 字元串 一、使用方法修改字元串大小寫 1. 方法:變數.tittle():首字母大學顯示字元串中的每個英文單詞 2. 方法:變數.upper():字元串全改為大寫 3. 方法:變數.lower():將字元串全改為小寫 二、合併(拼接)字元串 三、使用製表位或換行來添加空白 製表位:\t 換行符:\n ...
  • 馬上就要過年了,聽說還有人買不到票? 不要慌,今天咱們來用Python做一個自動查票搶票的腳本,24小時搶票,誰搶的過你! 準備工作 環境 Python 3.8 Pycharm 插件 谷歌瀏覽器驅動 模塊 需要安裝的第三方模塊,直接pip安裝即可。 requests # 數據請求模塊 prettyt ...
一周排行
    -Advertisement-
    Play Games
  • Timer是什麼 Timer 是一種用於創建定期粒度行為的機制。 與標準的 .NET System.Threading.Timer 類相似,Orleans 的 Timer 允許在一段時間後執行特定的操作,或者在特定的時間間隔內重覆執行操作。 它在分散式系統中具有重要作用,特別是在處理需要周期性執行的 ...
  • 前言 相信很多做WPF開發的小伙伴都遇到過表格類的需求,雖然現有的Grid控制項也能實現,但是使用起來的體驗感並不好,比如要實現一個Excel中的表格效果,估計你能想到的第一個方法就是套Border控制項,用這種方法你需要控制每個Border的邊框,並且在一堆Bordr中找到Grid.Row,Grid. ...
  • .NET C#程式啟動閃退,目錄導致的問題 這是第2次踩這個坑了,很小的編程細節,容易忽略,所以寫個博客,分享給大家。 1.第一次坑:是windows 系統把程式運行成服務,找不到配置文件,原因是以服務運行它的工作目錄是在C:\Windows\System32 2.本次坑:WPF桌面程式通過註冊表設 ...
  • 在分散式系統中,數據的持久化是至關重要的一環。 Orleans 7 引入了強大的持久化功能,使得在分散式環境下管理數據變得更加輕鬆和可靠。 本文將介紹什麼是 Orleans 7 的持久化,如何設置它以及相應的代碼示例。 什麼是 Orleans 7 的持久化? Orleans 7 的持久化是指將 Or ...
  • 前言 .NET Feature Management 是一個用於管理應用程式功能的庫,它可以幫助開發人員在應用程式中輕鬆地添加、移除和管理功能。使用 Feature Management,開發人員可以根據不同用戶、環境或其他條件來動態地控制應用程式中的功能。這使得開發人員可以更靈活地管理應用程式的功 ...
  • 在 WPF 應用程式中,拖放操作是實現用戶交互的重要組成部分。通過拖放操作,用戶可以輕鬆地將數據從一個位置移動到另一個位置,或者將控制項從一個容器移動到另一個容器。然而,WPF 中預設的拖放操作可能並不是那麼好用。為瞭解決這個問題,我們可以自定義一個 Panel 來實現更簡單的拖拽操作。 自定義 Pa ...
  • 在實際使用中,由於涉及到不同編程語言之間互相調用,導致C++ 中的OpenCV與C#中的OpenCvSharp 圖像數據在不同編程語言之間難以有效傳遞。在本文中我們將結合OpenCvSharp源碼實現原理,探究兩種數據之間的通信方式。 ...
  • 一、前言 這是一篇搭建許可權管理系統的系列文章。 隨著網路的發展,信息安全對應任何企業來說都越發的重要,而本系列文章將和大家一起一步一步搭建一個全新的許可權管理系統。 說明:由於搭建一個全新的項目過於繁瑣,所有作者將挑選核心代碼和核心思路進行分享。 二、技術選擇 三、開始設計 1、自主搭建vue前端和. ...
  • Csharper中的表達式樹 這節課來瞭解一下表示式樹是什麼? 在C#中,表達式樹是一種數據結構,它可以表示一些代碼塊,如Lambda表達式或查詢表達式。表達式樹使你能夠查看和操作數據,就像你可以查看和操作代碼一樣。它們通常用於創建動態查詢和解析表達式。 一、認識表達式樹 為什麼要這樣說?它和委托有 ...
  • 在使用Django等框架來操作MySQL時,實際上底層還是通過Python來操作的,首先需要安裝一個驅動程式,在Python3中,驅動程式有多種選擇,比如有pymysql以及mysqlclient等。使用pip命令安裝mysqlclient失敗應如何解決? 安裝的python版本說明 機器同時安裝了 ...