B. Hamster Farmtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputD
找多少個圈,我記得小學找規律的題目B. A Prosperous Lottime limit per test1 secondmemory limit per test256 megabytesinputstandard inputou
噁心........ 知道怎麼做就是時間沒算出來,你說尷不尷尬從國外友人哪裏學到 時間打法 循環餘 改變時間 看代碼簡單易懂版本C. Convenient For Everybodytime limit per test2 seconds
A. Love Triangletime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputA
題目鏈接 類似的題 狀壓dp 這兩道題都是一樣的套路,通過狀壓dp將 n!優化到 2^n,相信你寫了上面那題,這題就很容易切掉了 #include<bits/stdc++.h> using namespace std; typedef
題目鏈接 這題真沒想到狀壓dp可以寫,看了別人代碼纔看會的。 題意:給你一個只包含前20個英文字母的串。你可以執行一次操作,將這個串的任意子串翻轉一次。讓你求一個最長的沒有重複字母的字串。 題解:首先看到只有二十個英文字母,無腦上狀壓dp
題目鏈接 這題賽後看了一下,挺水的,十分鐘出思路。然後自己傻逼了,竟然套了一個線段樹去寫,強行提高時間複雜度,其實差分一下就好了。 題意: 定義這樣一個排列 pi(n),表示將1 ~ n 這個排列的 第 i 個元素放到序列最前面,形成一個
題目鏈接 題意:給你一個n * n 矩形,每個格子可以填一個小於等於k的數,要求每一行每一列都至少有一個1,求方案數。 題解:這題難點在於怎麼設狀態轉移方程,以及怎麼轉移,總之就是很難qwq 設dp[i][j] 表示在第i行,有j列已經有
題目鏈接 題目大意:有一個長度爲n的隱藏數組a,其中元素兩兩不同。你有一臺機器可以最多詢問n次,每次可以向這個機器輸入k個數,這些數是下標(範圍1到n)。而機器會返回這些數中第m大的數的值,以及他的下標。已知k,求m。 題解:其實解法在樣
題目鏈接 題意:給一個01矩陣,求從(1,1)到(n,m)每條路都能組成迴文串,最少修改幾次。 思路:我們可以發現從(1,1)走向(i,j)所走的步數是i+j-2,那麼我們記錄一下走相同步同時爲0或1的個數。我們找到對稱的步數,然
題目鏈接 思路:通過排列組合找到最小的序列 #include <cstdio> #include <cstring> #include <algorithm> #include <set> #include<iostream> #
題目鏈接 思路:根據題目描述,每個炮彈存在的位置必須建立在上一個基礎上(n行或者n列除外)炮彈存在的基礎是他的右邊和下面二者必須有一個存在。 #include <cstdio> #include <cstring> #includ
題意:給你一個n讓你在座標上畫圖,畫一個連通圖,他們的沒個格子與相鄰格子都是偶數,有n個格子是上下左右都有相鄰格子。 思路:按題意去畫,圖畫出來就好了。 這裏畫的是n=3的情況 #include <cstdio> #include
題目鏈接 題意:給你一串01串,每個1之間要至少相隔K個單位,問你最多能插入幾個1。 思路:分成三段1.從頭到第一個1出現,2.從結尾到最後一個1出現,3.中間部分,其中1,2兩種情況都是可以插入dis(1出現的位置)/(k+1)
題目鏈接 題意:給你一個數組可以執行兩種操作吧一個元素放到數組的最開頭或者最末尾,問最少多少次操作可以讓他升序。 思路:我們看排好後的序列的子串在原始數組出現的最長長度就是他不用變的長度,答案就是n減去他。 #include <c