原创 商湯麪試題B

題目:面試官是清華叉院搞過IOI的大佬,一開始理解錯了題意,以爲只要兩兩存在公共點就好了,結果是所有線段的投影都存在一個公共點的意思。這就很簡單了,題目等價於能否找到一條直線通過所有線段,通過平移或旋轉這條直線,是它到達臨界點,這個臨界點

原创 CF 797C

題意:給定字符串str,給定兩種操作,求這兩種操作下能夠得到的字典序最小的字符串。題解:貪心。從小到大挑選,只要s中有,就把多餘的給t,把要挑選的給u。當然再次之前要檢查t的末尾是否小於要挑選的字符,如果是則壓入u。本題其實是隊列和棧的基

原创 CF 777C

題意:給出一個n*m<100000的矩陣,給出k個查詢,每個查詢給出l,r兩個數字,問在l行與r行之間是否存在一列擁有非遞減序。題解:用vector存每個位置的起始位置。用數組存每行的起始位置的最小值。查詢複雜度O(1)。#include

原创 CF 740C

題目:給出序列A,長度n<100000,m個子區間,m<100000,求每個子區間中沒出現的最小整數的最大值。題解:動腦子想想會發現答案就是區間的最小長度。證明:1.每一個區間的mex值不可能大於其區間長度。2.每一個區間的mex值都一定

原创 CF 703C

題意:人從原點沿Y軸移動,凸包沿X軸移動,問人不撞到凸包內併到達對岸的最小時間。題解:以凸包爲參考系,人的移動等價於向右上方移動,如果移動直線與凸包無交點則可直接通過,否則需在第一條相交線段的左下角停留,重複這個過程,將時間累加,即可得到

原创 CF 735C

題目:求個遞推式題解:遞推式爲dp[i]=dp[i-1]+dp[i-2], dp[1]=2, dp[2]=3#include<iostream> using namespace std; long long arr[10100]; i

原创 商湯麪試題C

題目:題解:這題看起來非常眼熟,還是折騰了一段時間,後來想起來應該是哪年的網絡賽裏做過原題。鴿巢原理。距離不超過2*1e5 ,只需要暴力枚舉所有端點即可。複雜度min(N2, M) 點贊 收藏 分享

原创 CF 849C

題目:找出最小合併映射。題解:構造題的Note一般都是坑,跟着他想你就輸了。找規律:a = 0aa = 1aaa = 3aaaa = 10aaaaa = 15a的漏洞用b貼,b的漏洞用c貼,26個字母足夠貼滿了。#include<iost

原创 商湯麪試題A

死命找自己一年以前打ACM時的博客,登不上去了,心塞一地。昨天參加了商湯的面試,就新開個博客,做爲新的人生階段的總結吧,要重新開始刷題了。憑回憶寫題目:N*M的二維數組,只有0、1值,找其中最大的全爲1的矩形面積。題解:當時口胡的n*m*

原创 CF 798C

題目:給定序列,問將其gcd變成非1需要執行最少幾次操作。題目給的操作:將相鄰的a,b 變成 a-b, a+b 。題解:動腦子會發現倆奇數操作之後必然會獲得因子2 。一奇數一偶數兩次操作之後必然會得到因子2 。倆偶數不需要操作就可以得到因

原创 CF 631C

題目:對n<200000的數組,給出m種從1開始到r爲止的升序或降序排序,m<200000,求最終輸出序列題解:1. 不管前面排了多少次小區間,只要在後面排了一次大區間,結果只受最後一次排序影響。所以維護單調隊列。2. 前面是大區間,後面

原创 CF 721C

題目:找到一條加權和少於T的路線,使其經過的點數儘可能多,輸出點的數量,並打印路線。題解:腦抽卡題了。。。這是題圖上dp。注意要點:爲了滿足dp條件,必須拓撲排序。在dp過程中利用prev記錄路徑。dp[i][j],爲了到達i需要經過j個

原创 CF 738D

題目:給出長爲n<2*1e5的數組,給出區間個數a<n,每個區間長度b<n,求用多少個點可以使得至少有一個區間被覆蓋。題解:在每個區間長度的最後一個位置放一個點,直到剩下可放置的區間數量小於b。#include<iostream> #in

原创 CF 731C

題目:輸入長爲n<200000的數組,以及m<200000的操作,每個操作將下標i,j的頂點連邊,每個頂點都有顏色,問需要進行多少次對頂點的染色纔可以讓每條邊的兩頂點顏色相同。題解:構圖,縮點,貪心求每個連通塊最多的顏色數,答案是每個連通

原创 清華北大計算所自動化所計算機夏令營詳細攻略

幾天前確認被北大錄取了,現在正式地回憶一下保研路程。 先說大學的歷程: 我是在大一上的時候知道有保研這件事兒的,所以在大一寒假的時候就開始準備了,不過那時候比較粗淺,說準備其實也就是刷刷加權(奠定保研基礎),做做社團學生會這樣的,並且花了