原创 醜數||(指針)

尋找第n個醜數(n<=1690n<=1690n<=1690) class Solution { public: int p[2010]; int nthUglyNumber(int n) { p[1

原创 顛倒二進制位(位運算)

題目:顛倒給定的 32 位無符號整數的二進制位。 代碼 class Solution { public: uint32_t reverseBits(uint32_t n) { n = (n >> 16) |

原创 存在重複元素 III(桶排)

題目 給定一個整數數組,判斷數組中是否有兩個不同的索引 iii 和 jjj,使得 nums[i]nums [i]nums[i] 和 nums[j]nums[j]nums[j] 的差的絕對值最大爲ttt,並且iii和 jjj之間的差

原创 求衆數II(思維/摩爾投票法)

題目 此題和多數元素一樣的思想。多了個判斷的過程,需要循環2遍。後邊發現原來這類題有個算法名稱的。 class Solution { public: vector<int> majorityElement(vector<i

原创 完全二叉樹的節點個數(二分套二分)

題目 參考 二分最後一層,每次chek用二分對應節點有沒存在。 /** * Definition for a binary tree node. * struct TreeNode { * int val; *

原创 Yet Another Yet Another Task(簡單dp)

題目 題意:給定一組數,選一段連續的區間和減去區間最大值,要求該值最大。1<=n<=1e5,−30<=ai<=301<=n<=1e5,-30<=a_i<=301<=n<=1e5,−30<=ai​<=30 思路:枚舉最大值,然後用最

原创 最短迴文串(KMP)

題目 給定一個字符串 s,你可以通過在字符串前面添加字符將其轉換爲迴文串。找到並返回可以用這種方式轉換的最短迴文串。 思路:關鍵在於找串s的最長迴文前綴串,可以構造其反串rev,長串s2=s+#+revs2 = s+\#+revs

原创 go sync.Map源碼解讀

參考 package sync import ( "sync/atomic" "unsafe" ) // Map比起普通的map,是併發安全的; // Map針對2種情況做了優化:1)多讀少寫;2)多協程讀、寫,覆蓋不同的

原创 Phoenix and Berries(2400/dp)

題目 參考 題意:給定nnn棵樹,每棵樹有aia_iai​個紅果子,bib_ibi​個藍果子,給定籃子大小爲kkk,同一棵樹的果子,或者同種顏色的果子,可以放在同一籃子。問最多可以裝滿多少大小爲kkk的籃子。1<=n,k<=500

原创 Phoenix and Science(1900/貪心構造/思維)

題目 題意:給定數n,和一個初始mass爲1的細胞,細胞每天可以選擇分裂爲mass相等的2個細胞(如1分爲2個0.5),且每晚所有的細胞mass都會加1。現在問最少需要多少晚,使得細胞mass和爲n。並輸出分裂方案,即每天選擇分裂

原创 Placing Rooks(2300/容斥/組合)

題目 官方&代碼 題意:給定n∗nn*nn∗n棋盤,放置nnn個騎士,要求:1、每個空位置都要與至少一位騎士同一行或同一列。2、剛好有kkk對騎士產生行或列的碰撞。一個騎士,可以通過走他所在行,或者所在列,走到另一個騎士,中間無其

原创 Java jdk-14.0.1環境變量配置

參考 官網下載jdk-14.0.1,按照提示安裝jdk。接着添加環境變量:JAVA_HOME、CLASSPATH、PATH。 JAVA_HOME:添加的是jdk安裝路徑 C:\Program Files\Java\jdk-14.

原创 在ubuntun虛擬機裏安裝go語言編程環境

參考 下載安裝包 sudo curl -O https://golang.org/doc/install?download=go1.14.2.linux-amd64.tar.gz 解壓 sudo tar -xvf go1.9

原创 2020“遠光杯”網絡資格賽F 序列計數(lucas/數位dp)

題目 題解&代碼來源標程 #include<bits/stdc++.h> using namespace std; const int MOD = 1e9+7; const int prime = 13; int n; int d

原创 Multiple Testcases(1900/前綴和/貪心/桶/sort)

題目 題意:給定nnn個數mim_imi​,每個數大小不超過kkk,要求將這nnn個數組合成若干集合,要求每個集合中,大於等於iii的數不超過cic_ici​個,求集合的最小數,並給出任意方案。 題解:要使集合最小,可以貪心的均攤